123456789101112131415161718192021222324252627282930313233 |
- # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
- """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 getopt import getopt
- from os.path import basename
- from dulwich import porcelain
- _, args = getopt(sys.argv, "", [])
- if len(args) < 2:
- print(f"usage: {args[0]} host:path path")
- 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)
|