2010-10-28 36 views
4

是否可以通過diff和patch添加完整的目錄?通過diff和patch添加完整的目錄

在標準代碼庫的基礎上添加額外的模塊似乎是非常方便的方法。

我使用了一些解決方案,但它們通常在文件級別上工作,而不是在目錄級別上。

謝謝。

+0

您剛剛嘗試使用修補程序「在子文件夾中創建」文件嗎? – levu 2010-10-28 18:15:13

+0

這是工作,但我需要創建一個完整的目錄結構。 – SyBer 2010-10-28 18:37:27

回答

3

回答自己:

DIFF -urPp old_dir/NEW_DIR /> new_module.patch

似乎這樣的伎倆。

+1

謝謝!正是我想要的。如果它幫助別人,可以使用'--exclude = PATTERN'來排除CVS目錄之類的東西,並且可以使用'patch -p1 spacemanaki 2011-06-06 16:46:05

2

兩個快速的建議 - 這些都應有助於

  1. 您需要的標誌-r | --recursive

  2. 你可能還需要--unidirectional-new-file-N | --new-file

因爲我已經在這裏完成了您的想法。

+0

謝謝,它似乎也工作,雖然-P給予更多的控制,以防止意外錯誤。 – SyBer 2010-10-28 18:39:37

+0

是的,我盡力幫忙。我在家裏有樣本調用,可能更接近你最終結果。排除CVS/SVN也很有用。 – 2010-10-28 18:41:58

0

下面的步驟將工作

  1. 以舊的源代碼和源代碼之間的補丁(新文件+新目錄) 差異-urPp old_src new_src> new.patch
  2. 創建一個臨時目錄 的mkdir臨時
  3. 複製原來舊的源代碼目錄到臨時目錄 CP -r old_src臨時
  4. 複製補丁文件到臨時目錄中創建 CP new.patch臨時
  5. 改變目錄 CD臨時
  6. 應用補丁 補丁-p0 < new.patch

現在所有的補丁將應用於文件更改+新文件+目錄添加在臨時目錄中