나는 다음과 diff
같이 실행 중입니다 patch
:
diff --unified --ignore-space-change old.txt new.txt > changed.patch
patch --version-control=none third.txt changed.patch
파일이 생성되는 것을 --version-control=none
방지 해야 합니다 (그렇습니다).patch
third.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호에서는 명확하지 않습니다.)