Question

I'd like to be able to read the current svn revision number (I'm using Subclipse) from my Java Code to output it with the rest of the things I need in my regression tests written using JUnit 4.

I googled a lot without any luck (some info pointing to javahl.jar, but I wasn't able to figure out anything useful for my case), I also tried to figure out by myself but no luck again.

Environment:

  • Eclipse Version: 3.6.2, Build id: M20110210-1200
  • Windows 7 32-bit
  • Subclipse 1.6.18 (JavaHL 1.6.17)

If possible I'd like to avoid to read .snv files directly and reach a "clean" solution because I have to leave this code to other people.

Thanks in advance, Alessandro

Était-ce utile?

La solution 3

I figured out that the questions seems still open even if I solved the problem, I post here the code for clarity even if it was already inserted into a commet:

import org.tigris.subversion.javahl.*;
[...]

SVNClient svnClient = new SVNClient();
@SuppressWarnings("deprecation")
Status [] status = svnClient.status("absolutepathOfTheProject", true, false, true);

for(Status stat : status)
revNumber = (revNumber < stat.getRevisionNumber()) ? stat.getRevisionNumber() : revNumber;

Please note that this stub uses some deprecated methods, it is of course possible to replace them with other methods, but this is to be intended as a guideline for solving the original problem.

Autres conseils

There is a library "svnkit" - svnkit.com

On wikipage there are many examples and one of them is "For getting info on Working Copy items"

http://wiki.svnkit.com/Managing_A_Working_Copy

Also example how to use it you can find in source code of project http://code.google.com/p/svntask/

I would look into SVNKit, particularly the SVNWCClient#doInfo() method.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top