Re: [PATCH 2/2] git-p4: Add copy detection support
- From
- Pete Wyckoff <pw@padd.com>
- Date
- Feb 6, 2011, 00:25 UTC
- Message-ID
- <20110206002547.GB31245@arf.padd.com>
- In-Reply-To
- <1296429563-18390-2-git-send-email-vitor.hda@gmail.com>
vitor.hda@gmail.com wrote on Sun, 30 Jan 2011 23:19 +0000:
Show 7 quoted lines
> Add new config options: > git-p4.detectCopies - Enable copy detection. > git-p4.detectCopiesHarder - Find copies harder. > The detectCopies option should be set to a true/false value. > The detectCopiesHarder option should be set to true/false value. > P4Submit can now process diff-tree C status and integrate files accordingly. > ---
[..]
Show 8 quoted lines
> + detectCopies = gitConfig("git-p4.detectCopies")
> + if len(detectCopies) and detectCopies.lower() != "false" > 0:
> + diffOpts += " -C"
> +
> + detectCopiesHarder = gitConfig("git-p4.detectCopiesHarder")
> + if len(detectCopiesHarder) > 0 and detectCopiesHarder.lower() != "false":
> + diffOpts += " --find-copies-harder"
> +I like it, but same weirdness with != > 0.
Show 9 quoted lines
> + 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)You can use integrate -t to force the filetype even if the file already existed, and skip the whole execbit change.
-- Pete