You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-python/pbr/files/pbr-1.4.0_no-git.patch

44 lines
1.2 KiB

From 5c0bb9186fe2d65901744b00af24c8c50b3e1d29 Mon Sep 17 00:00:00 2001
From: Robert Collins <rbtcollins@hp.com>
Date: Mon, 10 Aug 2015 16:22:26 +1200
Subject: Handle git being entirely absent
When we try to find the git directory, if git is not present, treat
that the same as an error from git itself. Sadly tests for this are
nearly impossible to meaningfully write, since we always have git
installed. I can do a mock based test if folk want one.
Change-Id: If6160d1fb3def8133bdd0b66105e60ef93f80f82
Closes-Bug: #1481468
diff --git a/pbr/git.py b/pbr/git.py
index b4ae300..60acd3c 100644
--- a/pbr/git.py
+++ b/pbr/git.py
@@ -18,6 +18,7 @@ from __future__ import unicode_literals
import distutils.errors
from distutils import log
+import errno
import io
import os
import re
@@ -64,7 +65,13 @@ def _run_git_command(cmd, git_dir, **kwargs):
def _get_git_directory():
- return _run_shell_command(['git', 'rev-parse', '--git-dir'])
+ try:
+ return _run_shell_command(['git', 'rev-parse', '--git-dir'])
+ except OSError as e:
+ if e.errno == errno.ENOENT:
+ # git not installed.
+ return ''
+ raise
def _git_is_installed():
--
cgit v0.10.2