Подтвердить что ты не робот

Как заставить TortoiseSVN всегда замораживать svn: внешние для тегов

Возможно ли это с черепахойSVN?:

Всегда замораживать svn:externals для тегов

сценарий - наша соединительная линия всегда будет использовать ревизию "HEAD" для внешних, однако, когда мы создаем "теги", мы хотели бы, чтобы у них был набор ревизий для внешних, чтобы правильно "заморозить" их в определенный момент времени.

Обновление

Спасибо всем за ваши отзывы/информацию.

Так как я не мог найти ничего, что бы полностью соответствовало нашим потребностям (попробовал smartsvn и svncopy.pl), я сделал консольное приложение, которое до сих пор прошло все наши тестовые примеры.

Обзор высокого уровня: приложение принимает URL-адрес репозитория, затем ищет все внешние элементы и добавляет для них последнюю модификацию фиксации - я делаю svn info и получаю "фиксацию изменений".

Приложение работает как с файлами, так и с файлами.

Вот исходный код и полные файлы настроек: http://svnxf.codeplex.com/

4b9b3361

Ответ 1

Я нашел это сообщение сегодня, когда искал решение той же проблемы. В конце концов я обнаружил, что TortoiseSVN в своей последней версии поддерживает эту желаемую функциональность: Замечания по выпуску TortoiseSVN 1.7.

Надеюсь, это поможет другим, кто найдет этот пост при исследовании той же проблемы.

Ответ 2

Рекомендуемая передовая практика - всегда использовать явную ревизию (не HEAD) во внешних определениях. Из документа :

Вы должны серьезно рассмотреть возможность использования явных номеров ревизий во всех ваших внешних определения. Это означает, что вы решаете, когда выложить другой снимок внешней информации и точно, какой снимок можно вытащить. & Hellip; Для программного обеспечения проектов, это может быть разница между успешной и неудачной сборкой более старых моментальный снимок вашей сложной кодовой базы.

Чтобы прямо ответить на ваш вопрос: нет, невозможно автоматически изменять определения внешних символов при пометке с помощью TortoiseSVN. Это нужно сделать вручную при создании тега.

Ответ 3

Вы можете попробовать svncopy.pl(найти его в google) Это perl script, которые отвечают на ваши потребности.

Ответ 4

Вам следует попробовать SmartSVN, который при необходимости может преобразовывать HEAD-externals в фиксированные внешние элементы при создании тегов или ветвей. Вы можете найти эту опцию (External Revisions: (o) Leave as is() Исправить все() Fix, за исключением ниже) в нижней части диалоговых окон Add Tag/Add Branch.

Ответ 5

Я бы добавил Майкла.

Дополнительно к рекомендации по документации SVN:

  • Использование нефиксированных изменений в svn: externals затрудняет обновление рабочей копии до указанной ревизии (например, во время проверки ошибок).
  • Журнал каталогов с svn: externals будет неполным, что может предоставить ложную информацию об изменениях между версиями
  • Ветвление и слияние могут усложниться

Как правило, SVN, по-видимому, сконструирован в основном для кода, содержащегося в общем каталоге. svn: внешние ссылки (даже по имени) добавляются для ссылок на внешние репозитории. Поэтому я ожидал бы других проблем, упомянутых выше.

По моему опыту, необходимость использования svn: externals для нефиксированных изменений часто происходит из-за неправильной структуры в репозитории.

Может быть, это не ваш случай, я просто советую учитывать эти моменты...

Ответ 6

Update

Спасибо всем за ваши отзывы/информацию.

Так как я не мог найти ничего, что бы полностью соответствовало нашим потребностям (пробовал smartsvn и svncopy.pl), я сделал консольное приложение, которое до сих пор прошло все наши тестовые примеры.

Обзор высокого уровня: приложение принимает URL-адрес репозитория, затем ищет все внешние элементы и добавляет последнюю версию фиксации для них - я делаю "информацию svn" и получаю "фиксацию изменений".

Приложение работает как с файлами, так и с файлами.

Вот исходный код и полные файлы настроек: http://svnxf.codeplex.com/

Ответ 7

Вы можете указать ревизию во внешнем виде:

third-party/skins -r148        http://svn.example.com/skinproj

См. svnbook

Ответ 8

Я знаю, что это не для tortoiseSVN, но если вы используете eclipse с subversive, вы можете щелкнуть правой кнопкой мыши проект и выбрать team- > tag. Subversive замораживает внешние значения по умолчанию и довольно хорошо форматирует свойства.