2012-06-15 18 views
7

ile SVN'ye dönüştürme Git ve SVN depolarını senkronize etmek için SubGit kullanıyorum. Bir uzak Git repo'yu klonlarken, bu repo'nun tüm tarihini korumak istiyorum. Aynı andaGit deposunu SubGit

svnadmin create svn_repos 
subgit-1.0.0-EAP_1381/bin/subgit configure svn_repos 
subgit-1.0.0-EAP_1381/bin/subgit install svn_repos 
git clone svn_repos gitRepo 

cd gitRepo/ 
git remote add -f newRemote git://127.0.0.1/gitRepo 
... 
From git://127.0.0.1/gitRepo 
* [new branch]  FirstProductionTag -> newRemote/FirstProductionTag 
* [new branch]  SecondProductionTag -> newRemote/SecondProductionTag 
* [new branch]  ThirdProductionTag -> newRemote/ThirdProductionTag 
* [new branch]  bugfix  -> newRemote/bugfix 
* [new branch]  bugfix2 -> newRemote/bugfix2 
* [new branch]  master  -> newRemote/master 

git merge -s ours --no-commit newRemote/master 
git read-tree --prefix=foo/bar/ -u newRemote/master 
git commit -m "Merged new Remote into subdirectory /foo/bar" 
git push origin master 

nasıl hata düzeltme ve bugfix2 şubelerden değişiklikleri birleştirebilirsiniz: Şu anda izleyin adımlar beni yalnızca ana dal tarihini kopyalamak için izin? Teşekkürler!

+0

Evgeniy, soru unvanını değiştirme konusunda ne düşünüyorsunuz? Bence şu an sahip olduğunuz asıl meseleyi yansıtmıyor. "Git deposunu SubGit ile SVN'ye dönüştürme" ya da bunun gibi bir şey öneriyorum. – vadishev

+0

Evet, haklısınız. Teşekkürler! –

+0

Harika! Teşekkür ederim. – vadishev

cevap

5

amacınız aşağıdaki uzak Git deposundan arşivinizi almak ve senkronize hem depoları tutmak, yapmak düşünün ise:

$ svnadmin create svn_repos 
$ git clone --mirror git://127.0.0.1/gitRepo svn_repos/.git 
$ subgit-1.0.0-EAP_1381/bin/subgit install svn_repos 
+0

Teşekkür ederiz! Şimdi gerektiği gibi çalışıyor. –

+0

Gerçekten teşekkür ederim – Gromy

0
O vadishev cevabı eserlerini söylemek için giriş

ve ithal etmek en basit çözümdür svn tam geçmişe sahip bir git repo.

Ben de sizin (kasıtlı git repo diğer dalları atlayarak) eşlenen için yalnızca ana dalı gerektiren gerektiğini eklemek istiyorum

, önce şöyle tek dal bayrağıyla git repo klonlamak olmalıdır:

git clone git_url --branch git_branch - tekil hedef target_folder

Teşekkür ederim vadishev.

İlgili konular