Mark Hills schrieb:
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.
...
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/" || \
Wouldn't that be better:
find objects ! -type d -print | cpio ...
?
-- Hannes