Junio C Hamano <[EMAIL PROTECTED]> writes:

> The only user of "cp -l" in the Linus GIT is git-clone-script
> local optimization.  I could revert it to the version that I
> originally sent to the list, which uses cpio -pld, if your cpio
> groks that flag.

Bryan, does this work for you?

------------
Two changes to git-clone-script local optimization.

 - When local optimization is used, the variable repo has
   already been passed through get_repo_base so there is no need
   to check for .git subdirectory in there.

 - Use cpio -l instead of "cp -l".

Signed-off-by: Junio C Hamano <[EMAIL PROTECTED]>
---
diff --git a/git-clone-script b/git-clone-script
--- a/git-clone-script
+++ b/git-clone-script
@@ -48,11 +48,8 @@ test -d "$D" || usage
 case "$local,$use_local" in
 yes,yes)
        ( cd "$repo/objects" ) || {
-               repo="$repo/.git"
-               ( cd "$repo/objects" ) || {
-                   echo >&2 "-l flag seen but $repo is not local."
-                   exit 1
-               }
+               echo >&2 "-l flag seen but $repo is not local."
+               exit 1
        }
 
        # See if we can hardlink and drop "l" if not.
@@ -68,7 +65,9 @@ yes,yes)
                l=l
        fi &&
        rm -f "$D/.git/objects/sample" &&
-       cp -r$l "$repo/objects" "$D/.git/" || exit 1
+       cd "$repo" &&
+       find objects -type f -print |
+       cpio -puamd$l "$D/.git/" || exit 1
 
        # Make a duplicate of refs and HEAD pointer
        HEAD=


-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to