Bug 29211 - bugzilla-tool rollout threw exception under svn
: bugzilla-tool rollout threw exception under svn
Product: WebKit
Classification: Unclassified
Component: Tools / Tests
: 528+ (Nightly build)
: PC Mac OS X 10.5
: P2 Normal
Assigned To: Nobody
Depends on:
  Show dependency treegraph
Reported: 2009-09-11 15:27 PDT by Eric Seidel
Modified: 2009-09-11 16:44 PDT (History)
3 users (show)

See Also:

Patch v1 (2.51 KB, patch)
2009-09-11 15:54 PDT, Eric Seidel
no flags Details | Formatted Diff | Diff
Slightly better testing (2.57 KB, patch)
2009-09-11 15:58 PDT, Eric Seidel
levin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel 2009-09-11 15:27:53 PDT
bugzilla-tool rollout threw exception under svn

Worked fine under Git.

WebKitTools/Scripts/bugzilla-tool rollout 48229                                                                              [~/Projects/WebKitSVN]
Traceback (most recent call last):
  File "WebKitTools/Scripts/bugzilla-tool", line 928, in <module>
  File "WebKitTools/Scripts/bugzilla-tool", line 925, in main
    return tool.main()
  File "WebKitTools/Scripts/bugzilla-tool", line 920, in main
    return command_object.execute(command_options, command_args, self)
  File "WebKitTools/Scripts/bugzilla-tool", line 572, in execute
    bug_id = self._parse_bug_id_from_revision_diff(tool, revision)
  File "WebKitTools/Scripts/bugzilla-tool", line 558, in _parse_bug_id_from_revision_diff
    return parse_bug_id(original_diff)
  File "WebKitTools/Scripts/bugzilla-tool", line 63, in parse_bug_id
    match = re.search("http\://webkit\.org/b/(?P<bug_id>\d+)", message)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/re.py", line 134, in search
    return _compile(pattern, flags).search(string)
TypeError: expected string or buffer
Comment 1 Eric Seidel 2009-09-11 15:54:31 PDT
Created attachment 39485 [details]
Patch v1
Comment 2 Brian Weinstein 2009-09-11 15:56:36 PDT
That was the error I saw on SVN, the "expected string or buffer".
Comment 3 Eric Seidel 2009-09-11 15:58:47 PDT
Created attachment 39486 [details]
Slightly better testing
Comment 4 Eric Seidel 2009-09-11 16:00:31 PDT
Adding folks who normally review bugzilla-tool changes, in case they're interested in this one. :)
Comment 5 Eric Seidel 2009-09-11 16:05:24 PDT
Now I'm just seeing bugzilla-tool rollout hang in svn:
  File "/Users/eseidel/Projects/WebKit/WebKitTools/Scripts/bugzilla-tool", line 928, in <module>
svn: Caught signal
  File "/Users/eseidel/Projects/WebKit/WebKitTools/Scripts/bugzilla-tool", line 925, in main
    return tool.main()
  File "/Users/eseidel/Projects/WebKit/WebKitTools/Scripts/bugzilla-tool", line 920, in main
    return command_object.execute(command_options, command_args, self)
  File "/Users/eseidel/Projects/WebKit/WebKitTools/Scripts/bugzilla-tool", line 581, in execute
  File "/Users/eseidel/Projects/WebKit/WebKitTools/Scripts/modules/scm.py", line 328, in apply_reverse_diff
    self.run_command(['svn', 'merge', '--non-interactive', '-c', '-%s' % revision, self._repository_url()])
  File "/Users/eseidel/Projects/WebKit/WebKitTools/Scripts/modules/scm.py", line 94, in run_command
    output = process.communicate(input)[0].rstrip()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 661, in communicate
    stdout = self.stdout.read()

This will still need a bit of investigation.
Comment 6 Eric Seidel 2009-09-11 16:22:24 PDT
Nope.  Turns out that:
svn merge -c -48229 http://svn.webkit.org/repository/webkit/trunk
just takes about 10 minutes in SVN.  I guess I'll add a warning.
Comment 7 Eric Seidel 2009-09-11 16:28:21 PDT
Committed r48320: <http://trac.webkit.org/changeset/48320>
Comment 8 Eric Seidel 2009-09-11 16:29:17 PDT
I added a warning about svn merge taking forever (maybe I'm running the command wrong?) and landed.
Comment 9 Brian Weinstein 2009-09-11 16:31:06 PDT
The flag --ignore-ancestry might help.
Comment 10 Eric Seidel 2009-09-11 16:38:09 PDT
svn merge -c -48229 http://svn.webkit.org/repository/webkit/trunk --ignore-ancestry
doesn't seem to be any faster, it's been running for 3 minutes already...

Anyway, bugzilla-tool rollout makes it very clear what it's doing now.  Hopefully if SVN users are using 'rollout' they'll notice and maybe divine some magic to fix it.

% bugzilla-tool rollout 48229
Cleaning working directory
WARNING: svn merge has been known to take more than 10 minutes to complete.  It is recommended you use git for rollouts.
Running 'svn merge --non-interactive -c -48229 http://svn.webkit.org/repository/webkit/trunk'
Comment 11 Adam Barth 2009-09-11 16:44:24 PDT
(In reply to comment #9)
> The flag --ignore-ancestry might help.

I recommend this flag.  The ancestry system can cause svn merge to run amok.