Как я могу сделать так, чтобы только некоторые папки отображались для определенных разработчиков с SVN? - PullRequest
4 голосов
/ 02 декабря 2008

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

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

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

Вот что я хочу:

RepoFolder       (dev1 checks out this)
  - References   (this shows to dev1)
  - Project1     (this shows to dev1)
  - Project2     (this does not show to dev1)
  - Project3     (this does not show to dev1)
  - Project4     (this does not show to dev1)

1 Ответ

4 голосов
/ 03 декабря 2008

Я не думаю, что возможно сделать именно то, что вы хотите, то есть позволить каждому проверить http://example.com/svn/repos/ и в зависимости от того, кто вы есть, вы видите разные вещи.

Вы на правильном пути, отказав в доступе к папкам. То, что вы можете сделать, это создать папку «view» определенных разработчиков. Предположим, что все ваши проекты выглядят как

http://example.com/svn/repos/projects/
   +- References
   +- Project1
   +- Project2

Добавить еще одну структуру папок под названием views.

http://example.com/svn/repos/
   + projects/       
       +- References
       +- Project1
       +- Project2
   + views/
       +- View1

И views, и View1 - не что иное, как простые папки. Уловка состоит в том, чтобы установить svn:externals свойства в папке View1 равными http://example.com/svn/repos/projects/References и http://example.com/svn/repos/projects/Project1. Когда кто-то извлекает View1, он также проверяет References и Project1 под ним. Надеюсь, это поможет.

...