فهرست منبع

Make local path argument to clone.py optional.

timmy61109 4 سال پیش
والد
کامیت
6769e0653f
1فایلهای تغییر یافته به همراه24 افزوده شده و 8 حذف شده
  1. 24 8
      examples/clone.py

+ 24 - 8
examples/clone.py

@@ -1,18 +1,34 @@
-#!/usr/bin/python
-# This trivial script demonstrates how to clone a remote repository.
-#
-# Example usage:
-#  python examples/clone.py git://github.com/jelmer/dulwich dulwich-clone
+"""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 dulwich
+"""
+
 
 import sys
+
+from os.path import basename
+
 from getopt import getopt
+
 from dulwich import porcelain
 
-opts, args = getopt(sys.argv, "", [])
-opts = dict(opts)
+
+_, args = getopt(sys.argv, "", [])
+
 
 if len(args) < 2:
     print("usage: %s host:path path" % (args[0], ))
     sys.exit(1)
 
-porcelain.clone(args[1], args[2])
+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)