"패치"가 끝에 물결표가 있는 백업 파일을 생성하는 것을 방지하는 방법은 무엇입니까?

"패치"가 끝에 물결표가 있는 백업 파일을 생성하는 것을 방지하는 방법은 무엇입니까?

나는 다음과 diff같이 실행 중입니다 patch:

diff --unified --ignore-space-change old.txt new.txt > changed.patch
patch --version-control=none third.txt changed.patch

파일이 생성되는 것을 --version-control=none방지 해야 합니다 (그렇습니다).patchthird.txt.orig

그러나 third.txt.~1~반대라는 이름의 파일이 생성됩니다.

모든 친구들이 성공했고 SIMPLE_BACKUP_SUFFIX환경 변수는 비어 있었습니다.

--posix옵션은 third.orig파일을 생성합니다.

third.rej문제가 발생하면 파일이 생성되어도 상관 없습니다.

저는 GNU 패치 2.7.6과 함께 Git Bash를 사용하고 있습니다.

답변1

약어: 사용하다--no-backup-if-mismatch:

대개,수리하다패치가 원본 입력 파일과 정확히 일치하지 않는 경우 백업 파일을 생성하십시오. 이 경우 ''를 사용하여 패치를 실행 취소하면 원본 데이터를 복구하지 못할 수 있습니다.patch -R'(역방향 패치 적용 참조). 그러나 POSIX와 호환되는 경우 패치는 기본적으로 백업 파일을 생성하지 않습니다. 패치를 참조하고POSIX 표준.

이것--backup(-b) 옵션을 사용하면 패치가 원래 입력과 일치하는지 여부에 관계없이 패치가 백업 파일을 생성합니다. 이것--backup-if-mismatch옵션을 사용하면 패치가 일치하지 않는 파일에 대한 백업 파일을 생성하게 됩니다. 이는 POSIX와 호환되지 않는 경우 기본값입니다. 이것--no-backup-if-mismatch옵션을 사용하면 패치가 일치하지 않더라도 패치가 백업 파일을 생성하지 않습니다. 이는 POSIX와 호환되는 경우 기본값입니다.

("적합성"에는 약간의 설명이 필요하지만 The Open Group 기본 사양 2018년 7호에서는 명확하지 않습니다.)

관련 정보