Re: [PATCH v2 2/6] commit-graph: always parse before commit_graph_data_at()
From: Taylor Blau <hidden>
Date: 2021-02-03 15:54:51
On Tue, Feb 02, 2021 at 10:07:32PM -0500, Derrick Stolee wrote:
quoted
Can we package this as something more user-friendly? E.g. git commit-graph clear git commit-graph write --reachable If that makes sense to you, I'm happy to send a patch (or to review one if someone else gets to it first). I'm mostly asking to find out whether this matches your idea of what the UI should be like.'clear' is probably fine. I was thinking it might be good to have an option to the 'write' subcommand to clear the existing data, but it's probably better as separate steps.
Wouldn't 'git commit-graph write --split=replace --reachable' do the same thing? I know that you changed some of the spots where we load an existing commit graph, so my claim might be out-of-date, but I'm pretty sure that this would get you out of a broken state. Thinking aloud, I'm not totally sure that we should be exposing "git commit-graph clear" to users. The only time that you'd want to run this is if you were trying to remove a corrupted commit-graph, so I'd rather see guidance on how to do that safely show up in Documentation/git-commit-graph.txt. On the other hand, now I'm encouraging running "rm -fr $GIT_DIR/objects/info/commit-graph*", which feels dangerous. Somewhere in the middle would be something like: git -c core.commitGraph=false commit-graph write --reachable which would disable reading existing commit-graph files. Since 85102ac71b (commit-graph: don't write commit-graph when disabled, 2020-10-09), that causes us to exit immediately. I think that reverting that patch and advertising setting 'core.commitGraph=false' in the documentation makes the most sense. Thanks, Taylor