diff options
Diffstat (limited to 'becommands/set_root.py')
-rw-r--r-- | becommands/set_root.py | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/becommands/set_root.py b/becommands/set_root.py index cc21c31..1c731da 100644 --- a/becommands/set_root.py +++ b/becommands/set_root.py @@ -15,51 +15,56 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """Assign the root directory for bug tracking""" +import os.path from libbe import bugdir, cmdutil, rcs __desc__ = __doc__ def execute(args): """ - >>> from libbe import tests + >>> from libbe import utility >>> import os - >>> dir = tests.Dir() + >>> dir = utility.Dir() >>> try: - ... bugdir.tree_root(dir.name) + ... bugdir.tree_root(dir.path) ... except bugdir.NoBugDir, e: ... True True - >>> execute([dir.name]) + >>> execute([dir.path]) No revision control detected. Directory initialized. - >>> bd = bugdir.tree_root(dir.name) - >>> bd.root = dir.name - >>> dir = tests.arch_dir() - >>> os.chdir(dir.name) + >>> bd = bugdir.tree_root(dir.path) + >>> bd.root = dir.path + >>> dir_rcs = rcs.installed_rcs() + >>> dir_rcs.init(bd.dir) + >>> bd.rcs_name = dir_rcs.name + >>> del(dir_rcs) + >>> os.chdir(bd.dir) >>> execute(['.']) Using Arch for revision control. Directory initialized. - >>> bd = bugdir.tree_root(dir.name+"/{arch}") - >>> bd.root = dir.name >>> try: ... execute(['.']) ... except cmdutil.UserError, e: ... str(e).startswith("Directory already initialized: ") True - >>> tests.clean_up() >>> execute(['/highly-unlikely-to-exist']) Traceback (most recent call last): UserError: No such directory: /highly-unlikely-to-exist """ options, args = get_parser().parse_args(args) + basedir = args[0] if len(args) != 1: raise cmdutil.UsageError - dir_rcs = rcs.detect(args[0]) + if os.path.exists(basedir) == False: + raise cmdutil.UserError, "No such directory: %s" % basedir + dir_rcs = rcs.detect_rcs(basedir) + dir_rcs.root(basedir) try: - bugdir.create_bug_dir(args[0], dir_rcs) + bugdir.create_bug_dir(basedir, dir_rcs) except bugdir.NoRootEntry: - raise cmdutil.UserError("No such directory: %s" % args[0]) + raise cmdutil.UserError("No such directory: %s" % basedir) except bugdir.AlreadyInitialized: - raise cmdutil.UserError("Directory already initialized: %s" % args[0]) + raise cmdutil.UserError("Directory already initialized: %s" % basedir) if dir_rcs.name is not "None": print "Using %s for revision control." % dir_rcs.name else: |