cg-clone is described as only being used with remote repositories, but it has the nice feature of creating the destination directory for you. This patch adds two features: 1. A destination directory can (optionally) be specified. 2. The source directory can be in the local file system. The following, for example, now works: cg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git mkdir test ; cd test cg-clone ../cogito ../cogito2/ (This version of the patch actually doesn't break existing functionality.) Index: cg-clone =================================================================== --- c3aa1e6b53cc59d5fbe261f3f859584904ae3a63/cg-clone (mode:100755 sha1:4ee0685c358e094c5350b3968d013105da6ddf7e) +++ 3dc3edca08f66f90147d0cb2240274072fa8644a/cg-clone (mode:100755 sha1:e42237e0408bc3f34cc70a956c29df1251bd1571) @@ -11,13 +11,25 @@ . cg-Xlib location=$1 -[ "$location" ] || die "usage: cg-clone SOURCE_LOC" +[ "$location" ] || die "usage: cg-clone SOURCE_LOC [DEST_LOC]" location=${location%/} -dir=${location##*/}; dir=${dir%.git} +if [ "$2" == "" ]; then + dir=${location##*/}; dir=${dir%.git} +else + dir=$2 +fi + +pwd=$(pwd) +if ! echo "$location" | grep -q ":" ; then + relative_location=$(echo "$location" | sed -e "s#^[^/]#$pwd\/&#") +else + relative_location="$location" +fi + [ -e "$dir" ] && die "$dir/ already exists" mkdir "$dir" cd "$dir" -cg-init $location || exit $? +cg-init "$relative_location" || exit $? echo "Cloned to $dir/ (origin $location available as branch \"origin\")" - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Sat Apr 30 08:17:44 2005
This archive was generated by hypermail 2.1.8 : 2005-04-30 08:17:44 EST