-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Karl Hasselström wrote: > > Some comments here: > > * By my reading of the docs, the second argument to BZ2File defaults > to 'r' anyway, so you could omit it. > > * We try to use single quotes wherever possible (except when triple > quoting). You're using a mix ... > > * .replace() will happily replace anywhere in the string. Please > consider using stgit.util.strip_suffix() instead. > > And last but not least, it'd be terrific if you'd let me bully you > into adding .gz and .bz2 test cases for t1800-import. :-) > Sigh. Never reply before your second cup of coffee. Updated patch attached. Clark -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iEYEARECAAYFAkhOh7EACgkQqA4JVb61b9c4BgCeJH0GUzQJCDdJ8gx5287KE/KO uTwAoKD7V4JMqHnYmFCg01ij5aBbLDbq =Yy/n -----END PGP SIGNATURE-----
Patch to allow import from compressed (.gz and .bz2) files From: Clark Williams <williams@xxxxxxxxxx> 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..050301a 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 = strip_suffix('.gz', filename) + elif filename.endswith('.bz2'): + import bz2 + f = bz2.BZ2File(filename) + pname = strip_suffic('.bz2', filename) + 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)