2009-02-05 47 views
12

我已發現,當我需要重命名一個Java類(和因此在源文件)或需要更改包名稱(和因此移動源文件[S]),我可以:如何使用Eclipse重構工具並通過Subclipse與SVN保持同步?

  1. 使用好的和有用的Eclipse重構工具,這是很棒的,因爲所有的級聯任務都是爲我完成的。然而,我隨後與Subversion進行艱難的鬥爭,將更改複製回回購。
  2. 我可以先在Subversion中發出重命名/移動,更新我的本地,然後Eclipse中的重構工具不起作用。

任何人都可以建議一個更好的程序?

回答

10

自1.4.x發佈以來,Subclipse處理得非常好。如果您有錯誤,請報告。在之前的版本中,它處理一些情況,但不處理其他情況這是由於SVN 1.5中修復的Subversion限制造成的。例如,在SVN 1.5之前,如果您重命名文件夾,則無法重命名文件夾中的文件(直到文件夾被提交)。這些事情都是非常常見的重構,而SVN會阻礙它。

雖然現在一切運作良好。

馬克

3

你試過subversive?重構似乎對我來說工作得很好。

其實,我也試過subclipse,它似乎處理得很好,至少在1.4.7版本中。我只是嘗試重命名一個包和一個類。 Eclipse將舊版本標記爲已刪除並添加了一個新的版本,計劃添加到版本庫中。

+0

嘿,謝謝你。我正在使用1.2.something。我保留升級的意義,但由於某種原因,這總是一件麻煩事。 – Nicholas 2009-02-05 20:55:24

-1

Subclipse將在Eclipse中重構時處理svn移動/重命名。

+2

他說它已經安裝,它在問題的標題 – 2009-02-06 03:18:43

4

我不喜歡走進來,並說'你做它rong',但因爲你的主題行提到Subclipse - Subclipse集成了Eclipse的重構工具。 Subversive也是如此。當你重新命名一個類時,它會爲你在下面執行'svn mv'。您不應該嘗試手動複製這些移動。

我不知道是否由於某種原因Subclipse沒有附加到你的項目 - 如果它不知道你的項目是一個Subversion項目。那顯然它什麼都不會做。

如果你不使用Subclipse/Subversive ... start。 :)

+0

我使用的是Subclipse,但由於某種原因,它不會在我重構時發出任何SVN命令。其他「團隊」操作在執行時顯示在控制檯中,但不包含重構。也許它是一個較舊的版本,或者它以某種方式被洗淨。感謝您的迴應。 – Nicholas 2009-02-05 21:03:34