From 7088a69b556dad26c9b1324f20427e13875ebcf2 Mon Sep 17 00:00:00 2001 From: Chenxiong Qi Date: Nov 25 2016 07:00:34 +0000 Subject: Hint for fixing nontracking branch Resolves: BZ#1325775 Signed-off-by: Chenxiong Qi --- diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py index a6bc4ec..e9c06fc 100644 --- a/pyrpkg/__init__.py +++ b/pyrpkg/__init__.py @@ -1820,9 +1820,14 @@ class Commands(object): 'to see details' % self.path) if all_pushed: 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) + 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) + except git.GitCommandError: + raise rpkgError('Branch {0} does not track remote branch.\n' + 'Use the following command to fix that:\n' + ' git branch -u origin/REMOTE_BRANCH_NAME'.format(branch)) if self.repo.git.rev_list('%s...%s' % (merge, branch)): raise rpkgError('There are unpushed changes in your repo')