diff
パッチファイルを作成したことがあります。diff old.txt new.txt
:
1c1
< Lorem ipsum dolor sit amet, consectetur adipiscing
---
> The quick brown fox jumps over the lazy dog.
出力はデフォルトの「normal diff」形式です。
このパッチファイルにコメントを書くことはできますか?それでは、パッチファイルは合理的に移植可能ですか?
答え1
patch は、構文に一致するブロックが見つかるまで diff-output のように見えない行を無視します。これはかなり移植性に優れています。既存の実装はまさにそのことをします。私が作成したパッチ(例:diff-patch
)ncursesとxtermの序文があります。差統計、行の前に「#」を追加して明確にします。例えば、引用する一つ:
# ncurses 6.2 - patch 20200301 - Thomas E. Dickey
#
# ------------------------------------------------------------------------------
#
# Ncurses 6.2 is at
# ftp.gnu.org:/pub/gnu
#
# Patches for ncurses 6.2 can be found at
# ftp://ftp.invisible-island.net/ncurses/6.2
# http://invisible-mirror.net/archives/ncurses/6.2
#
# ------------------------------------------------------------------------------
# ftp://ftp.invisible-island.net/ncurses/6.2/ncurses-6.2-20200301.patch.gz
# patch by Thomas E. Dickey <[email protected]>
# created Mon Mar 2 23:18:56 UTC 2020
# ------------------------------------------------------------------------------
# NEWS | 8 +++++++-
# VERSION | 2 +-
# dist.mk | 4 ++--
# ncurses/base/lib_bkgd.c | 12 +++++++++++-
# package/debian-mingw/changelog | 4 ++--
# package/debian-mingw64/changelog | 4 ++--
# package/debian/changelog | 4 ++--
# package/mingw-ncurses.nsi | 4 ++--
# package/mingw-ncurses.spec | 2 +-
# package/ncurses.spec | 2 +-
# package/ncursest.spec | 2 +-
# 11 files changed, 32 insertions(+), 16 deletions(-)
# ------------------------------------------------------------------------------
Index: NEWS
Prereq: 1.3455
--- ncurses-6.2-20200229+/NEWS 2020-02-29 23:15:52.000000000 +0000
+++ ncurses-6.2-20200301/NEWS 2020-03-02 01:55:08.000000000 +0000
@@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
一方、人がいます。できるこの場合、新しいパッチをビルドするとエラーが表示されます。プログラムが30年以上になることを考えると、現在使用されている方法よりも「新しい」プログラムに移植性の欠如が反映されます。
答え2
いいえ。diff
たとえば、プログラムに提供したい場合は必要ありませんpatch
。
diff
/ストリームの一部ではないコメント構文を考えることはできますかpatch
?できません。
変更は他の場所に文書化する必要があります。