Как объединить несколько пультов Subversion в одну главную ветку - PullRequest
2 голосов
/ 15 июля 2011

Я хочу отслеживать несколько репозиториев Subversion в одном репозитории git.Мне удалось заставить git svn получить все репозитории subversion в их собственные удаленные ветки.Так что теперь

$ git branch -a
master
remotes/svn/Project1
remotes/svn/Project2
remotes/svn/Project3

Что кажется хорошим.Теперь я хотел бы объединить все эти ветви в master, но в подкаталогах, так как все они содержат одинаковые именованные файлы.Я попытался извлечь одну из веток, переместить файлы в подкаталог, зафиксировать и затем слить в master.Но это приводит к ошибке:

remote: error: refusing to update checked out branch: refs/heads/CPSP
remote: error: By default, updating the current branch in a non-bare repository
... 

Что было бы правильным способом архивировать это это?Чтобы было ясно, я бы хотел получить репозиторий, который выглядит следующим образом:

Project1/
Project2/
Project3/

Просто чтобы прояснить, эти каталоги не существуют в репозиториях Subversion.только отслеживать репозитории subversion, но не фиксировать их (хотя это было бы неплохо) Tnx!

1 Ответ

0 голосов
/ 15 июля 2011

Боюсь, с помощью простых операций git вы не сможете этого добиться.

Если вы считаете, что git-репозиторий является деревом содержимого, в любой момент времени он может иметь только 1 снимок.Поэтому, если вы отобразите несколько репозиториев SVN в разных удаленных ветвях, вы никогда не увидите их все одновременно.

Если вы действительно хотите видеть папки одного и того же типа, приведенный ниже способ может немного облегчить вашу больбит:

  1. создать родительскую папку
  2. создать папку для проекта1
  3. перейти в папку проекта1 и клонировать репозиторий svn здесь
  4. сделатьто же самое для всех проектов, которые вы хотите отслеживать
  5. вернитесь в родительскую папку
  6. создайте пакет / скрипт для каждого проекта и извлеките содержимое SVN

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...