diff --git a/git_cl/git_cl.py b/git_cl/git_cl.py index 2005c19cd..56a2fa6cb 100644 --- a/git_cl/git_cl.py +++ b/git_cl/git_cl.py @@ -1172,7 +1172,7 @@ def CMDpatch(parser, args): return 1 issue_arg = args[0] - if re.match(r'\d+', input): + if re.match(r'\d+', issue_arg): # Input is an issue id. Figure out the URL. issue = issue_arg server = settings.GetDefaultServerUrl() @@ -1188,7 +1188,7 @@ def CMDpatch(parser, args): match = re.match(r'.*?/issue(\d+)_\d+.diff', issue_url) if match: issue = match.group(1) - url = input + url = issue_arg else: DieWithError('Must pass an issue ID or full URL for ' '\'Download raw patch set\'') diff --git a/git_cl/test/patch.sh b/git_cl/test/patch.sh new file mode 100755 index 000000000..b494b442e --- /dev/null +++ b/git_cl/test/patch.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -e + +. ./test-lib.sh + +setup_initsvn +setup_gitsvn + +( + set -e + cd git-svn + git checkout -q -b work + echo "some work done on a branch" >> test + git add test; git commit -q -m "branch work" + + git config rietveld.server localhost:8080 + + # Prevent the editor from coming up when you upload. + export EDITOR=$(which true) + + test_expect_success "upload succeeds (needs a server running on localhost)" \ + "$GIT_CL upload -m test master | grep -q 'Issue created'" + + test_expect_success "git-cl status now knows the issue" \ + "$GIT_CL status | grep -q 'Issue number'" + + ISSUE=$($GIT_CL status | awk '$0 ~ "Issue number:" { print $3 }') + + git checkout -q -b test2 master + + test_expect_success "git cl patch $ISSUE" +) +SUCCESS=$? + +cleanup + +if [ $SUCCESS == 0 ]; then + echo PASS +fi