From: Junio C Hamano Date: Fri, 07 Nov 2008 20:19:14 GMT Subject: Re: [PATCH 2/3] Introduce rename factorization in diffcore. Message-ID: <7v3ai3gugt.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20081107193957.GI5158@nan92-1-81-57-214-146.fbx.proxad.net> Yann Dirson writes: > The direct transposition of the raw output of a dir rename with a > change would yield something like: > > |diff --git a/ppc/ b/foo > |similarity index 100% > |rename from ppc/ > |rename to foo/ > |diff --git a/ppc/sha1.h b/foo/sha1.h > |--- ppc/sha1.h > |+++ foo/sha1.h > |... > > This would have the usefulness I'm looking for, in that the content > modifications would not be "hidden" among a whole lot af individual > file rename hunks. I am afraid that this is totally unacceptable, as you yourself mentioned, the end result is unapplicable with any existing tool and would confuse viewers like gitk and gitweb. I think it would be a much better approach to emit a hint that talks about directory rename in a format that does not fool usual "patch" application tools. E.g. |directory moved with similarity index 82% |rename from ppc |rename from foo |diff --git a/ppc/sha1.h b/foo/sha1.h |similarity index 85% |rename from ppc/sha1.h |rename to foo/sha1.h |index 9b34f76..8fce4b7 100644 |--- ppc/sha1.h |+++ foo/sha1.h |@@ ... IOW, do not add anything that begins with "diff --git" if it is not a patch.