Re: Directory renames without breaking git log.
- From
- Tarmigan <tarmigan+git@gmail.com>
- Date
- Sep 4, 2008, 18:35 UTC
- Message-ID
- <905315640809041135m4026cf90h7f506bb3d295b09a@mail.gmail.com>
- In-Reply-To
- <200809040853.36433.kai@samba.org>
(you're probably better off asking on the whole list, as I don't know much)
On Wed, Sep 3, 2008 at 11:53 PM, Kai Blin <kai@samba.org> wrote:
Show 15 quoted lines
> On Thursday 04 September 2008 02:16:24 you wrote: >> On Wed, Sep 3, 2008 at 2:38 PM, Kai Blin <kai@samba.org> wrote: >> > Unfortunately, the directories are big enough that git log stops to track >> > the renamed files, so e.g. git log ./samba3 does not show the samba3 >> > history. The history is not lost, of course, but it's way less intuitive >> > to get it. >> >> You can try setting diff.renamelimit to 0 in your ~/.gitconfig. See >> Linus's email here for a similar situation in the kernel: >> http://lwn.net/Articles/292948/ > > That doesn't seem to fix "git log path/to/file" cases. The really interesting > part is that if I try git log --follow -M -C path/to/file, I don't get any > history at all. (--follow is the culprit, if I remove that I at least get the > merge commit)
OK, I actually tried with your example, and see what you mean. It looks like follow does not work with this case. See http://permalink.gmane.org/gmane.comp.version-control.git/85766 for an illustration of --follow not working with the subtree merge strategy, which as far as I can tell is pretty much the same as this case. Also it sounds like follow only works with single files, and not directories: http://kerneltrap.org/mailarchive/git/2008/5/4/1714694
Why these do not work is way beyond my git knowledge. As far as I know (which is very little), follow could work for these cases, but it currently does not.
> git blame still works, and git log --sparse path/to/file works, of > course. --sparse makes giving a path a bit pointless, of course, but we > probably can live with that for time being. I'm still open for suggestions, > of course. :)
Glad that git blame works. If you haven't already, you should also try git gui blame too for better interactivity.
Thanks, Tarmigan