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)

