![패치가 백업 파일을 생성하지 못하도록 방지하는 방법은 무엇입니까?](https://rvso.com/image/1302215/%ED%8C%A8%EC%B9%98%EA%B0%80%20%EB%B0%B1%EC%97%85%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%98%EC%A7%80%20%EB%AA%BB%ED%95%98%EB%8F%84%EB%A1%9D%20%EB%B0%A9%EC%A7%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 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
.