git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCHv3] clone: support cloning full bundles

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 28, 2008, 17:57 UTC
Message-ID
<7vmyplj75o.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1204165372-12175-1-git-send-email-sbejar@gmail.com>
Santi Béjar <sbejar@gmail.com> writes:
Show 20 quoted lines
> diff --git a/git-clone.sh b/git-clone.sh
> index 0d686c3..0580b5a 100755
> --- a/git-clone.sh
> +++ b/git-clone.sh
> @@ -210,11 +210,14 @@ if base=$(get_repo_base "$repo"); then
>  	then
>  		local=yes
>  	fi
> +elif [ -f "$repo" ] ; then
> +	case "$repo" in /*);; *) repo="$PWD/$repo" ; esac
>  fi
>  
>  dir="$2"
>  # Try using "humanish" part of source repo if user didn't specify one
> -[ -z "$dir" ] && dir=$(echo "$repo" | sed -e 's|/$||' -e 's|:*/*\.git$||' -e 's|.*[/:]||g')
> +[ -z "$dir" ] && dir=$(echo "$repo" | sed -e 's|/$||' -e 's|:*/*\.git$||' -e 's|.*[/:]||g') &&
> +[ -f "$repo" ] && dir=$(echo "$repo" | sed -e 's|/*\.bundle$||' -e 's|.*/||g')
>  [ -e "$dir" ] && die "destination directory '$dir' already exists."
>  [ yes = "$bare" ] && unset GIT_WORK_TREE
>  [ -n "$GIT_WORK_TREE" ] && [ -e "$GIT_WORK_TREE" ] &&

This sequence was terse, to the point and very readable when the logic was simpler, but now it is getting out of hand. I think it is a time for rewriting to something more verbose, like...

	# Decide the directory name of the new repository
        if test -n "$2"
        then
        	dir="$2"
	else
        	# Derive one from the repository name
                if test -f "$repo"
                then
                        # Cloning from a bundle
                        dir=... humanish ...
                else
                        dir=... humanish ...
                fi
        fi
Previous: Santi BéjarNext: Santi Béjar
Message 2 of 3 in “[PATCHv3] clone: support cloning full bundles”
  1. Santi BéjarFeb 28, 2008
  2. Junio C HamanoFeb 28, 2008
  3. [PATCHv2] clone: support cloning full bundlesSanti Béjar, Feb 29, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.