2008-10-24 45 views
1

我個人總是使用某種外部應用程序來完成我的SCM工作;這些天,這意味着windows上的tortoiseSVN和mac上的versions.app。但是,我一直在對付開發人員(即eclipse用戶),他們認爲SCM在IDE本身內完成得更好。我還沒有聽到任何有力的論據支持這個工作流程,而且我個人喜歡IDE和SCM操作之間的「分離」程度。這已經從Visual Studio中使用不穩定的SVN插件引入到我的視野中,以及在離線工作的過去幾年中在Xcode中支持不合標準的SVN。單片機內部或外部的IDE?

哪種方式可以促進您認爲更好的工作流程?

回答

2

我絕對喜歡外面。話雖這麼說,我的主要IDE是Visual Studio中,我沒有使用過Eclipse或的IntelliJ(雖然我在Emacs使用CVS模式...),所以你的里程可能會有所不同...

  • 進行更改並提交更改是不同的任務 - 讓他們既容易獲得在IDE意味着你沒有明確完成一組更改,並承諾他們之間劃定。通常情況下,這是一種類型類型的類型,編譯,測試,測試,提交...'哦,等等 - 我忘了去酒吧了。從IDE模式切換到SCM模式往往會在提交之前觸發'哦,等待'。

  • 將相關文件保存在一起 - 提交源代碼更改非常容易,然後記住相關的SQL腳本並分別提交它們,然後添加新的映像文件,因爲您忘記了這些文件,因爲它們對存儲庫不熟悉等等。

  • 上述類似,它往往是一個更容易在信息庫中的錯誤水平/目錄時,在IDE中犯下的事情。 (例如,我應該在解決方案層面而不是項目層面進行承諾)

  • 通常情況下,您可以更容易地將工作空間與IDE之外的存儲庫完全區分開來,而這往往是值得的。

  • 這也可能讓你的IDE,額外的有點快

我也同意前面海報 - 所有非平凡的SCM任務往往更容易之外發展的IDE集成。

說實話,只要你避免上述凌亂承諾的情況下,做任何你覺得最舒服的。在工作流方面 - 分離必須是「清潔劑」,這種清潔勝過便利是否將是在旁觀者的眼睛 - 我們在很大程度上反應到我們的個人經驗(我懷疑我的是與你相似)。

不管你做什麼,使用anything but SourceSafe...我此刻的遺留代碼 - 我覺得很可惡的文件是由只讀了SCM的集成物理改變文件的內容...

4

對於基本操作 - 簽入簽出我喜歡它在IDE中的任何更先進的東西,(分支/合併)我更喜歡使用外部工具。

在這些情況下,外部工具似乎會提供更好的控制/選項。直接在IDE中工作時,您的選擇似乎有限或不存在。

0

它非常依賴於IDE/SCM組合。我目前正在使用IntelliJ與SVN,並發現IntelliJ的SVN插件通常比使用Tortoise更令人愉快。不是說我對烏龜有任何特別的抱怨 - IntelliJ只是更好。

0

建設應沒有IDE是可能的,所以SCM應該可以沒有IDE。

在另一方面,具有IDE支持SCM可以方便。很高興能夠例如檢查文件歷史記錄並可能恢復它。

2

一個優勢具有集成是重構。如果我在Java中重命名了一個類(因此也是文件名),那麼您的SCM集成將自動處理重命名操作(例如,刪除,然後是svn中的添加)。

,也是非常方便的,能夠說,「讓我看看這個文件的歷史記錄」或當您正在使用它,無論不必刪除Windows資源管理器或命令行或什麼的。

但是我喜歡能夠同時擁有可用的,真的。

1

我幾乎總是使用外部工具。唯一的例外是當我需要重命名一個源文件。 IDE更容易同時更新其項目引用。

0

我喜歡內部供應鏈管理。

  • 重命名文件,而不必做重命名IDE 的SCM工具
  • 將文件添加到項目 - 見上面

我有內部SCM發現對於開發人員而言,忘記將新文件添加到SCM系統的情況並不常見。

對於任何複雜的操作,例如合併,分支等我傾向於使用外部SCM GUI或命令行。