#!/usr/bin/env python
-import hashlib
+# hashlib is only available in python >= 2.5
+try:
+ import hashlib
+ _digest = hashlib.sha1
+except ImportError:
+ import sha
+ _digest = sha.new
import sys
import os
sys.path.insert(0, os.getenv("GITPYTHONLIB","."))
repo.get_revs()
repo.get_head()
- hasher = hashlib.sha1()
+ hasher = _digest()
hasher.update(repo.path)
repo.hash = hasher.hexdigest()
prefix = 'refs/testgit/%s/' % alias
debug("prefix: '%s'", prefix)
- repo.gitdir = ""
+ repo.gitdir = os.environ["GIT_DIR"]
repo.alias = alias
repo.prefix = prefix
print "import"
print "export"
- print "gitdir"
print "refspec refs/heads/*:%s*" % repo.prefix
print # end capabilities
die("Need gitdir to import")
repo = update_local_repo(repo)
- repo.exporter.export_repo(repo.gitdir)
+ repo.exporter.export_repo(repo.gitdir, args)
def do_export(repo, args):
path = os.path.join(dirname, 'testgit.marks')
print path
- print path if os.path.exists(path) else ""
+ if os.path.exists(path):
+ print path
+ else:
+ print ""
sys.stdout.flush()
update_local_repo(repo)
repo.importer.do_import(repo.gitdir)
- repo.non_local.push(repo.gitdir)
-
-
-def do_gitdir(repo, args):
- """Stores the location of the gitdir.
- """
-
- if not args:
- die("gitdir needs an argument")
- repo.gitdir = ' '.join(args)
+ if not repo.local:
+ repo.non_local.push(repo.gitdir)
COMMANDS = {
'list': do_list,
'import': do_import,
'export': do_export,
- 'gitdir': do_gitdir,
}