我使用SVNKit从一个SVN Repo检入文件。给另一个人。
我的问题是
目标svn的版本随着每个文件的增加而增加。
例如:我从Repo签出了5个文件。A到Repo。B在一个承诺下。我期待回购的版本。B只增加了一个单位,但实际上变成了5个单位。
这是我的代码。"cubes“用于恢复我想要检出的文件信息。
for (int i=0; i<cubes.size();i++) {
souRepo.getFile(cubes.get(i).getLocalPath()+"/"+cubes.get(i).getLocalFile(),cubes.get(i).getLocalVer(), fileProperties, baos);
input = new ByteArrayInputStream(baos.toByteArray() );
SVNNodeKind nodeKind = tarRepo.checkPath( cubes.get(i).getLocalFile(), -1 );
editor = tarRepo.getCommitEditor(logMessage, new CommitMediator() );
editor.openRoot(-1);
if ( nodeKind == SVNNodeKind.NONE ) {
editor.addFile(cubes.get(i).getLocalFile(), null, -1);
} else {
editor.openFile(cubes.get(i).getLocalFile(), -1);
} // end of else
editor.applyTextDelta(cubes.get(i).getLocalFile(), null);
String baseChecksum = deltaGenerator.sendDelta(cubes.get(i).getLocalFile(), input, editor, true);
editor.textDeltaEnd(cubes.get(i).getLocalFile() );
editor.closeFile(cubes.get(i).getLocalFile(), baseChecksum);
info = editor.closeEdit();
}任何想法都会很感谢~~
发布于 2013-03-22 16:49:37
代码显示您每次提交一个文件。试试下面这样的代码:
editor = tarRepo.getCommitEditor(logMessage, new CommitMediator() );
editor.openRoot(-1);
for (int i=0; i<cubes.size();i++) {
souRepo.getFile(cubes.get(i).getLocalPath()+"/"+cubes.get(i).getLocalFile(),cubes.get(i).getLocalVer(), fileProperties, baos);
input = new ByteArrayInputStream(baos.toByteArray() );
SVNNodeKind nodeKind = tarRepo.checkPath( cubes.get(i).getLocalFile(), -1 );
if ( nodeKind == SVNNodeKind.NONE ) {
editor.addFile(cubes.get(i).getLocalFile(), null, -1);
} else {
editor.openFile(cubes.get(i).getLocalFile(), -1);
} // end of else
editor.applyTextDelta(cubes.get(i).getLocalFile(), null);
String baseChecksum = deltaGenerator.sendDelta(cubes.get(i).getLocalFile(), input, editor, true);
editor.textDeltaEnd(cubes.get(i).getLocalFile() );
editor.closeFile(cubes.get(i).getLocalFile(), baseChecksum);
}
info = editor.closeEdit();https://stackoverflow.com/questions/15562328
复制相似问题