diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2018-04-28 22:45:21 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-04-30 02:12:31 (GMT) |
commit | f42fa470b0d87fcb36475f78f2366bba6864895a (patch) | |
tree | 0d7b4d6b09c0092dc1bd01ae1635084ec199940a /Documentation/technical | |
parent | 8d0d81a9caf612b479b96bc474815e2f38c4746b (diff) | |
download | git-f42fa470b0d87fcb36475f78f2366bba6864895a.zip git-f42fa470b0d87fcb36475f78f2366bba6864895a.tar.gz git-f42fa470b0d87fcb36475f78f2366bba6864895a.tar.bz2 |
technical/shallow: describe why shallow cannot use replace refs
It is tempting to do away with commit_graft altogether (in the long
haul), now that grafts are deprecated.
However, the shallow feature needs a couple of things that the replace
refs cannot fulfill. Let's point that out in the documentation.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/technical')
-rw-r--r-- | Documentation/technical/shallow.txt | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/technical/shallow.txt b/Documentation/technical/shallow.txt index 4ec7213..01dedfe 100644 --- a/Documentation/technical/shallow.txt +++ b/Documentation/technical/shallow.txt @@ -17,6 +17,13 @@ Each line contains exactly one SHA-1. When read, a commit_graft will be constructed, which has nr_parent < 0 to make it easier to discern from user provided grafts. +Note that the shallow feature could not be changed easily to +use replace refs: a commit containing a `mergetag` is not allowed +to be replaced, not even by a root commit. Such a commit can be +made shallow, though. Also, having a `shallow` file explicitly +listing all the commits made shallow makes it a *lot* easier to +do shallow-specific things such as to deepen the history. + Since fsck-objects relies on the library to read the objects, it honours shallow commits automatically. |