backports: avoid git tree reinitialization
authorLuis R. Rodriguez <mcgrof@suse.com>
Thu, 6 Nov 2014 22:48:14 +0000 (14:48 -0800)
committerLuis R. Rodriguez <mcgrof@do-not-panic.com>
Fri, 14 Nov 2014 21:47:16 +0000 (13:47 -0800)
When using backports against for packaging with --gitdebug you either
have to use --clean or assume the directory is empty already. In either
case you start fresh. With integration this will be a bit different, you
could end up with a project directory where the git tree was present but
only the target directory was empty.

Calling git init on an already existing git directory will reinitialize
your git tree, that can reset some config stuff, let's avoid that.

Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
gentree.py

index 04e8f5ee374b92bdc710e3dbbd8c0745eacdd0d0..68efce9fce57c8cb473ed848ab45125c16cb4eeb 100755 (executable)
@@ -288,7 +288,10 @@ def git_debug_init(args):
     """
     if not args.gitdebug:
         return
-    git.init(tree=args.bpid.project_dir)
+    # Git supports re-initialization, although not well documented it can
+    # reset config stuff, lets avoid that if the tree already exists.
+    if not os.path.exists(os.path.join(args.bpid.project_dir, '.git')):
+        git.init(tree=args.bpid.project_dir)
     git.commit_all("Copied backport", tree=args.bpid.project_dir)