* Bahri Meric CANLI [2008-07-09 22:26:39+0300]
> Merhaba
Merhaba,
> Aynı programı mirror amaçlı 10'a yakın svn 5'e yakında git deposunda
> yayınlıyorum. Şimdiye kadar her biri için ayrı dizin kullanıyordum fakat
> şimdi hepsini aynı dizinde tutmanın yollarını arıyorum. Acaba bu mümkün mü?
>
> Sonuç itibariyle git .git dizinide svn de .svn dizinide bilgileri
> tutuyor. Acaba basit bir shell ile bunları tek dizinden kotrol
> edebilirmiyim.
Bu konuda önerilerim olabilir fakat sorunuzu okuduğumda aklıma düşen kuşku
değişmeyecek. Neden tek bir sürüm takip sistemi kullanmıyorsunuz? Bu bir
grup çalışması ve grupta bir kısım geliştirici svn diğer bir kısım git
kullanıyor ise acilen tek bir sistemde karar kılmanız gerekir. Yok eğer
bir kişisel projeyse işiniz daha da kolay, buna siz karar vereceksiniz.
Yani mevcut durumun doğru bir pratik olmadığını düşünüyorum.
Mevcut düzenlemede ısrarlıysanız şöyle bir şeyler olabilir:
- Git'in .svn dizinini, svn'nin ise .git dizinini göz ardı etmesini
sağlayın. Ör. .svn dizinini .gitignore'a ekleyin, .git dizinini ise svn
propset ile svn:ignore'a ekleyin.
- Bir tür "meta" sürüm takip sistemi niteliğinde bir sarmalayıcı betik
yazın. Asgari olarak update ve commit komutlarını gerçekleyen. Misal:
#!/bin/sh
set -e
do_commit () {
svn commit "$@"
git commit -a "$@" && git push origin
}
do_update () {
svn update
git pull origin
}
action=$1
shift
# TODO: hata denetimi
do_$action $@
Bir diğer seçenek ana deponun svn olması, git istemcilerinin git-svn
kullanması.
Joey Hess'in yazdığı mr (Multiple Repository management tool) adında bir
betik var, bir de ona göz atın. Oradaki bazı fikirlerden
yararlanabilirsniz.
-- roktas _______________________________________________ Linux-programlama mailing list Linux-programlama_at_liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlamaReceived on Thu 10 Jul 2008 - 01:44:06 EEST