git-svn-yardımcıları büyük ölçüde svn depoları için git kullanarak kolaylaştırır komut satırı araçları topluluğudur.
git-svn-yardımcıları ana hedefi varolan svn checkout bir 'no-beyin' Aşağıdaki yerel git depo kurma yapmaktır.
Aynı zamanda (genellikle) farklı branşlarda birden ikis çalışan ve aralarında geçiş için tek git-svn deposu kullanarak giderir.
Temel kullanımı (Örnek)
Yönetici Özeti:
> Cd / yol / svn / repo
> Gitify
İşte bir örnek oturumu var:
> Cd / tmp
> Svn co https://svn.plone.org/svn/plone/plone.app.form/branches/1.1 plone.app.form
Bir 1.1 / setup.py
...
Teslim revizyon 27.228.
> Cd plone.app.form
> Gitify
/Users/tomster/.gitcache/ Bulunamadı git depo.
Önbelleğe klonlama başlatılıyor.
Svn log analiz ...
27.155 /Users/tomster/.gitcache/ içine: r10593 dan https://svn.plone.org/svn/plone/plone.app.form/ Klonlama
/Users/tomster/.gitcache/plone.app.form/.git/ Başlatıldı boş Git deposu
...
Git şube 'yerel / 1.1' artık takip ediyor svn şube '1.1':
Yerel şube Açık # / 1.1
hiçbir şey işlemek için (çalışma dizini temiz)
> Git branch
* Yerel / 1.1
& Nbsp; ana
Unutulmaması gereken nokta:
& Nbsp; * gitify (burada https://svn.plone.org/svn/plone/plone.app.form/) paket kök svn günlüğüne bulundu revizyonlar klonlama sınırlı. Özellikle büyük depoları üzerinde büyük bir zaman tasarrufu, (örneğin plone.collective gibi)
& Nbsp; * gitify yerinde değil ~ / .gitcache de git depo yarattı
& Nbsp; * gitify yerel bir yerel şube / (uzak) svn şube 1.1 aşağıda 1.1 oluşturulan ve geçiş
Birden check-out
Uygulamada genellikle gövdede ve bir özellik şube belirli bir deponun farklı yerel kopyaları, yani birlikte çalışacaktır. Yukarıda oluşturulan .gitcache dizini kullanışlı geldiğinde budur. En yolumdan önceki ödeme taşımak ve gövde takip bakım ödeme yaratalım:
> Cd ..
> Mkdir özellik şube
> Mv plone.app.form özellik şube /
> Mkdir bakım
> Cd bakım /
> Svn co https://svn.plone.org/svn/plone/plone.app.form/trunk plone.app.form
Bir plone.app.form / setup.py
...
& Nbsp U plone.app.form
Teslim revizyon 27.228.
Biz gitify burada çalıştırırsanız ne olur ?:
> Cd plone.app.form /
> Gitify
Git şube 'yerel / gövde' Şimdi svn şube 'gövde' takip ediyor:
Şube, yerel / gövde üzerinde #
hiçbir şey işlemek için (çalışma dizini temiz)
Şimdi önbellek dizininde mevcut git depo kullanıldığı gibi, bu işlem çok daha hızlı gitti, dikkat edin. Bu da artık yerel şubelerinde bakarak kanıtladığı edilebilir:
> Git branch
& Nbsp; yerel / 1.1
* Yerel / gövde
& Nbsp; ana
Uyarılar
Bu şekilde 'Geri Dönüşüm' .git iyi pratikte (belki de şaşırtıcı) çalışır, ancak aşağıdaki akılda tutmak gerekir:
Tüm kasalar aynı endeksi paylaşın!
Şimdi bu bizim özelliği şubesine geri geçerek anlamı ne bir göz atalım:
> Cd ../../feature-branch/plone.app.form/
> Git durumu
Şube, yerel / gövde üzerinde #
# Değiştirildi ama güncellenmiş değil:
# (Kullanım "git ... / rm eklemek" taahhüt ne olacağını güncellemek için)
# (Kullanım "git ödeme - ..." çalışma dizininde değişiklikleri atmak için)
#
# Modifiye: docs / history.txt
...
# Silindi: plone / app / formu / kss / testler / test_kss.py
...
#
# Untracked dosyalar:
# (Kullanım "git ekleyin ..." taahhüt edilecek ne dahil)
#
# Plone / app / formu / testler / test_kss.py
Wohah! Ne oldu şimdi .git gövdede işaret ve dosya sistemi neyi temsil beri böylece durum komutu, bu ve yerel değişiklikler gibi bizim şube arasındaki farkı gösterir olmasıdır. Biz subversions durumu komutunu kullanarak doğrulayabilirsiniz:
> Svn st
Vay be! Sırayla tüm! Ama git ile ne yapmalı? Biz gövde üzerinde çalışıyor bitmiş ve geri özelliği şube almak istiyorum, ama git endeksi tüm yanlış ettik ?! Basit: Sadece gitify yeniden çalıştırın:
> Gitify
Git şube 'yerel / 1.1' artık takip ediyor svn şube '1.1':
Yerel şube Açık # / 1.1
hiçbir şey işlemek için (çalışma dizini temiz)
Temelde, bu aynı paketin birden check-out çalışırken hatırlamamız gerekiyor hepsi bu: Check-out arasında geçiş yaparken daima gitify çalıştırmak
Bu sürümde Yeni nedir :
cannonical depo https://github.com/collective şimdi
- olduğunu. [Rossp]
- zaten git'e için yerel şubesi vardır svn şube geçerken işleme Fix. [Rossp]
sürüm 0.8 yeni nedir:
- init komutu boyunca takip Yap svn deposu olmuştur eğer Başka bir dala geçti. Sorunu bildirdiği için Calvin Hendryx'in-Parker sayesinde. [Tomster]
sürüm 0.7 yeni nedir:
- çalışma kopyalarını oluşturmak yerine sembolik tam kopyalarını kullanın. Bu, aynı depo birden fazla kopya ile çalışan ve büyük ölçüde çatışmaların riskini azaltır zaman senkronize dışarı git ve svn depo sahip sorunu önler.
- Bu da demektir getirme komutu artık sadece (örneğin, crontab üzerinden çalıştırmak için güvenli hale) çalışma kopyası değiştirmeden önbellek çalışır ki
- Bir eski stil çalışma kopyası karşı gitify Running bir hata üretecektir. Sadece sembolik ve yeniden çalıştıran gitify ilaçlar, ancak. silme
- diğer etkisi, init komutu artık sadece (aynı depo farklı çalışma kopyaları arasında geçiş sonrası komutu yeniden çalıştırmak için artık gerekli değildir) her çalışma kopyası için bir kez ihtiyaç olmasıdır.
- gitify nedenle (ne git ne svn w şey gibi / açık eylem tedariki o) init komutu artık varsayılan. Ayrıca, bu init gitify (arka) den yeniden adlandırıldı. [Tomster]
- yardım, --version izin ve dışında .svn dizinleri [tomster] çalıştırılacak komutları getir
sürüm 0.5 yeni nedir:
bir git-svn rebase gerçekleştirdiğinde
- eklendi gitify güncelleme komutu, Mevcut svn ödeme için operasyon değil, aynı zamanda gracelully kaydedilmemiş yerel değişiklikleri kolları (git svn aksine ancak svn yaptığı gibi)
- kullanıcı geribildirim için günlük modülü kullanmak artık. Bu fikir oldukça yanlış oldu
sürüm 0.4 yeni nedir:
- giriş noktaları sadece gitify kullanmak için Refactored. Diğer tüm komutlar artık gitify alt komutları şunlardır:
- gs-kesinleştirme gitify itme ile değiştirilmiştir
- gs-getir getir gitify ile değiştirilmiştir
- Her komutun eklendi kullanım ve yardım çıkışı.
- sadece şimdiye yine ana gitify komutuyla birlikte kullanıldığı gibi gs-klon giriş noktası kaldırıldı.
- stdout sadece baskı yerine uygun günlüğü kullanın
- Bir svn deposu klonlama ve ona geri uygulanıyor döngüsünü tamamlama / Tüm güncellemeyi kapsayan işlevsel testleri dahil olmak üzere kapsamlı testler, eklendi.
nedir sürüm 0.3.1 Yeni:
- bugfix: gibi, özel adlar kullanmayın Onlar yüklenmemiş olabilir. Bu giderir http://github.com/tomster/git-svn-helpers/issues#issue/2
- bugfix: Bu) http://github.com/tomster/git-svn-helpers/issues#issue/1 giderir bağımlılık gibi Açıkça ElementTree liste
nedir sürüm 0.3 Beta strong> Yeni:
- Eklenenler geri taahhüdünde yardımcı olur komutu gs-taahhüt svn ve tutmak git ve senkronize svn
nedir sürüm 0.2 Beta strong> Yeni:
- önbellek tutmak yardımcı komutu gs-fetch Eklenenler up-to-date
Gereksinimler :
- Python
Yorum Bulunamadı