Honour the setgid and umask when re-creating the objects directory at the destination. cpio in copy-pass mode aims to copy file permissions which causes this problem and cannot be disabled. Be explicit by copying the directory structure first, honouring the permissions at the destination, then copy the files with their existing read-only permissions. Signed-off-by: Mark Hills <mark@xxxxxxxxxxx> --- git-clone.sh | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/git-clone.sh b/git-clone.sh index 8c7fc7f..53c7e06 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -334,7 +334,10 @@ yes) fi fi && cd "$repo" && - find objects -depth -print | cpio $cpio_quiet_flag -pumd$l "$GIT_DIR/" || \ + # Create dirs using umask and permissions and destination + find objects -type d -print | (cd "$GIT_DIR" && xargs mkdir -p) && + # Copy 0444 permissions on files + find objects -type f -print | cpio $cpio_quiet_flag -pumd$l "$GIT_DIR/" || \ exit 1 fi git-ls-remote "$repo" >"$GIT_DIR/CLONE_HEAD" || exit 1 -- 1.5.5.1.126.g48d0c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html