0

我使用 SVNKIT 签出一个文件夹 .svn 信息使用这个

    if (!SVNUtil.isWorkingCopy(ws)) {
      updateClient.checkout(clientManager, repositoryURL, SVNRevision.HEAD,ws,SVNDepth.EMPTY);
    }

然后我使用IO流在这个SVN中创建一个具有相同文件名的新文件;然后我尝试“commitClient.doCommit”提交它但失败了,失败的信息是“文件不是工作副本”。我怎样才能正确地做到这一点?

4

2 回答 2

0

如果提交的文件必须在工作副本中。几天前我遇到了这个问题。你可以在 SVN 中删除文件然后导入。如果提交的文件是 txt 文件,你可以做文件修改,那里是一个例子:http ://wiki.svnkit.com/Committing_To_A_Repository

于 2013-11-07T01:16:06.720 回答
0

如果我理解正确,您正在执行以下步骤: 1. 签出一个文件(文件名 a.java) 2. 使用 IO 流创建一个与先前名称相同的新文件(a.java) 3. 您尝试提交文件- 你得到“文件不是工作副本”错误。

问题出在步骤 #2 当您创建一个新文件(a.java)时,它是在默认项目路径中创建的。但是,文件路径必须是相同的路径(如在您使用步骤 #1 拉取的 SVN 中)。

正如我上面提到的(步骤#2)文件是在默认项目结构中创建的,.svn 对这个新文件没有任何线索并抛出错误“文件不是工作副本”

注意:首先您必须在 SVN 中添加新文件,然后您可以将其提交到存储库。所以它是一个两步过程。

于 2016-04-21T09:59:50.530 回答