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

Изменения в подпапках SVN externals не отображаются в журнале просмотра (черепаха svn)

Внешние внешние элементы SVN позволяют вам создавать папку SVN, как если бы она находилась в другом месте. Для этого полезно иметь общую папку, совместно используемую во всех ваших проектах в SVN.

У меня есть/trunk/общая папка в SVN, которую я разделяю через несколько разных проектов.

Пример:

  • Project1:/trunk/project1/зависит
  • Project2:/trunk/project2/зависит
  • Project3:/trunk/project3/зависит
  • Project4:/trunk/project4/зависит

Каждая из этих зависимых папок пуста, но имеет svn: external, определенный для указания моей/внешней/общей папки.

Проблема заключается в том, когда я просматриваю журнал в любом из проектов:/trunk/projectX/он не отображает изменения из svn: externals. Я использую черепаху SVN в качестве моего SVN-клиента.

Кто-нибудь знает, как изменить это поведение? Я хотел бы, чтобы журнал show/trunk/projectX включал любые изменения в любые определенные svn: externals.

4b9b3361

Ответ 1

Это невозможно в текущей версии Subversion, кроме явного вызова svn-журнала в целевой каталог externals

Вы можете попробовать выполнить запрос функции на веб-сайте Apache Subversion

Ответ 2

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

Представьте, что у вас есть следующая иерархия репо:

repo
   myfirstproject
      trunk
   mysecondproject
      trunk
   mycommonlib
      trunk

и что папка mysecondproject\trunk имеет следующее свойство svn: external:

svn://mysrv/repo/[email protected] sharedlib

Проверка mysecondproject\trunk внутри новой папки secondproject создаст что-то подобное в вашей файловой системе:

secondproject Folder (refers mysecondproject/trunk)
   sharedlib Folder (refers mycommonlib/trunk @ revision #2451)

Вызов команды "Показывать журнал" из Tortoise из папки secondproject будет показывать только изменения файлов второго проекта и, в конечном итоге, изменения, которые произошли в svn: внешнем свойстве папки.

Чтобы получить журнал изменений внешнего проекта, вам нужно вызвать "Показать журнал" из внутренней папки sharedlib, что имеет смысл.

Ответ 3

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

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

Bye

Ответ 4

Я думаю, что после Subversion 1.7 (которая ввела одиночную папку .svn в корневой каталог WC), она была более чистой: для каталога внешних внешних каталогов внешней рабочей копии: a) независимой b) вложенной рабочей копии отдельного репозитория

>dir /B /S /AD
z:\subversion-troubleshoot-b\.svn
...
z:\subversion-troubleshoot-b\trunk
z:\subversion-troubleshoot-b\tags
z:\subversion-troubleshoot-b\trunk\lib
z:\subversion-troubleshoot-b\trunk\lib\.svn
...
z:\subversion-troubleshoot-b\tags\1.0.0
z:\subversion-troubleshoot-b\tags\1.0.1
z:\subversion-troubleshoot-b\tags\1.0.1\lib
z:\subversion-troubleshoot-b\tags\1.0.1\lib\.svn
...

и родительский WC не содержит никакой информации о вложенном WC (dir WC, созданного в/из репозитория, обратите внимание. svn dir присутствует только дважды для mainline)

>svn ls -R
readme.textile
tags/
tags/1.0.0/
tags/1.0.0/core_mod.txt
tags/1.0.1/
tags/1.0.1/core_mod.txt
trunk/
trunk/core_mod.txt

когда trunk (и теги соответственно) имеют подкаталог lib как внешний

Repo-Browser with externals

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