2008-09-25 133 views
7

背景:在我的工作中,我們使用SVN,C#和VisualStudio。我的一部分任務經常涉及全球重命名。通常,我在重命名某些內容併合並更改後最終得到損壞的內部版本。語義合併工具

問題:是否有解決方案可以查看我的更改,注意全局重命名,然後將其應用於其他人在合併時編輯的編輯?

另一種獲得相同效果的方法是某種重構日誌,然後將其應用於傳入的編輯。

該工具不必是完美的,即使它只是指出在他們的編輯中引用我編輯的某些內容的任何參考都是有價值的。

編輯我知道VS的重構工具。我正在尋找的東西,將允許我在重構我的工作副本後,將相同的重構應用於其他人的編輯,我現在需要合併。

理想的解決方案是確保當我進行重構時,沒有任何未完成的編輯,但是這會阻止其他人在下週或更長時間內完成任何工作。 (因爲他們將不得不在同一個半小時內同步下一個星期)

+1

目前,一個很好的(商業)選項似乎是Visual Studio的擴展管理器提供的[代碼比較](http://www.devart.com/codecompare/)。 – rsenna 2012-04-18 02:09:00

+1

你檢查過這個嗎? http://plasticscm.com/sm/index。html你應該,這正是你正在尋找的C#工具 – pablo 2013-03-26 06:30:40

+0

所以你真正想要的是一個語義補丁工具。 – mbx 2017-10-05 14:53:40

回答

0

假設至少VS 2005和全局重命名是一個變量/屬性/函數,有一個重構 - 重命名右鍵單擊菜單選項可以用。按照設計,它會在整個解決方案中傳播名稱更改。

0

難道不可能縮短您提交更改所需的時間嗎?一個或多個星期之間似乎相當長的承諾...

0

我明白你的問題。不幸的是,我認爲在同步時沒有足夠聰明的SVN腳本來完成這項工作。

也許你的團隊與SVN更適合工作可能會使這種情況變得沒有用。當您在工作副本中執行svn:update並實現合併操作時,在執行更改之前重建更新的解決方案是一種很好的做法。

擁有一個svn腳本,能夠在合併時進行自動化操作,這的確很棒。

1

保持重命名與其他重構分離。它們通常可以自動化,因此使更改變得非常簡單。您甚至可以分發腳本以允許其他工程師使用合併地獄對文件進行轉換。

有沒有簡單的方法來自動化重構,所以保持簡單。重命名應該只需要幾分鐘,你應該能夠簽出並提交最少的測試。