これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド fmerge です。
プログラム:
NAME
fmerge - ファイルをマージします
SYNOPSIS
マージ [ オプション...] ベースファイル ファイルA ファイルB
マージ -ヘルプ
マージ -バージョン
DESCRIPTION
マージ プログラムは、あるオブジェクトの XNUMX つの異なる子孫間の変更を比較するために使用されます。
基本ファイルを作成し、両方の変更セットを含む出力ファイルを作成します。 これは便利です
XNUMX 人のユーザーが両方とも同じバージョンのファイルを取得し、それを個別に編集した場合
その後、両方の編集セットを含むファイルを作成したいと考えています。 このような用途では、
両方の編集セットの派生元となる元のファイルは、 ベース file。 二つ
編集内容を含むファイルは次のように呼ばれます。 file A & file B.
コマンド:
fmerge ベースファイル fileA fileB -o 出力ファイル
に含まれる編集内容を含む出力ファイルを生成します。 file A & file B、 に基づく
ベース file . Status -出力 オプションが使用されなかった場合、または出力ファイルが指定されていない場合、
その後、マージされた行が標準出力に入力されます。 指定する順番は file A
& file B 通常は重要ではありません。
マージ プログラムを使用して、モジュールに対して行われた以前の編集を削除することもできます。 これをする、
削除する編集を含むバージョンをベースファイルにします。 を作る
削除したい編集より前のバージョンをファイル A にします。最後に、最新のバージョンを作成します。
他の編集内容 (削除したい編集内容を含む) を含むファイルのバージョン
ファイル B。マージの結果は、モジュールの最新バージョンからファイル B を除いたものになります。
削除したい編集によって加えられた変更。 たとえば、XNUMX つの連続したバージョンの場合、
いくつかのモジュールには名前があります edit10, edit11 & edit12、そしてあなたは変更を行うことを望んでいます
edit11 元に戻したいが、それでも変更を加えたい edit12、その後、次のコマンドを使用します。
fmerge edit11 edit10 edit12 -o 出力ファイル
XNUMX つの編集セットをマージするときに、fmerge によって競合が検出される場合があります。 A conflict occurs
ベース ファイルの同じ行が XNUMX つの編集セットの両方によって変更された場合。 の
change can be due to new lines being inserted, lines being deleted, or both. いつ
競合が発生した場合、出力ファイルには競合識別行が含まれます。
文字列を含む 「/−/−/−/」。 これらの線は、XNUMX つのセットが存在する領域を示します。
編集は互換性がありません。 You must then edit the output file and remove these lines, and in
さらに、正しい結果を得るために競合を手動で修正してください。
OPTIONS
次のオプションが理解されます。
-紛争 [ 競合ファイル ]
削除による競合は出力ファイルでは見えず、挿入では競合が発生するため、
XNUMX つの編集のうちどちらが行を挿入したかを指定しない場合は、別の方法があります。
からの出力形式 マージ プログラム。 この出力形式は何が起こるかを説明します
競合の検出と修正が容易になるように、ベース ファイルの各行に追加します。
コマンド:
fmerge ベースファイル ファイルA ファイルB -c 競合ファイル
マージの結果を詳細に記述したファイルを生成します。 もし
-紛争 オプションが競合ファイル名なしで指定されている場合、競合
標準出力に送信されます。
競合が発生した場合、 -紛争 オプションが指定されていない場合、 マージ
プログラムはステータス 1 で終了します。
競合ファイルには、XNUMX 文字とその後にいくつかの文字を含む行が含まれています。
文章。 最初の XNUMX 文字は、次の場所でベース ファイルに何が起こっているかを説明します。
その点。 これらの文字は次のとおりです。
IA この行はファイル A によって挿入されました。
DA この行はファイル A によって削除されました。
IB この行はファイル B によって挿入されました。
DB この行はファイル B によって削除されました。
この行は変更されていません。
X これは競合識別行です。
U ここには不特定の変更されていない行があります。
競合の各セットには、XNUMX つの識別行によってフラグが付けられます。 The first line
は競合の始まりを示し、競合の行番号を指定します。
基本ファイルと XNUMX つの分岐ファイル。 XNUMX 番目の競合識別行
ファイル A によって変更された行とファイル B によって変更された行を区切ります。
競合の識別は競合の終了を示します。
この競合ファイルを編集して競合を削除できます。 これには削除が含まれます
競合識別行、および必要に応じて競合する行を変更します。
競合を解決するために。 このとき、空白文字を XNUMX 文字残すことを忘れないでください。
競合を修正するときに挿入する新しい行の先頭に。 あなたが
完了すると、ファイル内に「X」で始まる行が存在しないはずです。 他のすべて
線が残る場合があります。 次に、次のコマンドを使用できます。
fmerge 競合ファイル -o 出力ファイル
必要なデータを含む新しい出力ファイルを作成します。 もう一度言いますが、そうでない場合は、
-出力 オプションまたは出力ファイルが使用されると、出力は標準出力に送信されます。
-変更なし 数
Besides physical conflicts, there can be logical conflicts. これらは変更です
プログラムが機能しなくなるように、ベース ファイル内の別の行に作成されます。
正しい。 Such conflicts cannot be detected by a program, and so these must be
手動でチェックしました。 このプロセスを簡単にするために、 -変更なし オプションはできます
競合ファイルのサイズを縮小して、近くの領域のみを含めるのに使用されます。
changed lines. このファイルは、論理的な問題の可能性を検出するために検査できます。
衝突。 例として、次のコマンドを実行します。
fmerge ベースファイル fileA fileB -c -u 3
いずれかの編集セットによって行われたすべての変更を標準出力に送信します。
各編集を囲む変更されていない行は XNUMX 行だけです。
使用している場合 -変更なし オプションを使用すると、競合ファイルには次の行が含まれます。
あなたと'。 これらは変更されていない行を表し、文字の後の数字は
変更されていない行の数。 結果として生じる競合ファイルを読み取ることができません
produce an output file because of the missing lines. これが試みられた場合、
エラーが発生します。
両方を使用することも可能です -出力 & -紛争 同じコマンドで。 したがって、あなたは
正しいと思われる出力ファイルを生成できます。また、
論理的な競合をチェックするために使用できる競合ファイル。
-詳細 [ 数 ]
このオプションは他のアクションと一緒に指定でき、ステータス情報を出力します。
取り組みの進捗状況について。 これは問題のデバッグに役立ちます。
システムが遅いときや大きなファイルを処理しているときの娯楽として。 それ
出力の冗長性を示す数値引数を受け入れます。 レベルは
次のように:
0 まったく出力されません (エラーを除く)。
1 アクションを説明する XNUMX 行の出力 (デフォルト)。
2 アクションの進行中の詳細なステータス。
-失敗 数
このオプションは、事前に許可される物理的な競合の数を制限します。
失敗している。 これは、結果が多すぎる場合に結果に興味がない場合に使用されます。
多くの衝突。
-ヘルプ
の使用方法についていくつかのヘルプを提供します マージ プログラム。
-無視する
すべての競合を無視します。
-Ignore_Identical_Conflicts
このオプションは、同一の削除を行う競合を抑制するために使用できます。または、
同一の挿入または同一の変更。 XNUMX つをマージする場合、これが望ましいことがよくあります。
ソースコードの分岐。
-バージョン
のバージョンを表示 マージ が走っています。
すべてのオプションは省略できます。 略語は大文字として文書化されていますが、
すべての小文字とアンダースコア(_)はオプションです。 連続して使用する必要があります
オプションの文字のシーケンス。
すべてのオプションでは大文字と小文字が区別されません。大文字または小文字、あるいは
両方の組み合わせ、ケースは重要ではありません。
例: 引数「-help、-HELP」、および「-h」はすべて、 -ヘルプ
オプション。 引数「-hlp」は連続したオプションであるため理解されません。
文字が指定されていません。
オプションおよびその他のコマンドライン引数は、コマンドライン上で任意に混在させることができます。
GNUの長いオプション名は理解されています。 すべてのオプション名が マージ 長いです、
これは、余分な先頭の「-」を無視することを意味します。 NS "-オプション=値「コンベンションも
理解した。
FILE NAME 拡張
便宜上、パス名がピリオドで始まり、環境変数が存在する場合は、
その名前を使用すると、環境変数の値が実際の変数として使用されます。
パス名。 たとえば、環境変数が .foo 価値がある
これは長い名前です、次にコマンド
fmerge -o .FOO
実際にはコマンドと同等です
fmerge -o これは長い名前です
ピリオドで始まるパス名の展開を防ぎたい場合は、
次のように、パス名に別の形式を使用できます。
fmerge -o ./.FOO
BINARY ファイル
一般に、fmerge は、投げられたすべてのテキスト ファイルを処理できます。
珍しいエンコーディング。 ただし、fmerge は できません を含むファイルをエレガントに処理するには
NUL文字。
fcomp(1) プログラムは単に警告を出力して続行しますが、それが警告であることを知っておく必要があります。
比較を実行する前に、NUL 文字を 0x80 値に変換します。
マージ(1) プログラムはマージ前に NUL 文字も 0x80 値に変換します。
警告の後、出力ファイルには元の NUL ではなくこの値が含まれます。
文字。
拳(1) ただし、入力ファイルに NUL が含まれている場合、プログラムは致命的なエラーを生成します。
characters. これは、ソース ファイルを意図しない破損から保護することを目的としています。
-バイナリ NUL 文字を絶対に含める必要があるファイルの場合。
EXIT ステータス
マージ エラーが発生すると、プログラムはステータス1で終了します。 NS マージ プログラムは
エラーがない場合にのみ、ステータス0で終了します。
参考文献
このプログラムは次のアルゴリズムに基づいています。
An O(nd) 差異 アルゴリズム & その バリエーション、ユージン・W・マイヤーズ、TR 85-6、
10 年 1985 月 XNUMX 日、アリゾナ大学、タスコン校コンピュータ サイエンス学部、
アリゾナ85721。
も参照してください。
A File 比較 演奏曲目、Webb Miller および Eugene W. Myers、ソフトウェア プラクティスおよび
経験、第15巻、11月、1985年XNUMX月。
COPYRIGHT
fmerge バージョン 1.18.D001
Copyright(C)1991、1992、1993、1994、1995、1996、1997、1998、1999、2000、2001、2002、
2003、2004、2005、2006、2008、2009 ピーター・ミラー;
この番組はある作品から派生したものです
著作権 (C) 1990 デビッド I. ベル。
このプログラムは自由ソフトウェアです。 あなたはそれを再配布および/またはそれを変更することができます
Free SoftwareFoundationによって発行されたGNUGeneral Public License; また
ライセンスのバージョン3、または(オプションで)それ以降のバージョン。
このプログラムは、役立つことを期待して配布されていますが、いかなる保証もありません。
商品性または特定目的への適合性の黙示の保証もありません。
詳細については、GNU General PublicLicenseを参照してください。
このプログラムと一緒にGNUGeneral PublicLicenseのコピーを受け取っているはずです。
そうでない場合は、を参照してくださいhttp://www.gnu.org/licenses/>.
作者
ピーター・ミラーのウェブ: http://miller.emu.id.au/pmiller/
/\/\* Eメール: [メール保護]
David I. Bell Web: http://www.canb.auug.org.au/~dbell
Eメール: [メール保護]
onworks.net サービスを使用してオンラインで fmerge を使用する