Browse Source

git-p4: Allow setting rename/copy detection threshold

Copy and rename detection arguments (-C and -M) allow setting a threshold value
for the similarity ratio. If the similarity is below this threshold the rename
or copy is ignored and the file is added as new.
This patch allows setting git-p4.detectRenames and git-p4.detectCopies options
to an integer value to set the respective threshold.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Vitor Antunes 14 years ago committed by Junio C Hamano
parent
commit
0a9feffc47
  1. 13
      contrib/fast-import/git-p4

13
contrib/fast-import/git-p4

@ -774,15 +774,20 @@ class P4Submit(Command, P4UserMap): @@ -774,15 +774,20 @@ class P4Submit(Command, P4UserMap):

if not self.detectRenames:
# If not explicitly set check the config variable
self.detectRenames = gitConfig("git-p4.detectRenames").lower() == "true"
self.detectRenames = gitConfig("git-p4.detectRenames")

if self.detectRenames:
if self.detectRenames.lower() == "false" or self.detectRenames == "":
diffOpts = ""
elif self.detectRenames.lower() == "true":
diffOpts = "-M"
else:
diffOpts = ""
diffOpts = "-M%s" % self.detectRenames

if gitConfig("git-p4.detectCopies").lower() == "true":
detectCopies = gitConfig("git-p4.detectCopies")
if detectCopies.lower() == "true":
diffOpts += " -C"
elif detectCopies != "" and detectCopies.lower() != "false":
diffOpts += " -C%s" % detectCopies

if gitConfig("git-p4.detectCopiesHarder").lower() == "true":
diffOpts += " --find-copies-harder"

Loading…
Cancel
Save