Theodore Ts'o <tytso@xxxxxxx> schrieb: > > So given a particular tree-ish and a pathname, I'd like get the contents > of that particular file as of a particular revision. i.e., the > equivalent of: > > cvs -r v1.37 -p e2fsck/pass1.c > or > bk cat -r 2345 e2fsck/pass1.c > > The closest I've been able to come is to use > > git archive --format=zip v1.37 e2fsck/pass1.c | gunzip > > But that seems kinda silly. > > git-checkout will only write the output to the working tree. > git-cat-file and git-show only work on a object identifier (they are > low-level plumbing commands). > > So if it is a matter of we don't have an easy way to do this (as opposed > to me being stupid or the git documentation just failing to mention it > in the right places), what's the best way to add it? > > One easy way would be to add --format=raw to git-archive, but that might > seem counter-intuitive to an average git user; they just want to see the > output of a file at a particular point in time, which doesn't have much > to do with archiving. > > Should we add a new command like "git-cat"? Should we add a -p option > to the "git-checkout <treeish> <path>" form of git-checkout? > > I'm currently leaning towards the last; it would be pretty simple to > enhance git-checkout so that a -p option would run "git archive > --format=zip ...", even though that would be a pretty nasty hack, and it > wouldn't be much harder to add --format=raw support to git-archive, but > I still think that's not a intuitive place to find that particular > functionality. > > - Ted You you could do this with git show v1.5.0:Makefile to show you the Makefile in revision v1.5.0. -Peter - 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