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

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

From
Vitor Antunes <vitor.hda@gmail.com>
Date
Feb 6, 2011, 12:39 UTC
Message-ID
<AANLkTikd+rGpfy9x35SA0g4F8uYpjp_+GK4m9pagu8Nn@mail.gmail.com>
In-Reply-To
<20110206002113.GA31245@arf.padd.com>
Hi Pete,
On Sun, Feb 6, 2011 at 12:21 AM, Pete Wyckoff <pw@padd.com> wrote:
> The comparisons confuse me.  detectRenames != "false" > 0  ?
> How about just detectRenames == "true"?

The "> 0" was for the length check. I somehow (*feeling embarrassed*) misplaced that code...

Show 13 quoted lines
> You could rename the existing self.detectRename to add an "s" so
> it all makes a bit more sense.
>
>    if not self.detectRenames:
>        # not explicitly set, check the config variable
>        b = gitConfig("git-p4.detectRenames")
>        if b == "true":
>            self.detectRenames = "-M"
>
>    if self.detectRenames:
>        diffOpts = "-M"
>    else:
>        diffOpts = ""

Seems like a better idea. I kind of like the original code to set diffOpts, so I would prefer to keep it. What do you think of (didn't test it):

        if not self.detectRenames:
            # If not explicitly set check the config variable
            self.detectRenames =
gitConfig("git-p4.detectRenames").lower() == "true"
        diffOpts = ("", "-M")[self.detectRenames]
Show 16 quoted lines
>>          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)
>
> If you rename the file and also cause its perms to change (say
> add +x), does it still work if dest is not open?

This is a very good point. I will also open the file for edit when there is a mode change.

Thanks!
-- 
Vitor Antunes
Previous: Pete Wyckoff
Message 10 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.