# 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)