Я использую TortoiseSVN (версия 1.9.7) и только начал использовать svn:externals
. Я хочу использовать его для совместного использования некоторых общих функций в разных проектах в одном и том же хранилище. Таким образом, макет репо будет выглядеть примерно так:
/projectA
/projectB
/projectC
/sharedLibs
/sharedLibs/lib1
/sharedLibs/lib2
Затем я использую svn:externals
, например, на /projectA/lib
, чтобы связать некоторую общую библиотеку с текущим проектом. Например ^/sharedLib/lib1
.
Как рекомендовано в документации, я использую явные номера ревизий (peg revision). Теперь я могу изменить некоторый код в моей рабочей копии /projectA/lib/lib1
, и TortoiseSVN предлагает мне зафиксировать это в /sharedLibs/lib1
, чтобы мои изменения были доступны для всех проектов.
Однако, если я хочу затем обновить внешний элемент /projectA/lib
, чтобы он указывал на изменение, которое я только что сделал сам, я должен сделать еще один коммит, чтобы просто изменить свойство svn:external
/projectA/lib
(с опцией «Adjust to HEAD», предлагаемой диалогом внешнего редактирования TortoiseSVN).
Есть ли какой-нибудь ярлык для этого процесса, чтобы мне не приходилось делать дополнительный коммит каждый раз, когда я что-то изменял во внешнем (указывая на другую папку в том же хранилище)?