Code

git-p4: Unset P4DIFF environment variable when using 'p4 -du diff'
authorShawn Bohrer <shawn.bohrer@gmail.com>
Thu, 13 Mar 2008 00:03:23 +0000 (19:03 -0500)
committerSimon Hausmann <simon@lst.de>
Thu, 13 Mar 2008 07:57:29 +0000 (08:57 +0100)
A custom diffing utility can be specified for the 'p4 diff' command by
setting the P4DIFF environment variable.  However when using a custom
diffing utility such as 'vimdiff' passing options like -du can cause
unexpected behavior.

Since the goal is to generate a unified diff of the changes and attach
them to the bottom of the p4 submit log we should unset P4DIFF if it
has been set in order to generate the diff properly.

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Simon Hausmann <simon@lst.de>
contrib/fast-import/git-p4

index 539c5cda07ae92c929c05e8520ae3e4b820b0ca5..28b9c3c3cba175ce082c2c499488f81369ac858b 100755 (executable)
@@ -627,6 +627,8 @@ class P4Submit(Command):
 
         if self.interactive:
             submitTemplate = self.prepareLogMessage(template, logMessage)
+            if os.environ.has_key("P4DIFF"):
+                del(os.environ["P4DIFF"])
             diff = read_pipe("p4 diff -du ...")
 
             for newFile in filesToAdd: