In article <ron1-08A0F6.18483502022010@xxxxxxxxxxxxxx>, Ron Garret <ron1@xxxxxxxxxxx> wrote: > In article <20100203023219.GA13092@xxxxxxxxxxx>, > "Shawn O. Pearce" <spearce@xxxxxxxxxxx> wrote: > > > Ron Garret <ron1@xxxxxxxxxxx> wrote: > > > I'm trying to write a little utility that will extract all the revisions > > > of a particular file. I start with a git rev-list HEAD -- filename, get > > > the tree objects with git cat-file commit, the file objects with git > > > ls-tree, and finally the file contents themselves with git cat-file > > > blob. It works, except in the case where the file name was changed. > > > git rev-list is smart enough to track those name changes, but my little > > > revision tracker isn't. It dies when suddenly there is no file with the > > > right name in the tree. > > > > > > So... is there an easy way to work around this? Is there a way to get, > > > say, rev-list to tell me when the file it is tracking changed names? Or > > > a git-diff incantation? I just need something that will tell me given > > > two commits and a file name whether the file was renamed between those > > > two commits and if so what its new name is. There must be an easy way > > > to do this, but I can't figure out what it is. > > > > Maybe use the -M flag to git log, or the --follow flag to > > log/rev-list? > > Nope. git log --follow will follow through a name change but won't > actually say when the name changed happened or what the previous name of > the file was. > > And actually playing around with it some more, it appears that git > rev-list doesn't actually track file renames, or at least it doesn't do > it all the time. Weird. I'm going to have to play around with this > some more. > > rg Ah, I think I found it: git log --follow --raw -- [filename] gives you e.g.: :100644 100644 01e79c3... 01e79c3... R100 foo baz which seems to be what I'm looking for. rg -- 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