When you take a verbose log of a particular directory in Subversion, and a revision also changes a file listed outside of that directory, that file will be listed.
I believe this is what is happening in your case. That is, there's a revision in a file or directory inside the http://myserver/svn/repos/myproj/trunk/DB
directory that is also affecting a file in http://myserver/svn/repos/myproj/trunk/app
. Thus, your log file will show both files changed in the revision.
One of the design considerations in Subversion was keeping all changes together in a single revision. In some other version control systems like Perforce, this would be considered a changeset and is the atomic constituent of a change. In other words, a change in Subversion is not a single revision of a file, but all the changes in all the files in a single revision.
In a certain sense, asking only for the changes in the DB
directory would be meaningless and misleading. That's because a change in the DB
also depended upon a change in the app
directory too.
As others have suggested, you could filter the results of the XML file. (And if you do, I highly recommend you use a program module to do it (like XML::Simple if you're using Perl) instead of trying to parse it via regular expressions.
However, I recommend that you think about this before moving forward since you'll be breaking the atomic structure that Subversion uses for tracking changes. You might be giving a false notion of the change taking place. For example, if someone uses your report to back out a particular change in the DB
directory, they might have to back out the change in the app
directory too.