2012-11-28 3 views
7

Я использую git-svn для управления репозиторием Subversion с помощью git. Обычно у меня есть большое количество ветвей git в любой момент времени.Как запустить git svn rebase на всех ветвях

Мне часто необходимо обновить их, чтобы они соответствовали последнему коду в репозитории, но найти боль для запуска git checkout <branch>; git svn rebase для каждой ветки.

Есть ли более простой способ сделать это, чем писать сценарий (который должен был бы иметь дело с конфликтами)?

EDIT: Поскольку медленная часть процесса с сервером подрывной и загрузки обновлений, это быстрее, чтобы запустить git svn rebase на одной ветви, а затем git svn rebase --local на остальных.

Есть ли еще лучший способ?

+0

Интересный вопрос, который я хотел бы знать, если есть более простой способ. Но насколько я знаю, нет ярлыка. Вы действительно работаете над всеми этими отраслями? – Konst

+0

Я обычно работаю над несколькими работами по разработке сразу. Кроме того, мне нравится следить за любыми ветвями, над которыми я сейчас не работаю, поскольку в противном случае я склонен считать, что мне нужно делать болезненные слияния дальше по линии. –

ответ

4

Я думаю, что ваша правка имеет решение на носе:

С медленной частью процесса контактирующего сервера подрывного и загрузкой обновлений, это быстрее, чтобы запустить мерзавец SVN перебазироваться на одной ветви, а затем git rebase git-svn на остальном.

Я также работаю с множеством локальных ветвей git для своих репозиториев git-svn и ежедневно подставляю их, чтобы они как можно ближе подошли к удаленной ветке. Использование одной ветви отслеживания для отслеживания удаленной ветви, а затем перезагрузка/слияние каждой ветки с нее, по-видимому, является наиболее эффективным средством управления этой конкретной ситуацией из моего собственного ограниченного опыта.

+0

Очень верно. Невозможно переустановить их всех сразу, если они не откажутся без конфликтов. Вы в значительной степени должны делать скидки периодически. – quickshiftin

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