gbp-pq: refactor args of write_patch()
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Thu, 12 Jan 2012 13:40:54 +0000 (15:40 +0200)
committerGuido Günther <agx@sigxcpu.org>
Mon, 20 Feb 2012 14:43:08 +0000 (15:43 +0100)
Allows defining the formerly hardcoded patch_dir. This makes
write_patch() re-usable in the upcoming RPM-tools.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
gbp/scripts/pq.py

index ec9ae6d..ad94525 100755 (executable)
@@ -72,10 +72,10 @@ def pq_branch_base(pq_branch):
     if is_pq_branch(pq_branch):
         return pq_branch[len(PQ_BRANCH_PREFIX):]
 
-def write_patch(patch, options):
+def write_patch(patch, patch_dir, options):
     """Write the patch exported by 'git-format-patch' to it's final location
        (as specified in the commit)"""
-    oldname = patch[len(PATCH_DIR):]
+    oldname = os.path.basename(patch)
     newname = oldname
     tmpname = patch + ".gbp"
     old = file(patch, 'r')
@@ -101,9 +101,9 @@ def write_patch(patch, options):
             newname = m.group('name')
 
     if topic:
-        topicdir = os.path.join(PATCH_DIR, topic)
+        topicdir = os.path.join(patch_dir, topic)
     else:
-        topicdir = PATCH_DIR
+        topicdir = patch_dir
 
     if not os.path.isdir(topicdir):
         os.makedirs(topicdir, 0755)
@@ -139,7 +139,7 @@ def export_patches(repo, branch, options):
         f = file(SERIES_FILE, 'w')
         gbp.log.info("Regenerating patch queue in '%s'." % PATCH_DIR)
         for patch in patches:
-            filename = write_patch(patch, options)
+            filename = write_patch(patch, PATCH_DIR, options)
             f.write(filename[len(PATCH_DIR):] + '\n')
 
         f.close()