2013-03-15 79 views
3

我正在使用命令行將一個項目合併到另一個項目中。例如Visual SourceSafe要求我簽入一些文件,但自動檢入其他文件

ss merge $/XXXXXXXX -GF -R

我期待着得到輸出這樣的,這些都是罰款:

A.cpp has been merged with no conflicts. 
Check in now?(Y/N)n 

An automatic merge has occurred and there are conflicts. 
Edit C:\XXXXXXXX\B.cpp to resolve them. 

但怎麼樣:

C.cpp 
Comment for C.cpp: 

提示我輸入註釋,然後VSS是自動檢查我的文件。直到我檢查了幾個文件之後,我才意識到發生了什麼......爲什麼它會在這些文件上執行此操作,而不是先問我在其他文件上的操作?

回答

2

從我的進一步測試中,我認爲認爲簽入是在合併與源文件相同時自動完成的,即目的地與源的早期版本相同。

1

合併時,有三種情況將源文件與目標進行比較:相同,不同但可以自動合併,並且與衝突不同。 c.cpp可能是第一種情況。

+0

不,肯定有更改...未更改的文件會自動跳過。 – 2013-03-18 08:57:17

1

可視化安全合併的問題是合併在服務器上完成。這就是說,如果視覺資源安全成功合併文件,它會自動檢入服務器上的文件。另一方面,Subversion和其他源代碼管理系統會合並本地工作區而不是遠程服務器上的文件。

請參閱以下有關Visual Source Safe MergeHow to: Merge File Versions的微軟文章。

在步驟10. 「檢查數據庫以確保分支文件版本已正確合併。」

我使用默認選項自動檢入數據庫,因爲它顯然來自幫助文檔。

+0

這不是真的......在我的情況下,大多數文件都被成功合併,但我被提示簽入。只有幾個文件被自動檢入,其餘的最終檢出到我的工作目錄。 – 2013-03-25 20:18:34

+0

@John爲此行爲添加了2個鏈接。 – 2013-03-26 07:08:06

相關問題