git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Directory renames without breaking git log.

From
TTarmigan <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

Previous: Jakub Narebski
Message 8 of 8 in “Directory renames without breaking git log.”
  1. Kai BlinSep 3, 2008
  2. TarmiganSep 4, 2008
  3. Kai BlinSep 4, 2008
  4. Junio C HamanoSep 4, 2008
  5. Kai BlinSep 4, 2008
  6. Junio C HamanoSep 4, 2008
  7. Jakub NarebskiSep 4, 2008
  8. TarmiganSep 4, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.