git-p4: improve submit performance on new P4 servers
PATCH 3/3 git-p4: improve submit performance on new P4 servers
Improve git-p4 submit performance on newer (from 2009.2) Perforce servers by changing "p4 diff -du" to "p4 diff -dub". This change is harmless since the output is only used for display purposes.
--- contrib/fast-import/git-p4 | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
contrib/fast-import/git-p4 +1 -1
@@ -715,7 +715,7 @@ class P4Submit(Command): submitTemplate = self.prepareLogMessage(template, logMessage) if os.environ.has_key("P4DIFF"): del(os.environ["P4DIFF"]) - diff = p4_read_pipe("diff -du ...") + diff = p4_read_pipe("diff -dub ...") newdiff = "" for newFile in filesToAdd:
Signature · 1 line
1.6.5.2.6.gc3c1e.dirty
Quoted 5 lines · Pal-Kristian Engstad
Improve git-p4 submit performance on newer (from 2009.2) Perforce servers by changing "p4 diff -du" to "p4 diff -dub". This change is harmless since the output is only used for display purposes.
Signed-off-by Pal-Kristian Engstad <[email protected]>
Why is the b flag impacting performance?
And even if for display purposes, why might you wish not to see differences in whitespace changes?
Quoted 26 lines
--- contrib/fast-import/git-p4 | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)contrib/fast-import/git-p4 +1
-1@@ -715,7 +715,7 @@ class P4Submit(Command): submitTemplate = self.prepareLogMessage(template, logMessage) if os.environ.has_key("P4DIFF"): del(os.environ["P4DIFF"]) - diff = p4_read_pipe("diff -du ...") + diff = p4_read_pipe("diff -dub ...") newdiff = "" for newFile in filesToAdd:Signature · 7 lines
1.6.5.2.6.gc3c1e.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 9 lines · Nicolas Pitre
Quoted 5 lines · Pal-Kristian Engstad
Improve git-p4 submit performance on newer (from 2009.2) Perforce servers by changing "p4 diff -du" to "p4 diff -dub". This change is harmless since the output is only used for display purposes.
Signed-off-by Pal-Kristian Engstad <[email protected]>Why is the b flag impacting performance?
That's a very good question. The release notes say that they've been changing how 'p4 diff -du' works, but the net effect of it all is that it stats all files in the whole working set. For large projects, this takes forever. We say pauses of 3 minutes per submit...
Quoted 2 lines
And even if for display purposes, why might you wish not to see differences in whitespace changes?
That's a good point, but what alternative is there?
PKE
Signature · 7 lines
Pål-Kristian Engstad ([email protected]), Lead Graphics & Engine Programmer, Naughty Dog, Inc., 1601 Cloverfield Blvd, 6000 North, Santa Monica, CA 90404, USA. Ph.: (310) 633-9112. "Emacs would be a far better OS if it was shipped with a halfway-decent text editor." -- Slashdot, Dec 13. 2005.
Quoted 7 lines · Pal-Kristian Engstad
Quoted 6 lines · Nicolas Pitre
Quoted 4 lines · Pal-Kristian Engstad
Improve git-p4 submit performance on newer (from 2009.2) Perforce servers by changing "p4 diff -du" to "p4 diff -dub". This change is harmless since the output is only used for display purposes.
Quoted 7 lines
Quoted 3 lines
Quoted 1 line
Signed-off-by Pal-Kristian Engstad <[email protected]>Why is the b flag impacting performance?
That's a very good question. The release notes say that they've been changing how 'p4 diff -du' works, but the net effect of it all is that it stats all files in the whole working set.
And so does git.
Quoted 2 lines
For large projects, this
takes forever. We say pauses of 3 minutes per submit...
This is abominable.
Quoted 4 lines
Quoted 2 lines
And even if for display purposes, why might you wish not to see differences in whitespace changes?
That's a good point, but what alternative is there?
Have the option of not seeing the diff in the submit template maybe?
I agree that P4 is slow. Painfully slow. I even needed to make git-p4 even slower by adding a time.sleep(1) in p4_build_cmd() otherwise the server would randomly drop the connection with the client when being contacted back to back.
I'm so glad Simon wrote this git-p4 nevertheless. Makes working with P4 almost enjoyable.
Nicolas