Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Is it possible to tell patch not to generate .orig and .rej files? I find it extremely annoying that patch creates these.

share|improve this question
add comment

2 Answers

To tell patch not to produce backups just omit the -b and any --backup-... options.

To instruct it not to create .rej files add -r - option to the command.

share|improve this answer
add comment

If you're not giving any option to patch other than -pN, it only creates those files when a patch fails to apply cleanly.

So, one option is to stop creating (or accepting) bad patches. :)

Back in the real world, this is a feature. When patch(1) fails to apply a patch segment to the original file, it saves the temporary original file copy out durably as *.orig, dumps the rejected segment to *.rej, and continues trying to apply patch segments. The idea is that you can open the *.rej file and complete the patch process manually by copying bits and pieces over to the patched file. The *.orig file can also be useful when the patch process accidentally wrecks something, and you need to refer to the original version to fix it.

I don't always fix a bad patch with text from the *.rej and *.orig files, but it's nice to have them in case I need them.

Once I've fixed up a bad patch, I give this command at the project root to quickly clean things up:

$ find . \( -name \*.orig -o -name \*.rej \) -delete

I use it often enough that it stays in my Bash history. I find that Ctrl-R o r i is enough to find the command in my history.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.