Thread (10 messages) flat view 10 messages, 2 authors, 2016-06-15

Re: [PATCH 2/2] git-p4: Add copy detection support

From: Vitor Antunes <hidden>
Date: 2016-06-15 22:50:31

Hi Pete,

On Sun, Feb 6, 2011 at 10:05 PM, Pete Wyckoff [off-list ref] wrote:
quoted
(Copying help text:
      The -t flag makes the source file's filetype propagate to the target
      file.  Normally, the target file retains its previous filetype.
      Newly branched files always use the source file's filetype.  The
      filetype can still be changed before 'p4 submit' with 'p4 reopen'.
)

Since in git we're only considering newly branched files, I think in
this case "-t" will not add anything. In fact, what is being done here
is detecting exec bit changes from source to target files - we're not
trying to force P4 to use the source's exec bit. Do you agree?
That sounds fine to me.  The code seemed to indicate that
sometimes the destination file exists.
I've basically copied the code from the rename detection part and
adapted it to copying. Nevertheless, even if git detects a copy to a
already existing file I think that the integrate command should behave
correctly. I should create a test case for this, though.
quoted
+            elif modifier == "C":
+                src, dest = diff['src'], diff['dst']
+                p4_system("integrate -Dt \"%s\" \"%s\"" % (src, 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)
+                editedFiles.add(dest)
If you're happy the dest never exists, you may be able to get rid
of the edit step and the mode-change check entirely.  As long as
you've tested this, you're the expert here.  The change makes
sense overall.
I'm not that happy with this... and I'm no expert! I will really need
to test this possibility. Just need to understand how I can make git
detect a copy to an existing file... :)

Thanks for your feedback,
-- 
Vitor Antunes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help