Внешние элементы SVN, которые недоступны

Я попытался найти информацию по моей проблеме, но безуспешно. Надеюсь, ты сможешь мне помочь.

Следующий сценарий: мы работаем над проектом с клиентом и у нас есть общий SVN-репозиторий (к которому у нашего клиента есть доступ). Кроме того, у нас есть внутренний репозиторий, в котором есть общий код. Мы используем некоторые внутренние файлы и помещаем их в общий репозиторий с помощью svn-external. Это работает на нашем сайте (где у нас есть доступ к обоим репозиториям), но не к нашему клиенту, который получает сообщение об ошибке, потому что он не может получить доступ к нашему внутреннему репо.

Как бы вы об этом позаботились? Есть ли способ иметь внешний сервер "на стороне сервера"? Или можно как-то скопировать файлы в общий репо?

Заранее спасибо, Joerg


person joerg    schedule 27.01.2014    source источник


Ответы (3)


похоже, вам нужна ветвь поставщика

Прочтите это обсуждение

person Mzf    schedule 27.01.2014
comment
Привет, описанная ситуация с ветвями вендоров не совсем наша, потому что все репозитории наши. Итак, мы держим их под нашим контролем. Проблема в том, что у клиента не может быть доступа к нашему внутреннему репо, которое мы используем (через внешние) в общем репо. - person joerg; 27.01.2014

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

person Ben    schedule 27.01.2014
comment
Наши серверы частично внутренние и частично внешние. Тот, который является внутренним, недоступен для внешних. Наш администратор не хочет иметь доступ на основе каталога, потому что это очень быстро сбивает с толку и его нелегко поддерживать. И для разработчиков это кошмар - связываться с администратором каждый раз, когда необходимо предоставить общий доступ к каталогу. - person joerg; 27.01.2014

Как бы вы об этом позаботились?

Очевидно: иметь SVN-внешние элементы, которые будут доступны из обоих (или любого количества) мест.

Чтобы получить это, вы должны

  • Используйте определение относительного URL после версии 1.6 вместо абсолютного текущего (protocol://hostname/reponame/path в svn: externals - чертовски плохая идея), репозиторий относительного брата может работать
  • Перенести включения в отдельный репозиторий, который может (и должен быть) использоваться дополнительно (возможно svnrdump dump URL, svndump load)
  • Поддерживайте в актуальном состоянии репозиторий с удаленным репо и его зеркало (svnrdump dump URL -r N:M --incremental, svndump load, svnrdump load URL-OF-MIRROR)
person Lazy Badger    schedule 27.01.2014