Re: [PATCH] commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 16, 2023, 00:07 UTC
- Message-ID
- <xmqqh6lmwogq.fsf@gitster.g>
- In-Reply-To
- <ZVTJFOSnVonoPgZk@tanuki>
Patrick Steinhardt <ps@pks.im> writes:
Show 16 quoted lines
>> Yeah. Just like we auto-enabled GIT_REF_PARANOIA for git-gc, etc, I >> think we should do the same here. > > I'm honestly still torn on this one. There are two cases that I can > think of where missing objects would be benign and where one wants to > use `git rev-list --missing`: > > - Repositories with promisor remotes, to find the boundary of where > we need to fetch new objects. > > - Quarantine directories where you only intend to list new objects > or find the boundary. > > And in neither of those cases I can see a path for how the commit-graph > would contain such missing commits when using regular tooling to perform > repository maintenance.
I can buy the promisor remotes use case---we may expect boundary objects missing without any repository corruption. I do not know about the other one---where does our "rev-list --missing" start traversing in a quarantine directory is unclear. Objects that are still in quarantine are not (yet) made reachable from any refs, so even "rev-list --missing --all" would not make a useful traversal, no?
In any case, it sounds like you are not torn but are convinced that we should leave this loose by default ;-) and after thinking it over again, I tend to agree that it would be a better choice, as long as the feature "rev-list --missing" has any good use case other than corruption in repository.
So,... thanks for pushing back.