簡體   English   中英

svn合並問題(3級svn)

[英]svn Merge Problem (3 levels of svn)

我是使用svn的新手,而我工作的公司使用svn的三個級別(我不知道這是否是一個正確的詞)。 我的意思是為開發人員提供了測試服務器上的工作目錄。 當我們提交時,它將轉到開發服務器。 當經理從那里提交它時,它將轉到生產服務器。 我是這里的開發人員,當我從目錄提交時,我的一個文件給出錯誤(沖突)。 不僅如此,而且當經理嘗試提交時也會產生沖突。 現在,我也獲得了作為管理員的訪問權限,但仍然無法解決。

到現在為止我一直嘗試的

svn update
svn delete
svn commit

它使所有這些操作發生沖突。

較早時發生了一個簡單的錯誤,經理傾向於只刪除dev上的文件,手動復制它,然后從那里提交。 我不知道這可能是此問題的原因,也可能不是。

請幫助我解決此問題。 我也讀過豆豆書中的一些內容,但無濟於事。

謝謝

好的,這是更新。 實際的問題是,文件(例如lib / a.php)曾經位於我的工作目錄以及開發和生產服務器中。 現在,有人(使用del命令,而不是svn delete)將其從開發服務器中刪除。 現在的問題是,如何再次添加它,使其再次成為svn的一部分。 簡單的svn add不起作用。


更新2從下面的答案之一,我知道它是樹沖突。 一些搜索將我帶到http://svnbook.red-bean.com/nightly/en/svn.tour.treeconflicts.html 按照說明,我備份了文件,然后svn delete從任何地方svn delete它。 然后我svn addsvn add到我的目錄中,提交並嘗試更新開發和生產。 最終結果是它沒有去那里。 也沒有顯示錯誤。

我目錄中的svn info顯示文件的完整信息,但是在dev和production上顯示

 file_name: (Not a versioned resource) 

:S

還有其他想法嗎?

或者,您可以備份文件,然后說svn revert filename插入新代碼。執行svn up只是為了確保沒有任何沖突,然后提交

要么

修復文件中的沖突,然后可以說svn resolved filename ,然后可以繼續對該文件進行操作

更新:如果使用rm或del命令刪除了svn revert filename ,請使用svn revert filename名將其取回,而不必再次添加。只需輸入新更改並說svn ci -m"your comments" filename

svn revert會將最后簽入的副本取回SVN中,並且在用戶使用del命令之前不會進行任何更改

更新2:在您說svn delete之后,您需要提交它,直到您收到消息正在Deleting filename具有新修訂號的文件Deleting filename 。然后使用svn add命令添加文件,然后再次提交。一旦完成,您可以檢查svn信息, 讓我知道..

使用svn status命令了解文件的狀態

除了這個我唯一能想到的問題是這個目錄可能沒有被添加。這是一個新目錄嗎?

啊,老樹沖突問題。

問題是SVN讓您知道您正在添加一個曾經存在的文件,但是它無法告訴您是要刪除它,添加它還是只是更新它! 因此,它會做的唯一事情-標記沖突,以便您可以解決並解決它。 它基本上是目錄級別上的沖突(而不是文件內容的沖突)。

您要做的是解決錯誤(如其他人所指出的那樣),然后更新目錄以取回原始文件,然后提交更改。 請注意,該文件從未從SVN中刪除 -它仍在存儲庫中,如果簽出新的WC,您將得到該文件。

嘗試解決沖突,然后再次提交:

svn resolve --accept working

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM