2010-06-11 52 views
6

我知道是否有一些文件被檢出(修改),然後我可以右鍵單擊包含文件夾,然後選擇「創建補丁」。之後我會看到所有簽出文件的列表。所以我可以將它們包含在補丁中。 但是當沒有檢出文件時,又一切都提交了,創建補丁窗口是空的。所以問題是如何從簽入文件創建補丁?我想將這個補丁發送給同事,以便他們可以將它們應用到公司的svn服務器上。如何在沒有檢出文件的情況下在TortoiseSVN中創建補丁?

感謝,

+0

補丁意味着兩個版本之間的差異。在你描述的情況下,在SVN基礎上進行了本地修改。 哪一個是你想要減少的兩個版本? – 2010-06-11 15:08:45

+0

公司裏有一個svn服務器,我沒有從家裏訪問它。每週一次,我通過DVD /閃存/等複製公司的回購到家用電腦。在本週內,我的家庭信息源發生了變化,並希望通過向同事發送電子郵件將其發送到公司的回購站。我知道git可能是更好的選擇,但我只能使用SVN。 – 2010-06-11 16:05:49

回答

12

統一差異是一個補丁文件。

  1. 使用TortoiseSVN,你的工作文件夾右鍵單擊並選擇「顯示日誌」
  2. 選擇的兩個版本(按住Ctrl鍵單擊)在任一突出的修訂
  3. 右鍵單擊並選擇「以統一差異顯示差異「

用文件夾結構保存已更改的文件。

  1. 使用TortoiseSVN,你的工作文件夾右鍵單擊並選擇「顯示日誌」
  2. 選擇的兩個版本(按住Ctrl鍵單擊)
  3. 選擇「比較版本」。這將在對話框中列出修訂之間的修改文件
  4. 選擇出現的對話框中的所有文件。右鍵單擊所選文件並選擇「將選擇導出到...」

這應該導出帶有文件夾結構的已修改文件。

+0

這似乎很好。但是有兩個問題:1.如果我在文件夾樹中更改了多個項目,我不得不在每個文件上手動執行此操作。 2.有沒有辦法得到文件夾結構的差異?例如目錄更改? – 2010-06-11 16:10:57

+0

@afsharm我已經更新了答案。 – Shaji 2010-06-11 16:24:30

+0

其實3個問題......統一差異顯示似乎不支持ShiftJIS,所以日文文本變成了mojibake。 – iforce2d 2012-10-13 13:21:17

1

如果你只是想同事獲得最先進的最新文件,則需要使用SVN結帳從SVN服務器得到它。如果由於某些原因他們無法訪問您的svn服務器,您也可以右鍵單擊並選擇svn-export;這會爲您提供一組包含文件夾中的所有文件,而不包含任何隱藏的.svn目錄。

+0

請注意我對這個問題的評論。另外出口對我來說不是一個好選擇。因爲我想發送剛更改過的文件。 – 2010-06-11 16:07:11

2

你所描述的是兩個顛覆之間的diff修訂。查看svn diff上的SVN Book部分,瞭解如何操作。

相關問題