2013-10-16 91 views
0

我用SVNKIT結帳.svn文件信息的文件夾使用此SVNKIT提交文件失敗

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

然後我用IO流創建一個新的文件,在這個SVN相同的文件名,然後我嘗試「commitClient.doCommit」要提交它,但是faild,faild信息是「該文件不是工作副本」。我怎樣才能正確地做到這一點?

+0

您能否提供調用doCommit和完整堆棧跟蹤異常的代碼? –

回答

0

如果一個文件被提交,它必須在工作副本中。我在幾天的時間裏遇到了這個問題。你可以刪除SVN中的文件然後進行導入。如果文件被提交是一個txt文件,你可以做文件mofidication,有在例如:http://wiki.svnkit.com/Committing_To_A_Repository

0

如果我理解正確,您正在執行波紋管步驟:1. 結帳文件(文件名a.java) 2.使用IO流式處理,創造出相同的一個新的文件名稱如前(a.java) 3.您試圖提交該文件 - 並且您得到「該文件不是工作副本」錯誤。

問題出在步驟#2 當您創建一個新文件(a.java)時,它將在默認項目路徑中創建。但是,文件路徑需要是相同的路徑(如您在第1步中使用的SVN)。

正如我上面提到(步驟#2),該文件默認項目結構創建的.svn文件沒有關於這個新文件任何線索,並引發錯誤「該文件不是工作副本」

注意:首先,您必須在SVN中添加新文件,然後才能將其提交到存儲庫。這是一個兩步過程。