2014-12-29 23 views
0

我嘗試合併SVN存儲庫中的2個分支與Ubuntu 14.04上的工作副本。我用SVN命令行1.8.8檢出了我的存儲庫。我也使用Netbeans 8.0.2作爲IDE來編程我的項目和SVN命令。我嘗試將我的項目中的兩個分支合併在一起,例如。分支0.6.3到0.6 4.我在命令行上執行svn,例如:SVN恢復提交在命令行上和Netbeans SVN沒有生成svn diff文件

svn merge -r myrevionrange1:myrevisionrange2 svn+http://path/to/my/project/branches/0.6.3 svn+http://path/to/my/project/branches/0.6.4 path/to/my/working/copy/branche/0.6.4 

沒有錯誤消息...並且沒有任何更改發生。我確信兩個分支(倉庫和工作副本中的)有不同的代碼文件。

我懷疑是有權限被拒絕的問題。我做

sudo chown -R myusername:mygroupname /path/to/my/working/copy 

sudo chmod -R a+r /path/to/my/working/copy 

等一用一+ W和在我的工作拷貝頂部+ X。我重試通過命令行合併。沒有錯誤信息...並且在工作副本中沒有更改。

我試圖與Netbeans合併。我第一次收到一條警告消息,告訴我工作副本不是更新的。我做的。我做了另一次合併,這一次出現了變化!

但是,當我檢查SVN的命令行變化像

svn status 

在我的工作拷貝上......有沒有修改的文件......我試着用這兩個命令行承諾和與Netbeans ...並沒有文件誰想要提交。

我也嘗試從頭開始,刪除我的整個工作副本,與Netbeans進行另一次合併並提交。但它不起作用...

我真的不知道發生了什麼事。我使用Windows操作系統進行編程,並嘗試在Linux中執行此操作。我在Linux上工作了幾年,但最近幾年在Windows上工作,現在我回到Linux上。我使用全新的Ubuntu安裝工作在新計算機上。如果有人可以幫助我,請發帖。

+0

什麼是'svn + http'? :) – bahrep

回答

0

好的。讓我解釋一下這個問題。我找到了答案。這不是Netbeans,也不是Linux問題,但是被誤解爲SVN命令行。

我想恢復提交。我沒有這個命令......似乎誰做的工作:

svn update -r RevisionWhereMyCodeIsGood /path/to/the/file 

這個文件復歸的代碼......但我無法提交,也沒有得到一個SVN狀態指示,有一個改變的文件!

我GOOGLE了今天晚上「SVN還原承諾」,並在本網站上有另外一個命令:

How do I revert an SVN commit?

我做的第一個命令行:

svn merge -r HEAD:RevisionWhereMyCodeIsGood /path/to/the/file 

,現在,我可以得到一個svn diff,一個svn狀態(Modified)並提交它!

希望我的文章能夠幫助其他人解決同樣的問題。PS:關於svn + http://,我的虛擬主機公司使用SSH隧道來訪問我的存儲庫。我不會寫我真正的隧道名稱,這是我的Subversion配置文件中定義的我自己創建的字。然後,我換成了svn + http:// ...可能是錯的...對不起