aboutsummaryrefslogtreecommitdiffstats
path: root/becommands/set_root.py
diff options
context:
space:
mode:
Diffstat (limited to 'becommands/set_root.py')
-rw-r--r--becommands/set_root.py35
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: