SVN вернуться с правильным обвинением SVN - PullRequest
2 голосов
/ 28 июня 2011

Есть ли способ использовать svn revert для возврата к предыдущему состоянию определенного файла, одновременно сохраняя правильную информацию об авторе (так что отображаемый автор - это тот, кто сделал первоначальное изменение, а не тот, кто делает возврат)) в свн виноват?

1 Ответ

1 голос
/ 28 июня 2011

Subversion поддерживает историю проекта на сервере.Эта история должна быть неизменной, то, что произошло в прошлом, останется на сервере.Таким образом, «возвращение» хранилища на самом деле не уничтожает прошлое, а заменяет «текущие» копии более старой копией файлов.После того, как вы вернетесь, вы должны будете зафиксировать изменение, чтобы двигаться вперед.

Это означает, что если вы «фиксируете» более старые файлы, то информация о svn вины будет принадлежать тому, кто его принял.Если вы хотите, чтобы эта информация отличалась, вам необходимо:

  1. Создать среду, в которой вы можете представить как правильное лицо.
  2. Изменить прошлый коммит, чтобы установить информациюкак вам хотелось бы.

Обратите внимание, что фактический человек, создавший старую ревизию файлов, не создал их в текущем контексте, поэтому он не будет тем, кто нарушит сборкуесли вы решите «вернуть» файлы в состояние, в котором они были записаны несколько дней / недель / месяцев назад.На самом деле, вы будете тем, кто сломал сборку, и, следовательно, тем, кто виноват, и будет правильным обвинением.Чтобы сделать № 1 у вас есть несколько вариантов.Самый простой - настроить группу учетных записей пользователей на сервере SVN, доступном через SSH.Так как вы контролируете учетные записи, вы можете ssh для любого конкретного пользователя.Поскольку вы собираетесь извлекать и обновлять без знания пароля svn пользователя, вам необходимо использовать URL-адреса файлов, которые обходят проверку паролей HTTP / HTTPS / SVN + SSH.Поскольку у вас есть достаточные разрешения для выполнения всего этого, вы сможете добавлять таких пользователей в группу, получающую доступ к фактическим SVN-репозиториям.

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

svn propedit -r N --revprop svn:author authorName URL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...