From: Vitor Antunes Date: Fri, 19 Nov 2010 12:14:14 GMT Subject: Re: [PATCH 1/2] git-p4: Don't edit renamed files if not necessary. Message-ID: In-Reply-To: <1290130693-30855-2-git-send-email-vitor.hda@gmail.com> There is a typo in this patch. I'll send a patch this night. Sorry. On Fri, Nov 19, 2010 at 1:38 AM, Vitor Antunes wrote: > Only open files for edit after integrating if the SHA1 of source and > destination differ from each other. > Also added git config option to allow permanent rename detection. > The detectRenames option should be set to the desired threshold value. > Rename detection can still be enabled through -M option. > --- >  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..ba18512 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) > 0: > +            diffOpts = "-M%s" % detectRenames > +        else: > +            diffOpts = ("", "-M")[self.detectRenames] > + >         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 > > -- Vitor Antunes