标签: svnkit

使用SVNKit适配器进行Subclipse

我有两个问题和一些背景.

我正在将Eclipse 1.4.x安装到Eclipse Ganymede中,我想我应该使用SVNKit适配器.我正在使用Subversion 1.4.x附带的Ubuntu 8.04,因为JavaHL适配器需要Subversion 1.5.x,使用像SVNKit这样的纯Java解决方案似乎是一个很好的解决方案.

您使用SVNKit适配器有哪些优缺点?

我找不到任何关于JNA库,SVNKit客户端适配器和SVNKit库实际提供的文档.而且我很想知道我安装的是什么.他们提供什么?

替代文字

eclipse subclipse svn ganymede svnkit

24
推荐指数
2
解决办法
3万
查看次数

如何解决SVN错误"E200030:在'<CHECKOUT_DIRECTORY>'中检测到未完成的事务?"

我已经安装了一个带有Windows 10,Eclipse Mars,Subversive Plugin,SVNKit 1.8.11的虚拟机,并试图在我已经在其他几个环境中成功完成的配置中设置一些存储库.SVN服务器是Subversion 1.6.17的Debian 7系统.仅在我设置上述系统后才会出现以下问题:

  1. 签出:例如SVN-Repositories - > expand Repository X - >右键单击trunk - >签出 - >出现错误:"'svn:// host/X/trunk'的签出操作失败.svn:E200030 :在'C:\ PathToWorkspace\X'中检测到未完成的事务
  2. 在此之后,Subversive插件显然停止工作.
  3. 出口:与结账时相同的结果

进一步的调查让我找到了存储库中的一个特定文件,该文件无法加载"无效句柄"错误.它不是一个"奇怪的"路径(不是太长,没有空格或特殊字符),文件本身不包含可疑字符,只是Unix换行符.磁盘上的权限和空间都可以.具有相同属性的其他存储库可以按预期工作.

我发现有类似问题的帖子,但显然没有一个适用于我的帖子.他们告诉我擦拭我的工作区目录(我做了),但我刚刚丢失了所有设置而没有解决问题.在此之后,我调查了Eclipse的程序目录,但没有带来更多的成功.

此外,失败后仍然会锁定".svn\wc.db"文件.因此,在关闭Eclipse之前无法删除存储库.该目录未在eclipse中的任何项目列表/树中列出,如包浏览器,但该目录存在于磁盘上.

相同的存储库X仍然适用于我拥有的每个其他配置.如何重置这些"交易"才能修复此问题?我真的想避免完全重新安装Eclipse甚至Windows.

编辑 我是TortoiseSVN 1.16.16.21511(x64),完全适合SVN服务版本.同样的问题.

eclipse svn windows subversive svnkit

15
推荐指数
3
解决办法
4万
查看次数

SVNkit无法创建SVNRepoitory

我正在尝试使用SVNkit在两个svn URL上运行diff.问题是我在diff.doDiff调用时遇到错误.

org.tmatesoft.svn.core.SVNException:svn:无法为' http://svn.codehaus.org/jruby/trunk/jruby/src/org/jruby/Finalizable.java创建SVNRepository对象'org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:55)at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:40)at org.位于org.tmatesoft.svn.core.wc的org.tmatesoft.svn.core.wc.DefaultSVNRepositoryPool.createRepository(DefaultSVNRepositoryPool.java:213)的tmatesoft.svn.core.io.SVNRepositoryFactory.create(SVNRepositoryFactory.java:199). SVNClientManager.createRepository(SVNClientManager.java:242)位于org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:231)org.tmatesoft.svn.core.wc.SVNDiffClient.doDiffURLURL(SVNDiffClient.java: 769)在SVNTest.main的org.tmatesoft.svn.core.wc.SVNDiffClient.doDiff(SVNDiffClient.java:310)(SVNTest.java:30)

我仔细检查了URL(我可以在TortoiseSVN客户端打开它们).任何人都可以帮我知道发生了什么事吗?我已经发布了我在下面运行的代码.

SVNClientManager manager = SVNClientManager.newInstance(SVNWCUtil.createDefaultOptions(false), user, pass);

SVNDiffClient diff = manager.getDiffClient();
    //ISVNDiffStatusHandler diffStatus = new ISVNDiffStatusHandler();

