【背景】
折腾:
【已解决】打patch补丁时出错:Reversed (or previously applied) patch detected! Assume -R? [n]
期间,以为搞懂了patch,实际上对patch的用法还不是很清楚。
此处想要彻底搞清楚-R的含义。
【折腾过程】
1.参看help:
CLi@PC-CLI-1 ~/develop/buildroot/diff_patch $ patch --help Usage: patch [OPTION]... [ORIGFILE [PATCHFILE]] Input options: -p NUM --strip=NUM Strip NUM leading components from file names. -F LINES --fuzz LINES Set the fuzz factor to LINES for inexact matching. -l --ignore-whitespace Ignore white space changes between patch and input. -c --context Interpret the patch as a context difference. -e --ed Interpret the patch as an ed script. -n --normal Interpret the patch as a normal difference. -u --unified Interpret the patch as a unified difference. -N --forward Ignore patches that appear to be reversed or already applied. -R --reverse Assume patches were created with old and new files swapped. -i PATCHFILE --input=PATCHFILE Read patch from PATCHFILE instead of stdin. Output options: -o FILE --output=FILE Output patched files to FILE. -r FILE --reject-file=FILE Output rejects to FILE. -D NAME --ifdef=NAME Make merged if-then-else output using NAME. -m --merge Merge using conflict markers instead of creating reject files. -E --remove-empty-files Remove output files that are empty after patching. -Z --set-utc Set times of patched files, assuming diff uses UTC (GMT). -T --set-time Likewise, assuming local time. --quoting-style=WORD output file names using quoting style WORD. Valid WORDs are: literal, shell, shell-always, c, escape. Default is taken from QUOTING_STYLE env variable, or 'shell' if unset. Backup and version control options: -b --backup Back up the original contents of each file. --backup-if-mismatch Back up if the patch does not match exactly. --no-backup-if-mismatch Back up mismatches only if otherwise requested. -V STYLE --version-control=STYLE Use STYLE version control. STYLE is either 'simple', 'numbered', or 'existing'. -B PREFIX --prefix=PREFIX Prepend PREFIX to backup file names. -Y PREFIX --basename-prefix=PREFIX Prepend PREFIX to backup file basenames. -z SUFFIX --suffix=SUFFIX Append SUFFIX to backup file names. -g NUM --get=NUM Get files from RCS etc. if positive; ask if negative. Miscellaneous options: -t --batch Ask no questions; skip bad-Prereq patches; assume reversed. -f --force Like -t, but ignore bad-Prereq patches, and assume unreversed. -s --quiet --silent Work silently unless an error occurs. --verbose Output extra information about the work being done. --dry-run Do not actually change any files; just print what would happen. --posix Conform to the POSIX standard. -d DIR --directory=DIR Change the working directory to DIR first. --reject-format=FORMAT Create 'context' or 'unified' rejects. --binary Read and write data in binary mode. --read-only=BEHAVIOR How to handle read-only input files: 'ignore' that they are read-only, 'warn' (default), or 'fail'. -v --version Output version info. --help Output this help. Report bugs to <[email protected]>. CLi@PC-CLI-1 ~/develop/buildroot/diff_patch $
【总结】
可以看出:
- -R:reverse,表示撤回打补丁,还原内容
- 和之前的猜测,也是一致的。
转载请注明:在路上 » 【整理】Linux命令patch的用法