If you have never merged anything from trunk, you have to do the more cumbersome version with doing "log -v --stop-on-copy" to find the copy source in the last of those revisions.
If you know you have merged the trunk at least once, then you have that information in the svn:mergeinfo property so you can e.g. do svn pg svn:mergeinfo $SERVER/project/branch | grep trunk (usually, the trunk is the last entry so "tail -1" will probably work) That will list the merged revision ranges. ------- Original Message ------- On Monday, February 14th, 2022 at 9:23 AM, Mikael Stålhammar <mikael_stalham...@hotmail.com> wrote: > Thanks Stefan and Daniel. > Stefans answer looked easy and something I could use. I just need a command > then to get the revision of the latest merged trunk revision. Preferably > without the need to have a working copy, i.e. a command to query the SVN > server directly. What should I use for that? > /Mikael > > --------------------------------------------------------------- > > Från: Daniel Shahaf <d...@daniel.shahaf.name> > Skickat: den 11 februari 2022 13:05 > Till: Mikael Stålhammar <mikael_stalham...@hotmail.com> > Kopia: users@subversion.apache.org <users@subversion.apache.org> > Ämne: Re: List modified on a branch > > Stefan Sperling wrote on Fri, 11 Feb 2022 10:57 +00:00: >> On Fri, Feb 11, 2022 at 08:29:35AM +0000, Mikael Stålhammar wrote: >>> Is there a simple command that lets you list files that have been modified >>> and committed on a feature branch but excluding any files that are >>> committed on the branch that are only merged from trunk (to keep the branch >>> up-to-date with trunk). I.e. I only want to see those files that actually >>> contain branch specific changes. >> >> Find the most recent revision where a merge from trunk to the branch >> occurred. >> If no such merge has occurred yet, find the revision in which the branch >> was created. >> > > tl;dr: A tools/ script to do this wouldn't go amiss. > > Here's pseudocode for this; it involves one easy but less-than-obvious > command and one parsing task that's encapsulated in our APIs. > > [[[ > svn log -r 0:HEAD --limit=1 --stop-on-copy -q -v ./ | > parse_the_copyfrom_path_and_revision > svn propget --strict svn:mergeinfo ./ | > parse_and_extract_revisions_merged_from $COPYFROM_PATH > if any revisions have been extracted: > return max() of those > else: > return $COPYFROM_REVISION > ]]] > >> Let's assume this was revision r100. >> >> Now you can run: svn diff --summarize ^/trunk@r100 ^/branches/mybranch