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

[PATCH 1/2] git-p4: Improve rename detection support.

From
Vitor Antunes <vitor.hda@gmail.com>
Date
Jan 30, 2011, 23:19 UTC
Message-ID
<1296429563-18390-1-git-send-email-vitor.hda@gmail.com>

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
Next: Vitor Antunes
Message 1 of 10 in “git-p4: Improve rename detection support.”
  1. 1/2 git-p4: Improve rename detection support.Vitor Antunes, Jan 30, 2011
  2. 2/2 git-p4: Add copy detection supportVitor Antunes, Jan 30, 2011
  3. Pete WyckoffFeb 6, 2011
  4. Vitor AntunesFeb 6, 2011
  5. Pete WyckoffFeb 6, 2011
  6. Vitor AntunesFeb 7, 2011
  7. Vitor AntunesFeb 12, 2011
  8. Pete WyckoffFeb 12, 2011
  9. Pete WyckoffFeb 6, 2011
  10. Vitor AntunesFeb 6, 2011

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.