diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2009-03-25 00:31:01 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-03-25 01:02:20 +0100 |
commit | 3e262b95c50991de12cc5e180b72256561606a19 (patch) | |
tree | affb5e2c4e3fd692d75a999875fe7627a1b84feb /Documentation/git-check-ref-format.txt | |
parent | check_ref_format(): tighten refname rules (diff) | |
download | git-3e262b95c50991de12cc5e180b72256561606a19.tar.xz git-3e262b95c50991de12cc5e180b72256561606a19.zip |
Don't permit ref/branch names to end with ".lock"
We already skip over loose refs under $GIT_DIR/refs if the name
ends with ".lock", so creating a branch named "foo.lock" will not
appear in the output of "git branch", "git for-each-ref", nor will
its commit be considered reachable by "git rev-list --all".
In the latter case this is especially evil, as it may cause
repository corruption when objects reachable only through such a
ref are deleted by "git prune".
It should be reasonably safe to deny use of ".lock" as a ref suffix.
In prior versions of Git such branches would be "phantom branches";
you can create it, but you can't see it in "git branch" output.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-check-ref-format.txt')
-rw-r--r-- | Documentation/git-check-ref-format.txt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt index d23fd219da..9b707a7030 100644 --- a/Documentation/git-check-ref-format.txt +++ b/Documentation/git-check-ref-format.txt @@ -34,6 +34,8 @@ imposes the following rules on how refs are named: . They cannot end with a slash `/` nor a dot `.`. +. They cannot end with the sequence `.lock`. + . They cannot contain a sequence `@{`. These rules makes it easy for shell script based tools to parse |