From 909d58b2e2e3695ecfa80a54b8700fb889a02677 Mon Sep 17 00:00:00 2001 From: Nasser Grainawi Date: Fri, 19 Sep 2014 12:13:04 -0600 Subject: Support specifying non-HEADS refs as upstream While not typical, some users might have an upstream that isn't in the usual refs/heads/* namespace. There's no reason not to use those refs as the value for the upstream attribute, so support doing so. Change-Id: I5b119f1135c3268c20e7c4084682e860d3ee1fb1 --- git_config.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'git_config.py') diff --git a/git_config.py b/git_config.py index aa07d1b7..b4145e8c 100644 --- a/git_config.py +++ b/git_config.py @@ -619,8 +619,6 @@ class Remote(object): """ if IsId(rev): return rev - if rev.startswith(R_TAGS): - return rev if not rev.startswith('refs/'): rev = R_HEADS + rev @@ -628,6 +626,10 @@ class Remote(object): for spec in self.fetch: if spec.SourceMatches(rev): return spec.MapSource(rev) + + if not rev.startswith(R_HEADS): + return rev + raise GitError('remote %s does not have %s' % (self.name, rev)) def WritesTo(self, ref): -- cgit v1.2.3-54-g00ecf