Bug 39584

Summary: webkit-patch land calls scm.changed_files 4 times!
Product: WebKit Reporter: Eric Seidel (no email) <eric>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Severity: Normal CC: abarth, cjerdonek, commit-queue, mjs, ojan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Description Flags
Patch none

Description Eric Seidel (no email) 2010-05-24 01:31:53 PDT
webkit-patch land calls scm.create_patch 4 times!

webkit-patch land --verbose will show you:

webkitpy.common.system: [DEBUG] "git rev-parse --is-inside-work-tree" took 0.09s
webkitpy.common.system: [DEBUG] "git rev-parse --git-dir" took 0.01s
webkitpy.common.system: [DEBUG] "git config webkit-patch.squash" took 0.01s
webkitpy.common.system: [DEBUG] "git log --pretty=oneline HEAD...trunk" took 0.23s
webkitpy.common.system: [DEBUG] "git diff -r --name-status -C -M --no-ext-diff --full-index HEAD" took 26.24s
Parsing ChangeLog: /Projects/WebKit/WebKitTools/ChangeLog
Fetching: https://bugs.webkit.org/show_bug.cgi?id=39208&ctype=xml
Guessing "Chris Jerdonek" as reviewer from attachment 56222 [details] on bug 39208.
webkitpy.common.system: [DEBUG] "git config webkit-patch.squash" took 0.09s
webkitpy.common.system: [DEBUG] "git log --pretty=oneline HEAD...trunk" took 0.21s
webkitpy.common.system: [DEBUG] "git diff -r --name-status -C -M --no-ext-diff --full-index HEAD" took 26.59s
webkitpy.common.system: [DEBUG] "git config webkit-patch.squash" took 0.31s
webkitpy.common.system: [DEBUG] "git log --pretty=oneline HEAD...trunk" took 0.34s
webkitpy.common.system: [DEBUG] "git diff -r --name-status -C -M --no-ext-diff --full-index HEAD" took 26.57s
Parsing ChangeLog: /Projects/WebKit/WebKitTools/ChangeLog
webkitpy.common.system: [DEBUG] "git config webkit-patch.squash" took 0.14s
webkitpy.common.system: [DEBUG] "git log --pretty=oneline HEAD...trunk" took 0.39s
webkitpy.common.system: [DEBUG] "git diff HEAD --name-only" took 28.41s
webkitpy.common.system: [DEBUG] "git log --pretty=oneline HEAD...trunk" took 0.29s
webkitpy.common.system: [DEBUG] "git commit --all -F -" took 40.12s

Notice that the I spent nearly 2 minutes waiting for it to run the same diff command 4 times!
Comment 1 Eric Seidel (no email) 2010-05-24 01:34:10 PDT
Actually, it's scm.changed_files() at fault here.
Comment 2 Eric Seidel (no email) 2010-05-24 01:55:04 PDT
Ok, so 3 of those were scm.changed_files, and one of those was scm.working_directory_is_clean.

I have a patch to get rid of two of the changed_files calls.  Not sure about the scm.working_directory_is_clean call yet.
Comment 3 Eric Seidel (no email) 2010-05-24 02:00:25 PDT
Created attachment 56862 [details]
Comment 4 Adam Barth 2010-05-24 02:22:40 PDT
Comment on attachment 56862 [details]

Comment 5 WebKit Commit Bot 2010-05-24 21:28:27 PDT
Comment on attachment 56862 [details]

Clearing flags on attachment: 56862

Committed r60124: <http://trac.webkit.org/changeset/60124>
Comment 6 WebKit Commit Bot 2010-05-24 21:28:36 PDT
All reviewed patches have been landed.  Closing bug.