diff options
author | Jesse Keating <jkeating@redhat.com> | 2011-02-17 18:27:32 -0700 |
---|---|---|
committer | Jesse Keating <jkeating@redhat.com> | 2011-02-18 12:04:27 -0700 |
commit | b7996b83ebe280a3558c035fc9c56d5cfba2cdf9 (patch) | |
tree | caaa0fe48392de56511fd752911f63a50e30df9c /src/pyfedpkg | |
parent | 4c7436440b4687e618347929ce9ac054acbb319c (diff) | |
download | fedora-packager-b7996b83ebe280a3558c035fc9c56d5cfba2cdf9.tar.gz fedora-packager-b7996b83ebe280a3558c035fc9c56d5cfba2cdf9.tar.xz fedora-packager-b7996b83ebe280a3558c035fc9c56d5cfba2cdf9.zip |
Improve the way we detect branch data
Not only does this now work with old/new style branches, but it also
fixed up some improper regex use that could have caught too much. It
can be simplified once the branch renames are done.
Diffstat (limited to 'src/pyfedpkg')
-rw-r--r-- | src/pyfedpkg/__init__.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/pyfedpkg/__init__.py b/src/pyfedpkg/__init__.py index ac28178..0b00487 100644 --- a/src/pyfedpkg/__init__.py +++ b/src/pyfedpkg/__init__.py @@ -1069,7 +1069,7 @@ class PackageModule: raise FedpkgError('Unable to find remote branch. Use --dist') # Trim off the refs/heads so that we're just working with the branch # name - merge = merge.strip('refs/heads/') + merge = merge.replace('refs/heads/', '') # Search for one of our known branches, raise if we can't find one # to deal with if re.match(BRANCHRE, merge): @@ -1092,15 +1092,20 @@ class PackageModule: # catch branches such as f14-foobar branchre = 'f\d\d$' + # Create another regex for the older style branches that have /master + oldbranchre = 'f\d\d\/master$' + # Find the repo refs for ref in self.repo.refs: # Only find the remote refs if type(ref) == git.refs.RemoteReference: - # grab the top level name - branch = ref.name.split('/')[1] - if re.match(branchre, branch): - # Add it to the fedoras - fedoras.append(branch) + # Search for branch name by splitting off the remote + # part of the ref name and returning the rest. This may + # fail if somebody names a remote with / in the name... + if re.match(branchre, ref.name.split('/', 1)[1]) or \ + re.match(oldbranchre, ref.name.split('/', 1)[1]): + # Add just the simple f## part to the list + fedoras.append(ref.name.split('/')[1]) if fedoras: # Sort the list fedoras.sort() |