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

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

From
PWPete 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
Previous: Vitor AntunesNext: Vitor Antunes
Message 3 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.