Re: blame follows renames, but log doesn't
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 19, 2007, 08:39 UTC
- Message-ID
- <7vtzt4wd68.fsf@assigned-by-dhcp.pobox.com>
- In-Reply-To
- <20070619071916.GC9177@thunk.org>
Theodore Tso <tytso@mit.edu> writes:
Show 10 quoted lines
> 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.
That happens already with merge-recursive code, which has been the default since late November 2005 (v0.99.9k and later should have it).
What does _not_ happen is if foo_fixes.c was _created_ in the stable branch. A merge that tries to forward port such a fix would not move the foo_fixes.c to foo/fixes.c.