How can I get a range in SVN "greater than and not equal to" X

I am creating a script to automate some common developer tasks.

As part of this, I am provided with an SVN revision that the build agent used to build artifacts (x). I also have a revision used from the latest build (y).

So, to get the commit log in this range, I used svn log -ry: x.

The problem is that this is a comprehensive range, so the same change is included twice in different assemblies.

So I'm looking for a way that I can say: "Give me the changes between the last assembly (which was created through revision Y) and the current assembly (prior to version X)." In other words, (y, x].

From what I can assemble, this may be impossible?

+4
source share
1 answer

I think this is possible, but, as noted in the comments above, simply executing y + 1 will not give the correct results, since this revision may be in a different branch. So, to find out what you need, the next version after y, you need to use "svn log".

Suppose you are in your workspace (above), which is completely updated. I ran this example in my repository and I selected rev 5402 as rev of my last build, this command gave me the range of fixes you wanted:

$ svn log -rHEAD:5402 | perl -ne '/^r(\d+) / and push @a, $1; END {print $a[0],":",$a[$#a-1],"\n"; } '
5531:5423

, , , , rev 5402, rev (HEAD, ), rev ( rev 5402). , 20 .

, , ( , x == y), , .

0

All Articles