progress=errstream.write)
r[b"HEAD"] = remote_refs[b"HEAD"]
if checkout:
- errstream.write(b'Checking out HEAD')
+ errstream.write(b'Checking out HEAD\n')
r.reset_index()
except:
r.close()
import sys
from getopt import getopt
-from dulwich.repo import Repo
-from dulwich.client import get_transport_and_path
+from dulwich import porcelain
opts, args = getopt(sys.argv, "", [])
opts = dict(opts)
print("usage: %s host:path path" % (args[0], ))
sys.exit(1)
-# Connect to the remote repository
-client, host_path = get_transport_and_path(args[1])
-path = args[2]
-
-# Create the local repository
-r = Repo.init(path, mkdir=True)
-
-# Fetch the remote objects
-remote_refs = client.fetch(host_path, r,
- determine_wants=r.object_store.determine_wants_all,
- progress=sys.stdout.write)
-
-# Update the local head to point at the right object
-r["HEAD"] = remote_refs["HEAD"]
-
-r._build_tree()
+porcelain.clone(args[1], args[2])