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 <vitor.hda@gmail.com> wrote:
Show 42 quoted lines
> 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
>
>