When I try to do set-root on a git repository, I get:
# be set-root .
Traceback (most recent call last):
File "/usr/local/bin/be", line 55, in <module>
sys.exit(execute(sys.argv[1], sys.argv[2:]))
File "/usr/lib/python2.5/site-packages/libbe/cmdutil.py", line 105, in execute
File "/usr/lib/python2.5/site-packages/becommands/set_root.py", line 57, in execute
File "/usr/lib/python2.5/site-packages/libbe/bugdir.py", line 110, in create_bug_dir
File "/usr/lib/python2.5/site-packages/libbe/bugdir.py", line 70, in set_version
File "/usr/lib/python2.5/site-packages/libbe/git.py", line 51, in set_file_contents
File "/usr/lib/python2.5/site-packages/libbe/git.py", line 38, in add_id
File "/usr/lib/python2.5/site-packages/libbe/git.py", line 33, in invoke_client
File "/usr/lib/python2.5/site-packages/libbe/rcs.py", line 63, in invoke
File "/usr/lib/python2.5/subprocess.py", line 594, in __init__
errread, errwrite)
File "/usr/lib/python2.5/subprocess.py", line 1147, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory: ''
because the cwd argument for Popen is set to '' (the empty string).
The following patch fixes the issue:
--- libbe/git.py 2008-06-22 19:52:14.000000000 -0400
+++ libbe/git.py 2008-06-23 00:53:39.000000000 -0400
@@ -26,7 +26,7 @@
return filename
def invoke_client(*args, **kwargs):
- directory = kwargs['directory']
+ directory = kwargs['directory'] or None
expect = kwargs.get('expect', (0, 1))
cl_args = ["git"]
cl_args.extend(args)