| Index: git_cl.py
|
| diff --git a/git_cl.py b/git_cl.py
|
| index 7a9bff92d10e9ff14eb0b16983b0550aa00c939c..6de71b007928669af44871554d2a311eb75edf71 100755
|
| --- a/git_cl.py
|
| +++ b/git_cl.py
|
| @@ -1862,9 +1862,12 @@ def CMDpatch(parser, args):
|
| """Patches in a code review."""
|
| parser.add_option('-b', dest='newbranch',
|
| help='create a new branch off trunk for the patch')
|
| - parser.add_option('-f', action='store_true', dest='force',
|
| + parser.add_option('-f', '--force', action='store_true',
|
| help='with -b, clobber any existing branch')
|
| - parser.add_option('--reject', action='store_true', dest='reject',
|
| + parser.add_option('-d', '--directory', action='store', metavar='DIR',
|
| + help='Change to the directory DIR immediately, '
|
| + 'before doing anything else.')
|
| + parser.add_option('--reject', action='store_true',
|
| help='failed patches spew .rej files rather than '
|
| 'attempting a 3-way merge')
|
| parser.add_option('-n', '--no-commit', action='store_true', dest='nocommit',
|
| @@ -1885,10 +1888,11 @@ def CMDpatch(parser, args):
|
| RunGit(['checkout', '-b', options.newbranch,
|
| Changelist().GetUpstreamBranch()])
|
|
|
| - return PatchIssue(issue_arg, options.reject, options.nocommit)
|
| + return PatchIssue(issue_arg, options.reject, options.nocommit,
|
| + options.directory)
|
|
|
|
|
| -def PatchIssue(issue_arg, reject, nocommit):
|
| +def PatchIssue(issue_arg, reject, nocommit, directory):
|
| if type(issue_arg) is int or issue_arg.isdigit():
|
| # Input is an issue id. Figure out the URL.
|
| issue = int(issue_arg)
|
| @@ -1930,6 +1934,8 @@ def PatchIssue(issue_arg, reject, nocommit):
|
| # pick up file adds.
|
| # The --index flag means: also insert into the index (so we catch adds).
|
| cmd = ['git', 'apply', '--index', '-p0']
|
| + if directory:
|
| + cmd.extend(('--directory', directory))
|
| if reject:
|
| cmd.append('--reject')
|
| elif IsGitVersionAtLeast('1.7.12'):
|
| @@ -2160,7 +2166,7 @@ def CMDdiff(parser, args):
|
| RunGit(['checkout', '-q', '-b', TMP_BRANCH, base_branch])
|
| try:
|
| # Patch in the latest changes from rietveld.
|
| - rtn = PatchIssue(cl.GetIssue(), False, False)
|
| + rtn = PatchIssue(cl.GetIssue(), False, False, None)
|
| if rtn != 0:
|
| return rtn
|
|
|
|
|