|
@@ -63,6 +63,8 @@ def main(argv=None):
|
|
|
if args.noconfig:
|
|
|
return 1
|
|
|
|
|
|
+ logger = logging.getLogger(__name__)
|
|
|
+
|
|
|
sourcedir_absolute = os.path.abspath(args.sourcedir)
|
|
|
confdir_absolute = (
|
|
|
os.path.abspath(args.confdir)
|
|
@@ -96,12 +98,19 @@ def main(argv=None):
|
|
|
config.init_values()
|
|
|
|
|
|
# Get relative paths to root of git repository
|
|
|
- gitroot = pathlib.Path(".").resolve()
|
|
|
+ gitroot = pathlib.Path(
|
|
|
+ git.get_toplevel_path(cwd=sourcedir_absolute)
|
|
|
+ ).resolve()
|
|
|
+ logger.debug("Git toplevel path: %s", str(gitroot))
|
|
|
sourcedir = os.path.relpath(sourcedir_absolute, str(gitroot))
|
|
|
+ logger.debug(
|
|
|
+ "Source dir (relative to git toplevel path): %s", str(sourcedir)
|
|
|
+ )
|
|
|
if args.confdir:
|
|
|
confdir = os.path.relpath(confdir_absolute, str(gitroot))
|
|
|
else:
|
|
|
confdir = sourcedir
|
|
|
+ logger.debug("Conf dir (relative to git toplevel path): %s", str(confdir))
|
|
|
conffile = os.path.join(confdir, "conf.py")
|
|
|
|
|
|
# Get git references
|
|
@@ -129,7 +138,7 @@ def main(argv=None):
|
|
|
# Clone Git repo
|
|
|
repopath = os.path.join(tmp, gitref.commit)
|
|
|
try:
|
|
|
- git.copy_tree(gitroot.as_uri(), repopath, gitref)
|
|
|
+ git.copy_tree(str(gitroot), gitroot.as_uri(), repopath, gitref)
|
|
|
except (OSError, subprocess.CalledProcessError):
|
|
|
logger.error(
|
|
|
"Failed to copy git tree for %s to %s",
|