-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This patch allows StGit to directly import compressed (.gz and .bz2) files with reasonable patch names. I do a lot of work on modified kernel trees and usually the first two things imported are a stable update patch followed immediately by an -rt patch, both of which are compressed. With this patch I can just copy the files down directly from kernel.org and import them, rather than having to keep uncompressed copies around. Hey, I'm lazy... :) Clark -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iEYEARECAAYFAkhNeL4ACgkQqA4JVb61b9cu0ACdH/Z71xh4gaD5euF3BgYnIhiO AkUAnipyN/dsTBQDyhc6uzFhxdxPeYvJ =2G71 -----END PGP SIGNATURE-----
From: Clark Williams <williams@xxxxxxxxxx> Patch to allow import from compressed (.gz and .bz2) files Signed-off-by: Clark Williams <williams@xxxxxxxxxx> --- stgit/commands/imprt.py | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/stgit/commands/imprt.py b/stgit/commands/imprt.py index 4a4b792..83dae2f 100644 --- a/stgit/commands/imprt.py +++ b/stgit/commands/imprt.py @@ -178,8 +178,22 @@ def __create_patch(filename, message, author_name, author_email, def __import_file(filename, options, patch = None): """Import a patch from a file or standard input """ + if patch: + pname = patch + else: + pname = filename + if filename: - f = file(filename) + if filename.endswith(".gz"): + import gzip + f = gzip.open(filename) + pname = filename.replace(".gz", "") + elif filename.endswith(".bz2"): + import bz2 + f = bz2.BZ2File(filename, 'r') + pname = filename.replace(".bz2", "") + else: + f = file(filename) else: f = sys.stdin @@ -197,11 +211,6 @@ def __import_file(filename, options, patch = None): if filename: f.close() - if patch: - pname = patch - else: - pname = filename - __create_patch(pname, message, author_name, author_email, author_date, diff, options)