Bug 183762
Summary: | 'webkit-patch setup-git-clone' fails when SVN is not installed | ||
---|---|---|---|
Product: | WebKit | Reporter: | Michael Catanzaro <mcatanzaro> |
Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED CONFIGURATION CHANGED | ||
Severity: | Normal | CC: | aperez, ap, bugs-noreply, clopez, dbates, lforschler, mcatanzaro, rniwa |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | PC | ||
OS: | Linux |
Michael Catanzaro
'webkit-patch setup-git-clone' fails when SVN is not installed. There is already protection for the case where git is not installed, so we can just copy that.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Michael Catanzaro
(In reply to Michael Catanzaro from comment #0)
> 'webkit-patch setup-git-clone' fails when SVN is not installed. There is
> already protection for the case where git is not installed, so we can just
> copy that.
Well not really; I should test things before reporting bugs. The script really needs git, svn, and also git-svn in order to work.
Michael Catanzaro
Problem is here, in svn.py:
@classmethod
def in_working_directory(cls, path, executive=None):
if os.path.isdir(os.path.join(path, '.svn')):
# This is a fast shortcut for svn info that is usually correct for SVN < 1.7,
# but doesn't work for SVN >= 1.7.
return True
executive = executive or Executive()
svn_info_args = [cls.executable_name, 'info']
exit_code = executive.run_command(svn_info_args, cwd=path, return_exit_code=True)
return (exit_code == 0)
The call to executive.run_command() throws an OSError, and the user gets a nasty traceback. Probably needs to caught and changed to return false, which is what git.py does. Then, at a higher level, provide a sane error message.
Carlos Alberto Lopez Perez
(In reply to Michael Catanzaro from comment #0)
> 'webkit-patch setup-git-clone' fails when SVN is not installed. There is
> already protection for the case where git is not installed, so we can just
> copy that.
svn should be installed by the script install-dependencies. So Its assumed its available
Michael Catanzaro
First thing I did after cloning WebKit was 'webkit-patch setup-git-clone'.
Carlos Alberto Lopez Perez
(In reply to Michael Catanzaro from comment #4)
> First thing I did after cloning WebKit was 'webkit-patch setup-git-clone'.
The WebKit repository uses SVN, so I can argue it is somehow obvious that you will need the SVN tool to interact with the SVN repository.
But in case you think it is not, then I suggest to request some change on the documentation to make this clearer.
Or even better: the tool 'webkit-patch setup-git-clone' can be modified to fail early if it can't find the svn binary telling a meaningful error about the issue: that you need svn installed.
Ryosuke Niwa
I think we can make setup-git-clone work without svn. People who don't commit directly don't really need git-svn setup although I'd imagine any serious committers would have set it up anyway.
Adrian Perez
I imagine this could be closed, given we have been using Git
exclusively for quite a while, and “webkit-patch setup-git-clone”
is no longer a thing -- these days we use “git webkit setup”
instead.