패치가 백업 파일을 생성하지 못하도록 방지하는 방법은 무엇입니까?

패치가 백업 파일을 생성하지 못하도록 방지하는 방법은 무엇입니까?

나는 patch(1) 프로그램을 적용할 코드를 작성 중인데, 이 프로그램이 백업 파일을 생성하는 것을 완전히 방지하고 싶습니다. 즉, foo.orig특정 파일을 업데이트하는 데 실패하거나(이 경우 foo.rej파일이 생성됨) 파일을 성공적으로 업데이트했지만 약간의 모호함이 관련되어 있는 경우(일반적으로 두 경우 모두 수행됨) 파일을 생성하는 것을 원하지 않습니다. . 이것은 말처럼 쉽지 않은 것 같습니다.

기본 사례: Debian 소스 디렉터리에 대해 "패치"를 실행했는데 파일 업데이트에 실패했습니다 debian/changelog. patch는 파일 debian/changelog.orig파일을 생성합니다(이것은 제가 피하려고 하는 것입니다).

문서에는 --no-backup-if-mismatch스위치가 언급되어 있는데 이것이 바로 나에게 필요한 것 같습니다. 하지만 추가하면 백업 파일이 계속 생성되고 지금은 debian/changelog.~1~.

또한 문서에는 --posix스위치가 있으면 백업이 이루어지지 않는다고 나와 있습니다. 대신 이 스위치를 사용하면 --no-backup-if-mismatch백업 파일이 생성되지만 원래 .orig접미사가 붙습니다.

내가 찾은 유일한 해결 방법은 -B/--prefix스위치를 사용하여 내가 선택한 디렉터리에 백업이 기록되도록 하는 것입니다. 그러나 이것은 추악한 해킹처럼 보입니다. 백업을 방지하는 더 깔끔한 방법은 없을까요?

답변1

분명히 -B/--prefix갈 수있는 유일한 방법입니다.

답변2

에 따르면(어려움)백업, --no-backup-if-mismatch원하는 대로 됩니다.

답변3

문서화되지 않은 옵션을 사용해 보세요 --version-control none. 그 옵션은FreeBSD 변종에 대해 문서화되어 있습니다.patch.

관련 정보