2015-01-22 2 views
1

У меня есть следующий сценарий:Как клонировать svn repo с git svn и уметь фиксировать как git, так и svn?

Я портирование большого репозитория, из которого некоторых каталогов, я хотел бы разделить на Git репозитории с независимой/отдельной историей, например:

git svn clone --trunk=https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/ https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/src/project1 --username myname --no-metadata -A ~/Documents/users.txt 

Это создаст мерзавец хранилище с извлеченным исходным кодом от src/project1 под багажником и с отдельной историей, и я смогу нажать его в любом месте.

Но мне нужно (в течение некоторого времени), чтобы иметь возможность нажать на svn repo, а также с учетом того, что я загрузил только историю одного каталога из моего проекта, а не туловище, это не так уж и просто, чтобы позволить :

git svn rebase 
git svn dcommit 

Как я могу это сделать? Добыв несколько РЕПО из SVN мерзавцу и совершить как Git и SVN (имея в виду, что история в этих небольших GIT РЕПО отличаются (подмножество) истории в SVN)

EDIT:

После запуска выполнив операцию клонирования, а затем git svn rebase я хотел бы получить:

git svn rebase 
Unable to determine upstream SVN information from working tree history 
+0

Почему это не так просто? Технически не должно быть никаких проблем, я думаю. Вы просто делаете 'git svn dcommit' из своей копии git-svn. –

+0

@MykolaGurov Пожалуйста, отметьте мое редактирование – Patryk

ответ

2

Вы не должны использовать --no-metadata если план пребывания в синхронизации:

svn.noMetadata, СВН-remote..noMetadata

 This gets rid of the git-svn-id: lines at the end of every commit. 

     This option can only be used for one-shot imports as git svn will 
     not be able to fetch again without metadata. 

Я не думаю, что вы также должны указать --trunk, если вы не хотите использовать ветви, и если да - было бы ожидать Ствол быть ниже главный url, не выше.

+0

Это проверит все данные и файлы репо из всего репо не из указанного подкаталога, например. 'https: // svne1.XXX.XXX.com/XXXX/svnroot/trunk/src/project1' – Patryk

+0

@Patryk вы попробовали' git svn clone https://svne1.XXX.XXX.com/XXXX/svnroot/trunk/src/project1'? Я бы ожидал, что он принесет то, что вы намереваетесь. –

Смежные вопросы