"""Clone. This trivial script demonstrates how to clone or lock a remote repository. Example usage: 1. python examples/clone.py git://github.com/jelmer/dulwich 2. python examples/clone.py git://github.com/jelmer/dulwich.git 3. python examples/clone.py git://github.com/jelmer/dulwich.git dulwich """ import sys from os.path import basename from getopt import getopt from dulwich import porcelain _, args = getopt(sys.argv, "", []) if len(args) < 2: print("usage: %s host:path path" % (args[0], )) sys.exit(1) elif len(args) < 3: target_path = basename(args[1].split(":")[-1]) if target_path[-4:] == ".git": target_path = target_path[:-4] else: target_path = args[2] porcelain.clone(args[1], target_path)