'in ne denk gıt için?kullanın-taahhüt-kat
Benim sunucuda benim yerel ve dosyaların zaman damgaları eşit olması gerekiyor. Bu son her dosya değiştirilmiş, işlendiği zaman, böylece kullanmak-taahhüt-kat=config doğru ayarlayarak Subversion ile gerçekleştirilir.
Her zaman benim depoyu ben klon, dosyaların zaman damgaları son uzak depodaki değiştirildi, repo klonladım zaman değil yansıtmasını istiyorum.
Gıt ile bunu yapmak için herhangi bir yolu var mı?
CEVAP
Ancak, eğergerçekteno zaman kontrol standartlarıyla kez bu komut dosyasını kullanarak deneyin ve (çalıştırılabilir) taahhüt dosyası $GİT_DİR/kullanmak istiyorum.git/hooks/-ödeme sonrası:
#!/bin/sh -e
OS=${OS:-`uname`}
old_rev="$1"
new_rev="$2"
get_file_rev() {
git rev-list -n 1 "$new_rev" "$1"
}
if [ "$OS" = 'Linux' ]
then
update_file_timestamp() {
file_time=`git show --pretty=format:%ai --abbrev-commit "$(get_file_rev "$1")" | head -n 1`
touch -d "$file_time" "$1"
}
elif [ "$OS" = 'FreeBSD' ]
then
update_file_timestamp() {
file_time=`date -r "$(git show --pretty=format:%at --abbrev-commit "$(get_file_rev "$1")" | head -n 1)" ' %Y%m%d%H%M.%S'`
touch -h -t "$file_time" "$1"
}
else
echo "timestamp changing not implemented" >&2
exit 1
fi
IFS=`printf '\t\n\t'`
for file in `git ls-files`
do
update_file_timestamp "$file"
done
Bu komut büyük depoları kontrol için oldukça büyük bir gecikme büyük dosya, büyük dosya boyutları büyük miktarda anlamına gelir) neden olacağını unutmayın.
Nasıl içeren bir taahhüt verilen şube ...
Nasıl grep sadece dosya adları (in-lin...
≪span> yerine; simgeler için kull...
biri için git diff taahhüt...
gerektiren ve zaman tanımlamak için ku...