Newer gits return 128 when git config --{rename,remove}-section fails
authorKarl Hasselström <kha@treskal.com>
Fri, 17 Apr 2009 01:02:11 +0000 (03:02 +0200)
committerKarl Hasselström <kha@treskal.com>
Fri, 17 Apr 2009 01:02:11 +0000 (03:02 +0200)
As of commit d64ec16c ("git config: reorganize to use parseopt"), git
config --rename-section and --remove-section will now call die()
instead of exit(1) when the section to be renamed or removed doesn't
exist, and die() calls exit(128). So we have to catch exit code 128 as
well.

Signed-off-by: Karl Hasselström <kha@treskal.com>
stgit/config.py

index efce097..dbca5fb 100644 (file)
@@ -73,14 +73,14 @@ class GitConfig:
         """Rename a section in the config file. Silently do nothing if
         the section doesn't exist."""
         Run('git', 'config', '--rename-section', from_name, to_name
-            ).returns([0, 1]).run()
+            ).returns([0, 1, 128]).run()
         self.__cache.clear()
 
     def remove_section(self, name):
         """Remove a section in the config file. Silently do nothing if
         the section doesn't exist."""
         Run('git', 'config', '--remove-section', name
-            ).returns([0, 1]).discard_stderr().discard_output()
+            ).returns([0, 1, 128]).discard_stderr().discard_output()
         self.__cache.clear()
 
     def set(self, name, value):