try {
SVNURL oldURL = SVNURL.parseURIDecoded(url);    
diff.doDiff(SVNURL.parseURIDecoded(url), SVNRevision.create(oldVersion), SVNURL.parseURIDecoded(url), SVNRevision.HEAD, false, false, System.out);
} catch (SVNException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

java svn svnkit

12
推荐指数
1
解决办法
4275
查看次数

Java Subversion库

我一直在研究Subversion(SVN)的Java API.似乎有3个可用:

  • JavaHL - SVN项目的一部分.提供相对较低级别的API
  • svnClientAdapter - Subclipse项目的一部分.提供相对高级的API
  • SVNKit - 与其他2不同,它提供了SVN协议的100%Java实现,即不必安装本机库.它提供了一个高级API,一个低级API,一个JavaHL实现,以及一个使用SVNKit实现它的命令行客户端.

我没有任何这些API的实际经验,但假设上述情况属实,SVNKit看起来是一个明显的赢家.我从经验中知道外表可能是骗人的,所以我正在寻找实际使用过一个或多个这些库的人的反馈.如上所述,SVNKit是失控的赢家,还是有更好的选择.

我想答案将取决于我将如何使用API​​,并且(可能令人惊讶),答案主要是编写,例如添加,更新和删除文件,创建项目和存储库,分支等.

谢谢!唐

java svn svnkit javahl

12
推荐指数
1
解决办法
4057
查看次数

将目录提交给Subversion

一种新手问题,但我在使用SNVKit时遇到了问题.

我在应用程序中使用SVNKit来提交对文件的更改.我已成功将文件和文件夹添加到工作副本中,但我在将其提交到存储库时遇到问题.

我试图运行的命令是'commit -m"测试添加"/ svnroot/project1 /"但我一直得到"svn:'/ home/user'不是工作副本"

我有一个类似于这样的结构:

  • / svnroot /
  • / svnroot/PROJECT1 /
  • / svnroot/PROJECT1/grouping1 /
  • / svnroot/PROJECT1/grouping1/myfilesarehere

如果我尝试提交该文件,我会收到以下消息:"'/ svnroot/project1/grouping1'不受版本控制,不属于提交,但其子代是提交的一部分."

我可能做错了什么?

编辑:修复了目录.

svn svnkit

11
推荐指数
2
解决办法
3万
查看次数

Ubuntu 64位的SVNKit或JavaHL

什么更好的SVNKit或JavaHL

日食

颠覆还是Subclipse?

每当我再次安装Eclipse时,这个疑问在一个比另一个更好的方面有差异等等......

eclipse svn svnkit javahl

11
推荐指数
1
解决办法
7737
查看次数

Eclipse Juno/Indigo svn:E210004:数字大于最大值

对话框显示:

Location information has been specified incorrectly.
svn: E210004: Number is larger than maximum
Keep location anyway?
Run Code Online (Sandbox Code Playgroud)

这刚刚开始发生.我将SVN服务器更新为1.8.它的工作正常,1.7.9.我正在使用svn + ssh.我有SVN Subversive和连接器SVNKit 1.7.9的最新更新(todate).

顺便说一句,这仍然适用于命令行就好了.

svn subversive svnkit

10
推荐指数
1
解决办法
1万
查看次数

使用SVNKit添加文件夹和提交文件

我刚刚创建了一个Java项目.我想在SVNKit的帮助下将此项目签到SVN位置.

我使用下面的代码,它将一个文件夹添加到SVN存储库.但它没有.svn在文件夹中创建任何文件夹/Users/test/svnAddDirCheck.

我希望文件被取消,并且我希望将来提交一些更改的文件.没有查看源代码,我该怎么做?我可以在SVN中添加这些文件,还可以直接提交任何更改的文件?

@Test
public void importWholeDir() throws Exception {
    try {
        DAVRepositoryFactory.setup();
        SVNRepositoryFactoryImpl.setup();
        FSRepositoryFactory.setup();

        String svnUrl = "https://abc.com/svn/repos/projects/test/CREATE2";
        File dir = new File("/Users/test/svnAddDirCheck");
        SVNURL url = SVNURL.parseURIDecoded(svnUrl);
        String userName = "XXXXXXX";
        String userPassword = "XXXXXXXXX";

        importDirectoryContentToSubversion(svnUrl, dir.getPath(), userName, userPassword, "directory and file added");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public static SVNCommitInfo importDirectoryContentToSubversion(final String repositoryURL, final String subVersionedDirectory, final String userName, final String hashedPassword, final String commitMessage) throws SVNException {
    final SVNClientManager cm …
Run Code Online (Sandbox Code Playgroud)

java svn svnkit

9
推荐指数
1
解决办法
4165
查看次数

通过SVN从Jenkins更新工作区时间歇"SVNException:svn:E175002:连接重置"

我有Jenkins(2.138.3)在虚拟机上运行.

在同一网络上的另一台PC上,我有一个Visual SVN Server(3.9.2).

间歇性地(可能是25%的时间),结账失败并出现以下错误:

ERROR: Failed to check out https://path/to/my/repository
org.tmatesoft.svn.core.SVNException: svn: E175002: Connection reset
svn: E175002: REPORT request failed on '/my/repository/!svn/vcc/default'
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:112)
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:96)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:765)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:352)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:340)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:910)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:363)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1349)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:847)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.updateInternal(SvnNgAbstractUpdate.java:263)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.update(SvnNgAbstractUpdate.java:115)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.checkout(SvnNgAbstractUpdate.java:877)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:26)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:11)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1239)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
    at hudson.scm.subversion.CheckoutUpdater$SubversionUpdateTask.perform(CheckoutUpdater.java:133)
    at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:168)
    at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:176)
    at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:134)
    at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:168)
    at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1041)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:1017)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:990)
    at hudson.FilePath.act(FilePath.java:1077)
    at hudson.FilePath.act(FilePath.java:1060)
    at …
Run Code Online (Sandbox Code Playgroud)

svn svnkit visualsvn-server jenkins

9
推荐指数
1
解决办法
968
查看次数

SVN java库

可能重复:
开源的svn客户端java库,可用于商业开发

我想从java程序访问SVN.我想要一个SVN的开源java库,SVNkit除外.由于SVNKit已获得许可,因此我无法使用它.我需要一个开源的.

java svn tortoisesvn svnkit javahl

8
推荐指数
1
解决办法
9589
查看次数