Reading SVN (Subclipse) rev number from java code
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开发者_如何学Go 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
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.
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.
精彩评论