2017-03-09 7 views
0

私はJuliaのパッチをFemtolispに適用しようとしています。しかし、Juliaは独自のソース管理ツリー内にそのバージョンを保持しています。したがって、git format-patchのようなツールは、ディレクトリによるフィルタリングを許可していないため、機能しません。Gitを使って、特定のディレクトリに変更だけを含むパッチのリストを作成するにはどうしたらいいですか?

私の最善の選択肢は、不要なパッチをフィルタリングするためのスクリプトを書くことですか、Gitにはこの機能が組み込まれていますか?

答えて

0

GITコマンドが必要なことは分かりませんが、いくつかのコマンドとシェルを使って作業を行うことができます。次のような 何か:

$ mkdir mypatches 
$ N=1 
$ for x in $(git rev-list FROM_COMMIT..TO_COMMIT) 
    do 
     P=$(git diff $x^..$x -- DIRECTORY) 
     if [ -n "$P" ] 
     then 
      echo "$P" > mypatches/$(printf %06d $N).patch 
      N=$((N+1)) 
     fi 
    done 
0

あなたは2つのフォルダ...

git diff folder1 folder2 > diff.patch 
cd folder1 
patch -p1 < diff.patch 

それとも、シンプル差分コマンドを使用することができるとの違いを取得するためにgitのdiffをコマンドを使用することができます...

diff -Naru folder1 folder2 > diff.patch 
cd folder1 
patch -p1 < diff.patch 

ここでは、フォルダ1とフォルダ2の場合の違いはどちらでもありますフォルダ1のみに適用します。

関連する問題