2013-11-18 1 views
0

Один из проектов, над которыми я работаю, использует репозиторий SVN для управления его кодом. Я хотел бы использовать Git для управления версиями на всех моих машинах, а также иметь возможность размещать копию репозитория на GitHub. У меня есть графическое изображение того, как я хочу, чтобы вещи были настроены или объединены, но я не могу опубликовать их еще.Как правильно управлять несколькими Git-клонами SVN-репозитория?

Мне удалось использовать git svn clone, чтобы клонировать соединительную линию SVN на мою машину, и затем можно использовать Git для локализации локально, но когда я попытался объединить изменения с моей ветвью развития обратно в master, чтобы я мог git svn dcommit их Я получил следующее сообщение об ошибке:

Unable to determine upstream SVN information from HEAD history

затем я попытался отменить слияние и git svn rebase и я получил эту ошибку:

Unable determine upstream svn information working tree history

Очевидно, я делаю что-то неправильно, но я не могу показаться, чтобы плавник d любая информация о том, как исправить эти ошибки, которые работают. Кроме того, сообщения, которые я нахожу по этому вопросу, не дают никаких советов о том, как избежать повторения в той же ситуации в будущем.

Итак, это то, что мне удалось сделать неправильно. Есть также несколько вещей, которые мне не удалось сделать вообще, когда пытались свести SVN-репо и мои локальные клоны Git. Первый из них отслеживает только одну из многих ветвей, присутствующих в репо SVN. Большинство филиалов там меня не волнуют, поэтому я хотел бы избежать накладных расходов на синхронизацию со всеми из них. Каков правильный способ сказать Git отслеживать отдельную ветвь SVN? Если новая ветвь добавляется в репо SVN после того, как я сделаю свой git svn clone, смогу ли я начать отслеживать его?

Наконец, я хотел бы иметь возможность разместить копию моего Git-репо на GitHub, а затем использовать его для синхронизации моей разработки между моими машинами. С моей первой попытки в этом казалось, что ни одна из относящихся к SVN информации не попала в репозиторий GitHub. Когда я клонировал репо из GitHub на новую машину, а затем попытался запустить git svn rebase, он потерпел неудачу. Есть ли способ получить необходимую информацию SVN, которая правильно или точно клонирована Git, или мне придется повторно добавить ссылки SVN и метаданные на каждом компьютере после того, как я клонировал репозиторий Git?

Заранее благодарим за помощь каждого.

ответ

0

У вас нет. Вы работаете над тем, чтобы заставить их перейти на git. git-svn git все еще не обрабатывает svn:mergeinfo ну. Он не обновляет свойство столько, сколько он его заменяет. (Это не стук в git - эта работа будет в значительной степени потрачена впустую)

Ваш лучший вариант - сосать его и использовать svn, пока они не перейдут на что-то более приятное. Это лучше, чем раньше, но использование git-svn может плюнуть в суп svn для остальной команды.

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