svn kit使用

摘自:http://eatsalt.blog.163.com/blog/static/879402662009102402949523/

 

通过SVNKit,你可以很容易的操作控制Subversion。 


 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Java代码

File dstPath = new File("c:/svnkit");
SVNURL url = SVNURL.
parseURIEncoded("http://svn.svnkit.com/repos/svnkit/branches/1.1.x/");

SVNClientManager cm = SVNClientManager.newInstance();
SVNUpdateClient uc = cm.getUpdateClient();
uc.doCheckout(url, dstPath, SVNRevision.UNDEFINED, SVNRevision.HEAD, true);

File dstPath = new File("c:/svnkit");
SVNURL url = SVNURL.
parseURIEncoded("http://svn.svnkit.com/repos/svnkit/branches/1.1.x/");

SVNClientManager cm = SVNClientManager.newInstance();
SVNUpdateClient uc = cm.getUpdateClient();
uc.doCheckout(url, dstPath, SVNRevision.UNDEFINED, SVNRevision.HEAD, true);



Updates it to the latest revision

Java代码

uc.doUpdate(dstPath, SVNRevision.HEAD, true);

uc.doUpdate(dstPath, SVNRevision.HEAD, true);



And finally commits local changes in "www" subdirectory if there are any

Java代码

SVNCommitClient cc = cm.getCommitClient();
cc.doCommit(new File[] {new File(dstPath, "www")}, false, "message", false, true);

SVNCommitClient cc = cm.getCommitClient();
cc.doCommit(new File[] {new File(dstPath, "www")}, false, "message", false, true);



Access Subversion repository directly:

Java代码

SVNURL url = SVNURL.parseURIEncoded("http://svn.svnkit.com/repos/svnkit/branches/1.1.x/");
SVNRepository repos = SVNRepositoryFactory.create(url);

long headRevision = repos.getLatestRevision();
Collection entriesList = repos.getDir("www", headRevision, null, (Collection) null);
for (Iterator entries = entriesList.iterator(); entries.hasNext();) {
SVNDirEntry entry = (SVNDirEntry) entries.next();
System.out.println("entry: " + entry.getName());
System.out.println("last modified at revision: " + entry.getDate() +
" by " + entry.getAuthor());
}

SVNURL url = SVNURL.parseURIEncoded("http://svn.svnkit.com/repos/svnkit/branches/1.1.x/");
SVNRepository repos = SVNRepositoryFactory.create(url);

long headRevision = repos.getLatestRevision();
Collection entriesList = repos.getDir("www", headRevision, null, (Collection) null);
for (Iterator entries = entriesList.iterator(); entries.hasNext();) {
SVNDirEntry entry = (SVNDirEntry) entries.next();
System.out.println("entry: " + entry.getName());
System.out.println("last modified at revision: " + entry.getDate() +
" by " + entry.getAuthor());
}




Replace JNI Subversion bindings with SVNKit:

Java代码

// pure Java implementation of the standard Subversion Java interface
SVNClientInterface jniAPI = SVNClientImpl.newInstance();
byte[] contents =
jniAPI.fileContent("http://svn.svnkit.com/repos/svnkit/branches/1.1.x/changelog.txt",
Revision.HEAD);

// pure Java implementation of the standard Subversion Java interface
SVNClientInterface jniAPI = SVNClientImpl.newInstance();
byte[] contents =
jniAPI.fileContent("http://svn.svnkit.com/repos/svnkit/branches/1.1.x/changelog.txt",
Revision.HEAD);


官方站点:http://www.svnkit.com
DOC: http://svnkit.com/javadoc/index.html

你可能感兴趣的:(SVN)