Re: blame follows renames, but log doesn't
- From
Theodore Tso <tytso@mit.edu>
- Date
- Jun 19, 2007, 07:19 UTC
- Message-ID
- <20070619071916.GC9177@thunk.org>
- In-Reply-To
- <46a038f90706181810p716f914al4d9abba5bfe7eb5@mail.gmail.com>
On Tue, Jun 19, 2007 at 01:10:28PM +1200, Martin Langhoff wrote:
Show 8 quoted lines
> > when I show git to newbies or demo it to people using other SCMs, and > we get to the rename part of the conversation, I discuss and show how > GIT's approach is significantly better than explicit recording of > renames. > > One great example is git-blame -- actually more spectacular with the > recent git gui blame improvements. But git-log still doesn't do it.
Actually, the bigger missing gap is merges. Suppose in the development branch, you rename a whole bunch of files. (For example, foo_super.c got moved to foo/super.c, foo_inode.c got moved to foo/inode.c, etc.)
Now suppose there are fixes made in the stable branch, in the original foo_super.c and foo_inode.c files. Ideally you would want to be able to pull those changes into the development branch, where the files have new names, and have the changes be applied to foo/super.c and foo/inode.c in the development branch.
I was recently talking to someone who is still using BitKeeper, and he cited this scenario as one of the reasons why his project is still using BK; he'd like to move to git, but this is a critical piece of functionality for him.
- Ted