Skip to content

Commit c0b5d46

Browse files
ttaylorrgitster
authored andcommitted
Documentation/gitformat-pack.txt: drop mixed version section
This section was added in 3d89a8c (Documentation/technical: add cruft-packs.txt, 2022-05-20) to highlight a potential pitfall when deploying cruft packs in an environment where multiple versions of Git are GC-ing the same repository. Now that it has been more than a year since 3d89a8c was written, let's drop this section as it is no longer relevant. Signed-off-by: Taylor Blau <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 3843ef8 commit c0b5d46

File tree

1 file changed

+0
-26
lines changed

1 file changed

+0
-26
lines changed

Documentation/gitformat-pack.txt

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -588,32 +588,6 @@ later on.
588588
It is linkgit:git-gc[1] that is typically responsible for removing expired
589589
unreachable objects.
590590

591-
=== Caution for mixed-version environments
592-
593-
Repositories that have cruft packs in them will continue to work with any older
594-
version of Git. Note, however, that previous versions of Git which do not
595-
understand the `.mtimes` file will use the cruft pack's mtime as the mtime for
596-
all of the objects in it. In other words, do not expect older (pre-cruft pack)
597-
versions of Git to interpret or even read the contents of the `.mtimes` file.
598-
599-
Note that having mixed versions of Git GC-ing the same repository can lead to
600-
unreachable objects never being completely pruned. This can happen under the
601-
following circumstances:
602-
603-
- An older version of Git running GC explodes the contents of an existing
604-
cruft pack loose, using the cruft pack's mtime.
605-
- A newer version running GC collects those loose objects into a cruft pack,
606-
where the .mtime file reflects the loose object's actual mtimes, but the
607-
cruft pack mtime is "now".
608-
609-
Repeating this process will lead to unreachable objects not getting pruned as a
610-
result of repeatedly resetting the objects' mtimes to the present time.
611-
612-
If you are GC-ing repositories in a mixed version environment, consider omitting
613-
the `--cruft` option when using linkgit:git-repack[1] and linkgit:git-gc[1], and
614-
setting the `gc.cruftPacks` configuration to "false" until all writers
615-
understand cruft packs.
616-
617591
=== Alternatives
618592

619593
Notable alternatives to this design include:

0 commit comments

Comments
 (0)