Thread (2 messages) flat view 2 messages, 2 authors, 2021-02-08

Re: [PATCH v2 2/6] commit-graph: always parse before commit_graph_data_at()

From: Junio C Hamano <hidden>
Date: 2021-02-07 20:13:13

SZEDER Gábor [off-list ref] writes:
On Tue, Feb 02, 2021 at 06:06:51PM -0800, Junio C Hamano wrote:
quoted
Derrick Stolee [off-list ref] writes:
quoted
quoted
- what is the recommended way to recover from this state?  "git fsck"
  shows the repositories to have no problems.  "git help commit-graph"
  doesn't show a command for users to use; is
  `rm -fr .git/objects/info/commit-graphs/` the recommended recovery
  command?
"rm -f .git/objects/info/commit-graph" as well, no?
quoted
That, followed by `git commit-graph write --reachable [--changed-paths]`
depending on what they want.
Just out of curiosity, how important is "--reachable"?  It only
traverses from the tips of refs and unlike fsck and repack, not from
reflog entries (or the index for that matter, but that shouldn't
make much difference as there is no _commit_ in the index).
Scanning all objects in all packfiles is a very inefficient way to
find the commits to be recorded in the commit-graph, and depending on
the repository's shape and size can have several times higher runtime
and memory footprint.
But wouldn't it make the resulting graph file not very useful for
the purpose of say deciding what object to pack when running "gc" or
"repack" or "prune"?  The fact that it ignores the index and the reflog
entries as roots of traversal with "--reachable" bothers me.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help