diff options
author | Jesse Keating <jkeating@redhat.com> | 2011-01-31 12:59:36 -0700 |
---|---|---|
committer | Jesse Keating <jkeating@redhat.com> | 2011-01-31 12:59:36 -0700 |
commit | 6c9206d6e9f64b2626b3d7f81780a7cf7879b37c (patch) | |
tree | d332b4ae3f5c4e4f326fe965777354ed8f1c795e /src/pyfedpkg | |
parent | ba25162c249a065b901ef35172984648270ee2da (diff) | |
download | fedora-packager-6c9206d6e9f64b2626b3d7f81780a7cf7879b37c.tar.gz fedora-packager-6c9206d6e9f64b2626b3d7f81780a7cf7879b37c.tar.xz fedora-packager-6c9206d6e9f64b2626b3d7f81780a7cf7879b37c.zip |
Catch a traceback when trying to build from local branch
When the local branch doesn't have a merge point, catch people trying to
build from a remote url.
Diffstat (limited to 'src/pyfedpkg')
-rw-r--r-- | src/pyfedpkg/__init__.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/pyfedpkg/__init__.py b/src/pyfedpkg/__init__.py index 9c1adf3..76b4e5d 100644 --- a/src/pyfedpkg/__init__.py +++ b/src/pyfedpkg/__init__.py @@ -1182,13 +1182,16 @@ class PackageModule: # Need to check here to see if the local commit you want to build is # pushed or not branch = self.repo.active_branch - remote = self.repo.git.config('--get', - 'branch.%s.remote' % branch) - - merge = self.repo.git.config('--get', - 'branch.%s.merge' % branch).replace('refs/heads', remote) - if self.repo.git.rev_list('%s...%s' % (branch, merge)): - raise FedpkgError('There are unpushed changes in your repo') + try: + remote = self.repo.git.config('--get', + 'branch.%s.remote' % branch) + + merge = self.repo.git.config('--get', + 'branch.%s.merge' % branch).replace('refs/heads', remote) + if self.repo.git.rev_list('%s...%s' % (branch, merge)): + raise FedpkgError('There are unpushed changes in your repo') + except git.errors.GitCommandError: + raise FedpkgError('You must provide a srpm or push your changes to origin.') # Get the commit hash to build commit = self.repo.iter_commits().next().sha url = ANONGITURL % {'module': self.module} + '?#%s' % commit |