Создать ветку SVN без истории изменений - PullRequest
3 голосов
/ 15 ноября 2011

У нас есть ситуация, когда мы должны предоставить сторонним лицам доступ к решению asp.net с версией SVN.Мы удалили файл Web.config и другие файлы с конфиденциальными данными и теперь хотим создать ветку компонентов для подрядчика.Есть ли способ создать ветвь компонента, чтобы была видна только ревизия HEAD и вся предыдущая история ревизий была заблокирована?В идеале, мы хотели бы иметь один репозиторий и использовать функции подрывной деятельности TRUNK / BRANCH.

Альтернативные методы

  1. Можем ли мы сбросить -> dumpfilter -> загрузить aкопия ствола в новую ветку?Похоже, что Subversion будет рассматривать их как разные репозитории и затруднит слияние.

  2. Если бы нам пришлось использовать два отдельных репозитория, насколько сложно было бы синхронизировать их с помощью svnadmin dump /load?

  3. Можем ли мы вывести дамп -> dumpfilter (исключая только конфиденциальные файлы) -> загрузить в новый репозиторий, переключиться на него и создать оттуда ветвь?

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

4 голосов
/ 16 ноября 2011

Самый простой способ - создать ветку, затем набрать svn export кода, который вы хотите в этой ветке, а затем выполнить svn add.Таким образом, файлы в ветви не имеют связи с файлами в другом месте.

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

Вы можетенастройте безопасность Apache httpd и svnserve, чтобы разработчик мог видеть только эту ветку.Почему бы не сделать это?

Вы можете попробовать это и посмотреть, показывает ли svn log изменения, которые произошли в других ветвях или стволе.Даже если это так, это может быть хорошо, потому что в журнале может отсутствовать конфиденциальная информация.И, если он есть, его можно легко очистить, изменив свойство svn:log revision.

2 голосов
/ 16 ноября 2011

Самый простой способ будет

  • Создание отдельного репо для подрядчика
  • Импорт HEAD транка в этот новый репо
  • Свяжите репо подрядчика с MainRepo в любое место с помощью svn: externaks
  • Предоставить полномочия подрядчика для авторизации только для его репо

Нет истории, нет доступа, нет проблем (я полагаю) со слияниями

...