Show changes to 9 files +22 −17
stgit/commands/common.py, stgit/config.py, stgit/exception.py, stgit/git.py, stgit/gitmergeonefile.py, stgit/main.py, stgit/run.py, stgit/stack.py, stgit/utils.py
diff --git a/stgit/commands/common.py b/stgit/commands/common.py
index 0fc157a..27a616f 100644
--- a/stgit/commands/common.py
+++ b/stgit/commands/common.py
@@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import sys, os, os.path, re
from optparse import OptionParser, make_option
+from stgit.exception import *
from stgit.utils import *
from stgit.out import *
from stgit import stack, git, basedir
@@ -30,11 +31,11 @@ crt_series = None
# Command exception class
-class CmdException(Exception):
+class CmdException(StgException):
pass
# Utility functions
-class RevParseException(Exception):
+class RevParseException(StgException):
"""Revision spec parse error."""
pass
diff --git a/stgit/config.py b/stgit/config.py
index 51818bd..3eabc8c 100644
--- a/stgit/config.py
+++ b/stgit/config.py
@@ -20,9 +20,10 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import os, re
from stgit import basedir
+from stgit.exception import *
from stgit.run import *
-class GitConfigException(Exception):
+class GitConfigException(StgException):
pass
class GitConfig:
diff --git a/stgit/exception.py b/stgit/exception.py
new file mode 100644
index 0000000..9933e64
--- /dev/null
+++ b/stgit/exception.py
@@ -0,0 +1,3 @@
+class StgException(Exception):
+ """Base class for all StGit exceptions."""
+ pass
diff --git a/stgit/git.py b/stgit/git.py
index a0493bc..0026fd8 100644
--- a/stgit/git.py
+++ b/stgit/git.py
@@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import sys, os, re, gitmergeonefile
from shutil import copyfile
+from stgit.exception import *
from stgit import basedir
from stgit.utils import *
from stgit.out import *
@@ -28,7 +29,7 @@ from stgit.run import *
from stgit.config import config
# git exception class
-class GitException(Exception):
+class GitException(StgException):
pass
# When a subprocess has a problem, we want the exception to be a
diff --git a/stgit/gitmergeonefile.py b/stgit/gitmergeonefile.py
index 2aa5ef8..058b6ac 100644
--- a/stgit/gitmergeonefile.py
+++ b/stgit/gitmergeonefile.py
@@ -19,13 +19,14 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
import sys, os
+from stgit.exception import *
from stgit import basedir
from stgit.config import config, file_extensions, ConfigOption
from stgit.utils import append_string
from stgit.out import *
from stgit.run import *
-class GitMergeException(Exception):
+class GitMergeException(StgException):
pass
diff --git a/stgit/main.py b/stgit/main.py
index 2c8716b..f54330d 100644
--- a/stgit/main.py
+++ b/stgit/main.py
@@ -255,13 +255,10 @@ def main():
# These modules are only used from this point onwards and do not
# need to be imported earlier
+ from stgit.exception import StgException
from stgit.config import config_setup
from ConfigParser import ParsingError, NoSectionError
- from stgit.stack import Series, StackException
- from stgit.git import GitException
- from stgit.commands.common import CmdException
- from stgit.gitmergeonefile import GitMergeException
- from stgit.utils import EditorException
+ from stgit.stack import Series
try:
debug_level = int(os.environ['STGIT_DEBUG_LEVEL'])
@@ -284,9 +281,7 @@ def main():
stgit.commands.common.crt_series = command.crt_series
command.func(parser, options, args)
- except (IOError, ParsingError, NoSectionError, CmdException,
- StackException, GitException, GitMergeException,
- EditorException), err:
+ except (StgException, IOError, ParsingError, NoSectionError), err:
print >> sys.stderr, '%s %s: %s' % (prog, cmd, err)
if debug_level > 0:
raise
diff --git a/stgit/run.py b/stgit/run.py
index 7986f3b..989bb27 100644
--- a/stgit/run.py
+++ b/stgit/run.py
@@ -19,9 +19,10 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import datetime, os, subprocess
-from stgit.out import *
+from stgit.exception import *
+from stgit.out import *
-class RunException(Exception):
+class RunException(StgException):
"""Thrown when something bad happened when we tried to run the
subprocess."""
pass
diff --git a/stgit/stack.py b/stgit/stack.py
index 4d1a066..bdb4e38 100644
--- a/stgit/stack.py
+++ b/stgit/stack.py
@@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import sys, os, re
from email.Utils import formatdate
+from stgit.exception import *
from stgit.utils import *
from stgit.out import *
from stgit.run import *
@@ -30,7 +31,7 @@ from shutil import copyfile
# stack exception class
-class StackException(Exception):
+class StackException(StgException):
pass
class FilterUntil:
diff --git a/stgit/utils.py b/stgit/utils.py
index 857c0f0..3a480c0 100644
--- a/stgit/utils.py
+++ b/stgit/utils.py
@@ -2,6 +2,7 @@
"""
import errno, optparse, os, os.path, re, sys
+from stgit.exception import *
from stgit.config import config
from stgit.out import *
@@ -166,7 +167,7 @@ def rename(basedir, file1, file2):
# file1's parent dir may not be empty after move
pass
-class EditorException(Exception):
+class EditorException(StgException):
pass
def call_editor(filename):