Reference name and check-ref-format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

While writing a git client based on libgit2 (https://github.com/Romain-Geissler/git2), i have to rewrite git-check-ref-format. The man documentation about that command is clear enough, and there is no issue to implement it. Seven from the eight naming rules described in this man make sens to me, but i can't understand why is there a need for the second one:

 2. They must contain at least one /. This enforces the presence of a category like heads/, tags/ etc. but the actual names are not restricted.

The implementation respects that rule, and thus git check-ref-format HEAD will return 1. But why does a reference name must have a slash ? HEAD, FETCH_HEAD and others are references, but do not contain any slash. And this do not prevent us to use such refs anywhere in git. That even works with "non-magic" git reference, if we create by ourself a reference file in the root of our $GIT_DIR, and can be use as a reference name in any git command except with git-check-ref-format.

I am utterly wrong or is there difference between what's specified in git-check-ref-format and what git really does ?

Romain Geissler--
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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]