All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] git-p4: Improve rename detection support.
@ 2011-01-30 23:19 Vitor Antunes
  2011-01-30 23:19 ` [PATCH 2/2] git-p4: Add copy " Vitor Antunes
  2011-02-06  0:21 ` [PATCH 1/2] git-p4: Improve rename " Pete Wyckoff
  0 siblings, 2 replies; 10+ messages in thread
From: Vitor Antunes @ 2011-01-30 23:19 UTC (permalink / raw)
  To: git; +Cc: Vitor Antunes

Only open files for edit after integrating if the SHA1 of source and destination
differ from each other.
Add git config option detectRenames to allow permanent rename detection. This
options should be set to a true/false value.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
---
 contrib/fast-import/git-p4 |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 04ce7e3..9fb480a 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -613,7 +613,13 @@ class P4Submit(Command):
 
     def applyCommit(self, id):
         print "Applying %s" % (read_pipe("git log --max-count=1 --pretty=oneline %s" % id))
-        diffOpts = ("", "-M")[self.detectRename]
+
+        detectRenames = gitConfig("git-p4.detectRenames")
+        if len(detectRenames) and detectRenames.lower() != "false" > 0:
+            diffOpts = "-M"
+        else:
+            diffOpts = ("", "-M")[self.detectRename]
+
         diff = read_pipe_lines("git diff-tree -r %s \"%s^\" \"%s\"" % (diffOpts, id, id))
         filesToAdd = set()
         filesToDelete = set()
@@ -640,7 +646,8 @@ class P4Submit(Command):
             elif modifier == "R":
                 src, dest = diff['src'], diff['dst']
                 p4_system("integrate -Dt \"%s\" \"%s\"" % (src, dest))
-                p4_system("edit \"%s\"" % (dest))
+                if diff['src_sha1'] != diff['dst_sha1']:
+                    p4_system("edit \"%s\"" % (dest))
                 if isModeExecChanged(diff['src_mode'], diff['dst_mode']):
                     filesToChangeExecBit[dest] = diff['dst_mode']
                 os.unlink(dest)
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-02-12 13:32 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-30 23:19 [PATCH 1/2] git-p4: Improve rename detection support Vitor Antunes
2011-01-30 23:19 ` [PATCH 2/2] git-p4: Add copy " Vitor Antunes
2011-02-06  0:25   ` Pete Wyckoff
2011-02-06 17:25     ` Vitor Antunes
2011-02-06 22:05       ` Pete Wyckoff
2011-02-07 11:11         ` Vitor Antunes
2011-02-12  0:29           ` Vitor Antunes
2011-02-12 13:32             ` Pete Wyckoff
2011-02-06  0:21 ` [PATCH 1/2] git-p4: Improve rename " Pete Wyckoff
2011-02-06 12:39   ` Vitor Antunes

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.