设置复制内容 SVNKit。如何在没有分支内容的现有分支上创建分支?
setCopyContents SVNKit. How to create branch on existing branch without branch content?
假设我使用 SVNKit 通过以下方式在现有分支 Branches\ 上创建 Branch1:
SVNCopyClient copyClient = new SVNCopyClient(authManager, options);
SVNCopySource copySource = new SVNCopySource(SVNRevision.UNDEFINED, SVNRevision.HEAD, sourceUrl);
copySource.setCopyContents(false);
copyClient.doCopy(new SVNCopySource[] { copySource }, toUrl,
false, // isMove
true, // make parents
true, // failWhenDstExists
commitMessage, // commit message
null); // SVNProperties
一切正常,分支已创建。然后我想使用以前的代码在同一个源分支上创建 Branch2。 Branch2 已创建,但包含现有的源分支内容,即 Branch1。所以分支结构是:
- 分支机构\
- Branches\Branch1
- Branches\Branch2\Branch1
似乎 SVNKit 使用包含其内容的源分支作为 Branch2 的源。根据文档 setCopyContents(false) 应该排除此内容,但事实并非如此。我做错了什么?
想通了。我使用了复制操作,所以一切都按设计工作。在这种情况下需要使用 mkDir 操作。
假设我使用 SVNKit 通过以下方式在现有分支 Branches\ 上创建 Branch1:
SVNCopyClient copyClient = new SVNCopyClient(authManager, options);
SVNCopySource copySource = new SVNCopySource(SVNRevision.UNDEFINED, SVNRevision.HEAD, sourceUrl);
copySource.setCopyContents(false);
copyClient.doCopy(new SVNCopySource[] { copySource }, toUrl,
false, // isMove
true, // make parents
true, // failWhenDstExists
commitMessage, // commit message
null); // SVNProperties
一切正常,分支已创建。然后我想使用以前的代码在同一个源分支上创建 Branch2。 Branch2 已创建,但包含现有的源分支内容,即 Branch1。所以分支结构是:
- 分支机构\
- Branches\Branch1
- Branches\Branch2\Branch1
似乎 SVNKit 使用包含其内容的源分支作为 Branch2 的源。根据文档 setCopyContents(false) 应该排除此内容,但事实并非如此。我做错了什么?
想通了。我使用了复制操作,所以一切都按设计工作。在这种情况下需要使用 mkDir 操作。