Subject: Signing by StGIT broken

From: Pavel Roskin <[email-masked]>
Date: Wed, 09 Jan 2008 21:53:16 -0500

Hello!

"stg edit --sign" is not working anymore.  It was working in version
0.14.

$ stg edit --sign
Checking for changes in the working directory ... done
Updating patch "id123" ... Traceback (most recent call last):
  File "/home/proski/bin/stg", line 43, in <module>
    main()
  File "home/proski/lib/python2.5/site-packages/stgit/main.py", line 278, in main
  File "home/proski/lib/python2.5/site-packages/stgit/commands/edit.py", line 235, in func
  File "home/proski/lib/python2.5/site-packages/stgit/commands/edit.py", line 93, in __update_patch
  File "home/proski/lib/python2.5/site-packages/stgit/commands/common.py", line 469, in parse_patch
  File "home/proski/lib/python2.5/site-packages/stgit/commands/common.py", line 359, in __split_descr_diff
AttributeError: 'NoneType' object has no attribute 'split'

git-bisect reports this:

a08e424021d32bf93ee7bb13ed0a9d7313367660 is first bad commit
commit a08e424021d32bf93ee7bb13ed0a9d7313367660
Author: Karl HasselstrÃ¶m <[email-masked]>
Date:   Thu Dec 13 00:13:55 2007 +0100

    Make generic --message/--file/--save-template flags
    
    And let "stg edit" use them.
    
    Signed-off-by: Karl HasselstrÃ¶m <[email-masked]>

:040000 040000 0c9317423123d328e8bf03866c08fa458808dce4 9195692410c3ed8171f2f799a8e3efd101a89a14 M      stgit

I suspect this part:

- elif options.file:
- __update_patch(pname, options.file, options)
+ elif any([options.message, options.authname, options.authemail,
+ options.authdate, options.commname, options.commemail,
+ options.sign_str]):
+ out.start('Updating patch "%s"' % pname)
+ __update_patch(pname, options.message, options)
+ out.done()

options.message is passed even if it's None and something else (like
options.sign_str) is defined.

-- 
Regards,
Pavel Roskin