2013-07-24 2 views
2

광산 프로젝트에 대한 패치를 만들려고합니다.
기본적으로 나는 많은 파일과 하위 디렉토리가있는 디렉토리를 가지고 있으며, 패치는 여러 하위 디렉토리에있는 파일의 하위 세트에만 적용해야합니다. diff의 영향을받을 다른 파일이 있기 때문에 원본과 수정 된 전체 디렉토리에서 diff를 사용할 수 없습니다. diff 명령을 사용하여 파일의 하위 집합에 대해서만 패치를 만드는 자동화 된 방법이 있습니까?디렉토리/하위 디렉토리에서 선택한 파일에만 diff 사용

확실한 방법은 모든 개별 파일을 비교 한 다음 복사/붙여 넣기를 사용하여 파일 하나에 파일을 집계하는 것입니다.하지만 자동화 된 방법이 있습니까? 이 작업을 수행하는 기본 방법은 무엇입니까?

답변

2

일반적으로 이러한 시나리오에서는 패치 파일에서 중요한 파일 경로의 대부분이 맨 위의 구성 요소를 제외하고 동일합니다. 예를 들어 :

diff -u original/some/path/foo.c mine/some/path/foo.c 

당신은 당신이 패치를 생성 할 파일의 전체 목록을 만들 수 있지만, 최상위 경로 구성 요소를 잃게한다. 이 목록을 사용하면 파일의 최상 부분이 추가 된 diff 명령에 각 파일 이름을 제공하는 루프에 피드를 간단히 추가 할 수 있습니다.

0

멋진 도구 하나는 rsync입니다.이 도구를 사용하면 한 디렉터리에서 다른 디렉터리로 파일을 "동기화"할 수 있습니다. --dry-run 옵션을 사용하면 어떤 파일이 다른지 확인할 수 있습니다. 이 차이점이 무엇인지 신경 쓰지 않으면 좋은 옵션입니다.

관련 문제