SORU
26 Aralık 2009, CUMARTESİ


'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
10 Ocak 2010, Pazar


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Git

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • fast2hell

    fast2hell

    16 AĞUSTOS 2006
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006