Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > We have been writing -1 as "invalid" since day 1. On that same day we > accept all negative entry counts as "invalid". So in theory all C Git > versions out there would be happy to accept any negative numbers. JGit > seems to do exactly the same. I am of two minds here. The existing code is being more lenient than specified when they read stuff others wrote, but it still adheres to -1 when writing. Allowing random implementations to write random negative values will close the door for us to later update the specification to encode more informatin about these invalid entries by using negative value other than -1 here. I am OK with a reword to say "negative means invalid, and writers should write -1 for invalid entries", but without the latter half, this change is not justified. > diff --git a/Documentation/technical/index-format.txt b/Documentation/technical/index-format.txt > index 9d25b30..2028a49 100644 > --- a/Documentation/technical/index-format.txt > +++ b/Documentation/technical/index-format.txt > @@ -161,8 +161,8 @@ GIT index format > this span of index as a tree. > > An entry can be in an invalidated state and is represented by having > - -1 in the entry_count field. In this case, there is no object name > - and the next entry starts immediately after the newline. > + a negative number in the entry_count field. In this case, there is no > + object name and the next entry starts immediately after the newline. > > The entries are written out in the top-down, depth-first order. The > first entry represents the root level of the repository, followed by the -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html