git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Clark Williams <clark.williams@gmail.com>
To: "Karl Hasselström" <kha@treskal.com>
Cc: Catalin Marinas <catalin.marinas@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH - stgit] Patch to allow import of compressed files
Date: Wed, 11 Jun 2008 12:28:08 -0500	[thread overview]
Message-ID: <48500B28.1050505@gmail.com> (raw)
In-Reply-To: <20080611062753.GB15034@diana.vm.bytemark.co.uk>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Karl Hasselström wrote:
> On 2008-06-10 08:54:58 -0500, Clark Williams wrote:
> 
>> --- 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)
>                                   ^
> Here's why I keep blathering about tests! In Python, you don't have a
> compiler to catch these for you ...
> 

Yup, caught that right after I sent the updated patch :)

>> +        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
>> -
> 
> I just realized a problem with this that was already present in your
> first version: if patch != None, so that you set pname = patch, you
> overwrite pname since you strip the .gz/.bz2 suffixes _later_.
> 

Ah, I didn't realize that patchname overrides all (should have). I'll fix that next
go-round.

> Other than that, it looks good. But you sounded tempted to go with the
> idea of just trying the decompressors rather than go by the suffix? I
> think that'd be an improvement.
> 

Yeah, it's tempting. I'll play with it a bit and see what it would take. Seems it
would just take a try/except block with logic to make the patchname right (I still
would want to remove a .gz/.bz2 suffix from the patchname).

> As for testing, you'd simply make two copies of one of the subtests in
> t1800, where you test .gz- and .bz2-compressed versions of the same
> patch. Should take about five minutes to write.
> 

I'll make sure I have tests to go with the next patch.

Clark


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iEYEARECAAYFAkhQCygACgkQqA4JVb61b9fckgCfbjep1oC3WT3hxVSo/8y6/FVM
O8AAn1GEGjvbwerEY0U0N1UlJC8Lv37R
=RHjB
-----END PGP SIGNATURE-----

  reply	other threads:[~2008-06-11 17:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-09 18:38 [PATCH - stgit] Patch to allow import of compressed files Clark Williams
2008-06-10  6:33 ` Karl Hasselström
2008-06-10  6:38   ` Asheesh Laroia
2008-06-10  8:07     ` Sverre Rabbelier
2008-06-10  9:53       ` Karl Hasselström
2008-06-10  9:57         ` Sverre Rabbelier
2008-06-10 10:28           ` Karl Hasselström
2008-06-10 10:33             ` Sverre Rabbelier
2008-06-10 14:06               ` Clark Williams
2008-06-10 14:01       ` Clark Williams
2008-06-10 13:57     ` Clark Williams
2008-06-10 14:04       ` Asheesh Laroia
2008-06-10 13:54   ` Clark Williams
2008-06-10 13:54   ` Clark Williams
2008-06-11  6:27     ` Karl Hasselström
2008-06-11 17:28       ` Clark Williams [this message]
2008-06-11 19:14         ` Karl Hasselström
2008-06-19 14:17   ` David Kågedal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48500B28.1050505@gmail.com \
    --to=clark.williams@gmail.com \
    --cc=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=kha@treskal.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).