>>>>> "DG" == David Greaves <david@dgreaves.com> writes: DG> Should really be cg-trackdown Thanks for your kind words and the patch. head="$1" +if [ $head == "HEAD" ]; then + head=$(cat .git/HEAD) +elif [ -f .git/refs/tags/$head ]; then + head=$(cat .git/refs/tags/$head) +elif [ -f .git/refs/heads/$head ]; then + head=$(cat .git/refs/heads/$head) +fi + I have been primarily looking at the plumbing side and not the toilet side, and I still have not grokked cg-* yet. That's why I did not do the right thing with these .git/refs/* stuff. If this were to become part of cg-* suite, I would recommend just using $(commit-id) there, which should be the only one that needs to know the .git/* structure convention. Have toilet side gitters reached a concensus (or semi-concensus) on how things under .git/ should be organized? Is there a summary somewhere, something along the following lines? In subdirectories under $GIT_PROJECT_TOP/.git, you have files that have some special meaning to the Cogito layer. These files are all 41-byte long, which stores a 40-byte SHA1 with terminating newline. What is stored in each location is as follows: .git/HEAD Head commit object of the current tree. .git/refs/heads/$ext Head commit object of the external tree $ext. [*Q1*] .git/refs/tags/$tag Named Tag object. [*Q2*] *Q1* What is the syntax and semantics rule for $ext, like "$ext matches '^[-A-Za-z0-9_]$' and is one of the entries in .git/remotes"? *Q2* What is the syntax and semantics rule for $tag, like "$tag matches '^[-A-Za-z0-9_]$' and can be anything not just commit"? - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Sat Apr 30 04:48:13 2005
This archive was generated by hypermail 2.1.8 : 2005-04-30 04:48:13 EST