설명대로 패치를 만들어 보았습니다여기.
두 개의 디렉토리가 있다고 가정하고 다음 명령을 사용하여 패치 파일을 만듭니다 pp1(modified version)
.pp0(clean version)
pp0.patch
diff
diff -crB pp0 pp1 > pp0.patch
문제는 pp1에 파일만 있으면 패치에 포함되지 않는다는 점이다. 이 문제를 어떻게 해결하나요?
고쳐 쓰다:
먼저 pp0 디렉토리에 들어가서 패치가 성공하는지 테스트해보겠습니다.
patch --dry-run -p1 -i /path-to-pp0.patch
--new-file
명령에 추가했지만 결과에 나열 diff
되지 않았습니다.pp1
고쳐 쓰다:
실수로 잘못된 파일을 패치해서
diff -crb --new-file pp1 pp0 > pp0.patch
또는
diff -crNb pp1 pp0 > pp0.patch
할 것이다
답변1
이 작업을 수행하려면 스위치를 사용할 수 있어야 합니다 --new-file
. 에서 가져옴차이점 매뉴얼 페이지:
--new-file
In directory comparison, if a file is found in only one direc-
tory, treat it as present but empty in the other directory.
이 시도:
diff -crB --new-file pp0 pp1 > pp0.patch
답변2
직접 답변: diff -N
, asPutzko가 설명함. 에 의해 많은 패치가 만들어졌음을 알 수 있습니다 diff -urN
.
당신의 삶을 더 나은 방향으로 변화시킬 것: 버전 관리 도구를 사용해 보세요. 모른다면 세 가지 주요 항목 중 하나로 시작하세요.분산 개정 제어체계,시장,자식또는수은. 클린 버전을 체크인하고, 작업하고, 필요한 만큼 작업물을 체크인하고, 클린 버전과 자신의 작업 사이의 차이점을 버전 관리 시스템에 문의하세요.