| Index: gclient_scm.py | 
| diff --git a/gclient_scm.py b/gclient_scm.py | 
| index cc11612c3789ff6300b84ae4e639e36d764f6c0a..c65f48f94984700bc21bedd56c2525e0c012760e 100644 | 
| --- a/gclient_scm.py | 
| +++ b/gclient_scm.py | 
| @@ -168,8 +168,9 @@ class GitWrapper(SCMWrapper): | 
| self._CheckMinVersion("1.6.6") | 
|  | 
| default_rev = "refs/heads/master" | 
| -    url, revision = gclient_utils.SplitUrlRevision(self.url) | 
| +    url, deps_revision = gclient_utils.SplitUrlRevision(self.url) | 
| rev_str = "" | 
| +    revision = deps_revision | 
| if options.revision: | 
| # Override the revision number. | 
| revision = str(options.revision) | 
| @@ -288,7 +289,7 @@ class GitWrapper(SCMWrapper): | 
| # this command VERY likely to produce a rebase failure. For now we | 
| # assume origin is our upstream since that's what the old behavior was. | 
| upstream_branch = 'origin' | 
| -        if options.revision: | 
| +        if options.revision or deps_revision: | 
| upstream_branch = revision | 
| self._AttemptRebase(upstream_branch, files=files, | 
| verbose=options.verbose, printed_path=printed_path) | 
|  |