2010-02-01 48 views
0

我想知道還有哪些方法可以提交到SVN存儲庫?例如,我在文件之間有一些差異,svn狀態顯示它們很清楚。我不希望svn提交,我想將diff導出到補丁中,以增加承諾,比如通過拇指驅動器在2臺計算機上進行。這可能嗎?在SVN中提交的替代方法

那麼二進制文件呢,它還有可能嗎?

本質上講,我希望通過補丁來實現增量提交,或任何替代方法有沒有網絡。

謝謝!

+0

我意識到,有非SVN DIFF文件來創建補丁,那麼二進制文件呢? – nubela

+0

我會調用這個*替代方法來分發代碼更改(而不是承諾SVN)*或類似的。因爲提交正在提交。 –

+0

@Felix:我想使用SVN作爲後端,因此,它實際上基本上是提交,因爲我正在將存儲庫更新到最新版本。 – nubela

回答

1

你可以做svn diff> mypatch
git用增量補丁更好,所以你應該檢查一下。就我個人而言,我發現git非常複雜,但它是值得的。如果你堅持使用svn,你可以得到單個文件的差異,但我認爲沒有辦法爲單個文件獲得差異。你必須自己手動保存補丁才能做到這一點。

+0

我很樂意使用GIT,但學習曲線非常陡峭。二進制文件呢?如何將二進制文件添加到版本控制中? – nubela

+0

嗯,我現在不是在unix機器上嘗試它,但也許不同的差異二進制文件會這樣做。見http://stackoverflow.com/questions/317649/how-to-make-svn-diff-produce-file-that-patch-would-apply-when-svn-cp-or-svn-mv-w –

0

如果您使用Java,則不會聲明一種語言。然後,Intellij IDEA和Eclipse都支持爲樹中的所有更改生成批處理補丁文件。

1

曾幾何時我在一家公司工作,說:「中超公司的研究(SRC)」。該軟件安裝在一個Subversion版本庫中,我可以讀取該版本並可以看到日誌。作爲代碼審查過程的一部分,經理(稱他喬治)要求通過電子郵件發送給他的所有建議的簽入作爲對主幹的補丁。他們應該被接受,他會繼續和檢查他們在喬治喜歡的兩件事情:「寫這樣的一致性,你不能告訴是誰寫的」

  1. 確保所有代碼
  2. 繼續爲期兩週的商務旅行。

這導致了我們的軟件項目的以下顯着特點:

  1. 碼,平均需1周獲得從提交的時間審查。
  2. Checkins包含大約兩週的工作。
  3. 所有簽到在日誌中顯示相同的作者,所以沒有人知道在發生問題時要跟誰說話。
  4. 大約有一半的checkin在第一次提交時被拒絕,因爲有些評論的縮寫太少。我在WinMerge中花費了大約2/3的編輯時間來尋找細微的縮進不一致(有關多行表達式的垂直對齊的詳細規則)。

您的建議可能只顯示其中的一部分,但可怕的經歷如此刻骨銘心,我必須警告您認真考慮您的決定的後果。

也就是說,Subversion補丁可以對於從外部用戶等接收一次性提交的項目很有用,所以我不認爲發送補丁的想法是絕對錯誤的。 :)

1

我建議你看看Mercurialhgsvn插件。與git相比,如果您瞭解SVN,Mercurial相對比較簡單易學。使用hgsvn插件,您可以在沒有網絡連接的情況下在PC上使用Mercurial,與拇指驅動器同步,並在具有網絡連接的PC上提交對SVN的更改。