Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
stolee
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
19 ms
·
1.
▲
Communicating in Pull Requests
(stolee.dev)
3 points
by
stolee
9mo ago
|
0 comments
2.
▲
by
stolee
4y ago
Not deprecated. You can still use it. You need to manually opt-in using `git config core.sparseCheckoutCone false` since the default has switched.
3.
▲
by
stolee
4y ago
If you are curious, then you can find the discussion starting at v2 here: https://lore.kernel.org/git/20220330190956.21447-1-garrit@sl... This is a first time contributor getting a headlining feature at the top of the
4.
▲
by
stolee
5y ago
This is a really core and famous problem in extremal combinatorics and a lot of people think about this problem and many related ones. I think the biggest impediment is that too many people were looking for the upper bound instead of lookin
5.
▲
by
stolee
5y ago
Yes! Also cherry-pick and revert. But specifically, the ORT strategy can cache computed renames across multiple commits being rebased, so the performance benefits are even greater for "git rebase".
6.
▲
by
stolee
5y ago
That history that looks tangled and awful would look a lot better if the commits were sorted by `--topo-order` instead of `--date-order`. That sort “groups” commits that are in a single line of history.
7.
▲
by
stolee
6y ago
You're right that we used what we learned from Scalar's background maintenance an applied that to Git itself. Putting background maintenance into Git was actually part of our effort to get Scalar on Linux. You might be interested
8.
▲
by
stolee
6y ago
The delta compression in Git is about storing the file contents of an object as a diff against another object. This changes the literal size on-disk, but it doesn't change the logical unit. In fact, the delta chains used by Git for spa
9.
▲
by
stolee
6y ago
If I have a 100-line file and on 'main' it changes near the top, but in my 'topic' branch it changes near the bottom, then I can cherry-pick 'topic' onto 'main' and Git will resolve the diff correctly
10.
▲
by
stolee
6y ago
We fixed the typo in the blog title (shapshots). Sorry!
11.
▲
Optimize Your Monorepo Experience
(youtube.com)
2 points
by
stolee
6y ago
|
0 comments
12.
▲
by
stolee
6y ago
That operation is much faster in recent versions of Git, especially after a GC or “git commit-graph write” command.
13.
▲
by
stolee
6y ago
If you don't disable fetch.writeCommitGraph and gc.writeCommitGraph there is a chance that those operations will overwrite your commit-graph and delete the changed-path filter data. (fetch.writeCommitGraph uses the --split option so it
14.
▲
by
stolee
6y ago
The data is stored in your `commit-graph` file by this command, but those other ways to update the `commit-graph` file don't pay attention to the fact that the data exists in order to persist it. There is work in progress to fix that i
15.
▲
by
stolee
6y ago
Thanks for the link to the documentation. That is updated with every major Git version, and can be used to track what features are present. Also, the release notes can be helpful. In particular, the recent Git v2.27.0 release does include a
16.
▲
by
stolee
7y ago
LFS only downloads the files required by the checkout. From Git’s perspective, those files are very tiny, and only include the information required so LFS can download the files on-demand. Git’s partial clone is a more natural way of achiev
17.
▲
by
stolee
7y ago
The sparse-checkout patterns match at the file level, so you can always use that (without “cone mode”) if you want. It becomes difficult to match an exact file list as people add files to projects: you require every other user to update the
18.
▲
by
stolee
7y ago
The comparison to hill-climbing algorithms is an interesting one, especially because the author ignores the fact that hill-climbing algorithms get stuck in local optima unless there is a way to “restart” the search from a new location. Ther
19.
▲
by
stolee
8y ago
Earlier this year, we considered similar changes to the ahead/behind calculation in 'git status'. We concluded that there is no good way to provide partial information. Specifically, you can't say "10 ahead" wi
20.
▲
by
stolee
8y ago
In your calculation, you are assuming that all of those files are in independent parts of the folder hierarchy. In practice, deep directory structures mean that single commits are likely focused in a few very deep folders. We ran the statis
21.
▲
by
stolee
8y ago
Do you mean `git branch --contains` or `git branch -vv`? There are many options to `git branch` that cause Git to be very slow. The commit-graph feature in general will make these faster by reducing time spent parsing commits. You can compu
22.
▲
by
stolee
8y ago
It does! The Bloom filter stores every path that changed, including paths to trees (except the root tree, which is expected to be changed by default). When you change a file, you also change every tree above it.
23.
▲
by
stolee
8y ago
The good news is that if you are using shallow clones, then you probably don’t have enough commits locally to need the commit-graph feature!
24.
▲
by
stolee
8y ago
We are working to make this run automatically in the future. https://public-inbox.org/git/20180627132447.142473-1-dstolee... You don't need to run this with every commit, but maybe once after a big fetch or right
25.
▲
by
stolee
8y ago
Sorry for the worrying note about the experimental feature. One issue when working in open source is that contributors don't have control over the release cycle, and review requires smaller series than having the feature be delivered a
26.
▲
by
stolee
9y ago
Your second question about "thousands of commits an hour" is actually a server scale question, as opposed to a GVFS question. The main difference is that GVFS is primarily client software plus some extra server protocols that a se
27.
▲
by
stolee
9y ago
There isn't anything wrong with the objects. A 'fetch' succeeds but the 'checkout' is what blows up.