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>
This commit is contained in:
Vitor Antunes 2011-08-22 09:33:05 +01:00 committed by Junio C Hamano
parent 4e2e6ce450
commit 0a9feffc47

View File

@ -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"