Когда вы берете подробный журнал определенного каталога в Subversion, и ревизия также изменяет файл, указанный вне этого каталога, этот файл будет указан.
Я верю, что это происходит в вашем случае. То есть в файле или каталоге внутри каталога http://myserver/svn/repos/myproj/trunk/DB
есть ревизия, которая также влияет на файл в http://myserver/svn/repos/myproj/trunk/app
. Таким образом, ваш файл журнала покажет оба файла, измененные в ревизии.
Одним из соображений дизайна в Subversion было объединение всех изменений в одной ревизии. В некоторых других системах контроля версий, таких как Perforce, это будет считаться набором изменений и является атомарной составляющей изменения. Другими словами, изменение в Subversion - это не одна ревизия файла, а все изменения во всех файлах в одной ревизии.
В определенном смысле, запрашивать только изменения в каталоге DB
было бы бессмысленно и вводить в заблуждение. Это потому, что изменение в DB
также зависело от изменения в каталоге app
.
Как и предполагали другие, вы можете отфильтровать результаты файла XML . (И если вы это сделаете, я настоятельно рекомендую вам использовать программный модуль для этого (например, XML :: Simple , если вы используете Perl) вместо того, чтобы пытаться анализировать его с помощью регулярных выражений.
Однако я рекомендую вам подумать об этом, прежде чем двигаться вперед, так как вы нарушите атомную структуру, которую Subversion использует для отслеживания изменений. Возможно, вы даете ложное представление о происходящих изменениях. Например, если кто-то использует ваш отчет для отмены определенного изменения в каталоге DB
, он может также отменить изменение в каталоге app
.