From: Jakub Narebski Date: Fri, 15 Dec 2006 11:35:32 GMT Subject: Re: svn versus git Message-ID: In-Reply-To: Seth Falcon wrote: > Shawn Pearce writes: > >> Andy Parkins wrote: >>> svn cat:: >>> Output the contents of specified files or URLs. Optionally at a >>> specific revision. >>> git cat-file -p $(git-ls-tree $REV $file | cut -d " " -f 3 | cut -f 1):: >> >> better: >> >> git cat-file -p $REV:$file > > FWIW, after some amount of git experience, I had a need for git > cat-file and I found it hard to use. Why? Because following the > pattern of some other commands, I really expected the following to work: > > git cat-file -p HEAD^2 $file > > Since that is similar to > > git diff HEAD^^ $file > git checkout HEAD $file You mean git diff HEAD^^ -- $file git checkout HEAD -- $file It's not $file, it is $path, and it is limiter. git-cat-file (the name is certainly historical artefact and it should be git-cat-object) doesn't support limiters. > Where else uses the colon syntax? Everything where you have or you can use colon syntax. For example: $ git ls-tree pu:Documentation $ git grep -e --merge next:Documentation $ git diff v1.4.2:gitweb/gitweb.cgi gitweb/web:gitweb/gitweb.perl -- Jakub Narebski Warsaw, Poland ShadeHawk on #git