SVN版本号随每个文件而变化

时间:2013-03-22 03:39:49

标签: svn svnkit

我使用SVNKit检查来自一个SVN Repo的文件。到另一个。

我的问题是

目标svn的版本随每个文件的增加而增加。

例如: 我查看了来自Repo的5个文件。 A到回购。 B承诺一个。 而且我期待Repo的版本。 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();
}

任何想法都会受到赞赏~~

1 个答案:

答案 0 :(得分:0)

代码显示每次提交您提交一个文件。尝试这样的事情:

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();