これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド AED です。
プログラム:
NAME
aegis 差異 - 変更とベースラインの差異を見つける
SYNOPSIS
イージス -違い [ ファイル名...] [ オプション...]
イージス -違い -リスト [ オプション...]
イージス -違い -ヘルプ
DESCRIPTION
この イージス -違い コマンドはソース間の差分リストを生成するために使用されます
開発ディレクトリとベースラインのファイル。目的は、
レビュー担当者はソースファイルに対して行われたすべての編集内容を確認できます。
リストはソースファイルと同じ名前のファイルに保存されますが、
「,D」サフィックス。
差異を実行するために使用するコマンドは、 差分コマンド のフィールド
プロジェクト設定ファイル( aepconf詳細については (5) を参照してください)。
diffステップを不要として省略するようにプロジェクトを設定することも可能である。
次の設定:
diff_command = "終了 0";
これにより、変更ごとに差分ファイルの生成、チェック、検証がすべて無効になります。
ソースファイル。 補佐官(1)コマンドはこれの影響を受けない
設定。
ことに注意してください 履歴コンテンツの制限 プロジェクト構成ファイルのフィールド
ありません に適用します 差分コマンド フィールド。
コマンドラインでファイル名が指定されていない場合は、変更に含まれるすべてのファイルの差分が取られます。
コマンドラインでディレクトリを指定すると、そのディレクトリ内のすべてのファイルが変更されます。
ディレクトリツリーが異なります。
File お名前 解釈
aegisプログラムは、ファイル名からプロジェクトファイル名を判別しようとします。
コマンドラインで指定します。 すべてのファイル名は、相対的なものとしてaegisプロジェクト内に保存されます
ベースラインディレクトリツリーのルートに移動します。 開発ディレクトリと
統合ディレクトリはこのベースラインディレクトリの影であるため、これらの相対名
こちらもお申し込みください。 コマンドラインで指定されたファイルは、最初に絶対パスに変換されます
必要であれば。 次に、それらはベースラインパスである開発ディレクトリと比較されます。
パス、およびベースライン相対名を決定するための統合ディレクトリパス。 です
指定されたファイルがこれらのディレクトリツリーのいずれかの外にある場合はエラーになります。
この -BAse_RElative オプションを使用すると、相対ファイル名を次のように解釈できます。
ベースラインパスを基準にしています。 絶対ファイル名は引き続きさまざまなファイル名と比較されます
ベースライン相対名を決定するためのパス。
この Relative_filename_preference ユーザー構成ファイルで変更するために使用される場合があります
このデフォルトの動作。 見る aeuconf(5)詳細については。
通知ですよ
コマンドのアクションは、 差分コマンド および マージコマンド の分野
プロジェクト 設定 ファイル。 見る aepconf(5)詳細については。
、 ベースライン LOCK
ベースライン ロックは、ベースラインが一貫した状態に保たれるようにするために使用されます。
ベースライン内のファイルの内容を読み取る必要があるコマンドの継続時間。
ベースラインの一貫性を必要とするコマンド (これらには、 Aeb(1)
acp(1)と AED(1) コマンド) ベースラインを取得します read ロック。 これは非排他ロックですので、
変更の同時進行は妨げられません。
ベースラインを変更するコマンド、 アイパス(1)、ベースラインを取得します 書きます ロック。 これ
排他的ロックです。強制的に アイパス(1) アクティブなベースライン読み取りがなくなるまでブロックします。
ロック。
上記の開発コマンドのいずれかが、進行中の開発コマンドが実行されるまでブロックされる可能性があります。
イージス -Integrate_PASS 完了します。 通常、これはプロジェクトの進行中に短期間で行われます。
履歴が更新されました。 これらのコマンドが一貫したメッセージを受け取るためには、遅延が不可欠です。
ベースラインのビュー。 他の統合コマンドでは上記のような事態が発生することはありません
ブロックするコマンド。
aegis のブランチ機能が使用されている場合、そのブランチに対して読み取り (非排他的) ロックがかかります。
ブランチベースラインと各「親」ベースラインも同様です。 ただし、ベースラインの書き込み
(排他的) ロックはブランチ ベースラインでのみ取得されます。 「親」ベースラインは
読み取り(非排他)ロックされています。
File 行動 調整
このコマンドを実行すると、最初に変更ファイルがプロジェクトファイルと照合されます。 もしも
不整合がある場合、ファイルアクションは次のように調整されます。
createファイルが作成されているが、別の変更セットが統合されている場合。
ファイルを作成します。まだ開発中の変更セットのファイルアクションは次のようになります。
「変更」に調整。
変更ファイルが変更されているが、削除する別の変更セットが統合されている場合
ファイル、まだ開発中の変更セットのファイルアクションは
「作成」に調整。
removeファイルが削除されているが、削除する別の変更セットが統合されている場合
ファイルの場合、ファイルはまだ開発中の変更セットから削除されます。
CONFLICT 分解能
変更されたファイルのバージョンが、
ベースラインは古くなっています。この変更が行われている間に、他の変更によってファイルが変更されました。
開発中です。
古いファイルに対して差分が要求された場合、
共通の祖先、ベースラインのバージョン、開発バージョン
ディレクトリ。マージを実行するために使用するコマンドは、 マージコマンド フィールド
プロジェクト設定ファイルの( aepconf詳細については (5) を参照してください)。
ことに注意してください 履歴コンテンツの制限 プロジェクト構成ファイルのフィールド
ありません に適用します マージコマンド フィールド。
マージが実行されると、ファイルのバージョンが現在のバージョンに変更されます。
バージョンを更新し、ファイルを最新としてマークし、新しいビルドが必要になります。
開発ディレクトリ内の元のファイルは、「,B」サフィックス(Bは
バックアップ)。ソースファイルにはマージの結果が含まれています。ソースを編集する必要があります。
自動マージによって適切な結果が得られたかどうかを確認するために、ファイルをチェックします。
このマージプロセスはほとんどの場合うまくいきます。通常、2つの変更を2つの論理的に別々の
機能領域は、ファイルの論理的に別々の2つの部分を変更します。
共通している。この統合プロセスが見事に異常なケースもある。
役に立たないが、実際には驚くほど稀である。
自動マージ結果が不要な場合は、 mv(1)復元命令
「,B」ファイルの内容。
マージが必要な場合、差異は実行されません。エラーメッセージと
終了ステータスがゼロになることもあります。これは、開発者がマージに気付くようにするためです。
行われ、ソースと統合された ,D 前のファイル
次の違いをご覧ください。 -マージなし および -マージのみ 以下のオプションで、
マージが実行される場合。
クローニング および マージ
この方法でエスプレッソの抽出を計量する場合、エスプレッソがスパウトから落ちるタイミングとスケールが反応するタイミングに時間差が生じます。エスプレッソがスパウトからエスプレッソカップに落ち、スケールが計量するまで若干の時間差が生じるため、抽出ボタンを止めた後、液量が約2~4g増加することを念頭に置いて抽出を止めてください。 エクロン(1) 変更セットのクローンを作成し、XNUMX つの変更のうち XNUMX つを統合します。
セットすると、Aegis が統合されていない変更のファイルが現在保存されていると言っていることがわかります。
時代遅れ。
あなたが走ったら あえて(1) 古くなったファイルを最新の状態に戻すには、 マージ(1) と一部 (しかし
そうではありません) 他のすべてのマージ ツールでは、たとえすべてが競合として通知されます。
どちらの選択肢も同じです。
問題は、同じファイル内の同じ場所に同じ編集を行う XNUMX つの変更があることです。
実際の矛盾ではなくても、論理的な矛盾であり、それを理解するには人間が必要です
違いを出します。 買い物リストを考えてみましょう。バスルームにはもっと石鹸が必要です。
メインバスルーム。 XNUMX つの買い物リストを結合した XNUMX 番目の「石鹸」は、
重複しますが、実際には石鹸が XNUMX 箱必要です。 場合によっては、ソース ファイルの編集が
同じ: 論理的な競合は、両方の同一の編集を適用することで解決される場合がありますが、そうではありません。
一つだけ。
これは単なる マージ(1) RCS よりも保守的なコマンド マージ(1)コマンド。
この一般的な状況に対処する最も簡単な方法は、
aecpu -変更なし
command あなたは実行します あえて(1) コマンドをマージすれば、悲しみは少なくなります。 も
Aegis は元のファイルに ,B サフィックス (バックアップの B) を付けて保存することを覚えておく価値があります。
簡単にできます
mv フーバー,B フーバー
すべての競合が論理的な競合であることがわかっている場合。
統合
統合の際には、変更を区別する必要もあります。これにより、
ブランチとその親ブランチの違いは、ブランチ上での開発が
ブランチのベースラインは開発の進捗状況です
それが表す複合変更のディレクトリ。
OPTIONS
次のオプションが理解されます。
-予想する 変更番号
このオプションは、参照ファイルのソースを指定するために使用されます。
ベースライン。これを使用すると、変更を待たずに同期できます。
ベースラインに到達するには、予測された変化が
いずれにも該当しない 'いる レビュー済み' or '待っている 統合' or 'いる
統合された マージは常に実行されます。予想される変更は
一般的なファイルを古くなる可能性があります。
「実際の」マージは後で行います。
-ブランチ 数
このオプションは、元のファイルに別のブランチを指定するために使用できます。
ベースラインより。 (も参照してください -トランク オプション。 注意してください: -ブランチ オプション
プロジェクト名は使用せず、ブランチ番号のサフィックスのみを使用します。
-祖父母
このオプションは、祖父母のブランチを指定するために使用できます(
ベースラインではなく、元のファイルの現在のブランチ)。 (祖父母
オプションは「-branch ..」オプションと同じです。)
-変化する 数
このオプションは、プロジェクト内の特定の変更を指定するために使用できます。 見る
イージス(1)このオプションの完全な説明。
-ヘルプ
このオプションは、使用方法に関する詳細情報を取得するために使用できます。 イージス
プログラム。
-リスト
このオプションは、このコマンドに適したサブジェクトのリストを取得するために使用できます。
リストは予想よりも一般的かもしれません。
-Not_Logging
このオプションは、出力とエラーの自動ログを無効にするために使用できます。
ファイル。 これは、複数のaegisコマンドがシェルで組み合わされている場合に便利です。
スクリプト。
-トランク
このオプションは、オリジンファイルのプロジェクトトランクを指定するために使用できます。
ベースラインより。 (も参照してください -ブランチ オプション、-trunkオプションはと同じです
「-branch-」オプション。)
-マージなし
このオプションは、
ファイルのバージョンが古いです。設定されていない場合は、デフォルトで
diff_preference のフィールド aeuconf(5)ファイル。
-マージのみ
このオプションは、ファイルマージを、
最新のバージョン。他のソースファイルは無視されます。設定されていない場合は、デフォルトは
使用 diff_preference のフィールド aeuconf(5)ファイル。
-自動マージ
このオプションは、 -マージのみ ソースファイルに古いバージョンがある場合
バージョン、それ以外の場合 -マージなし is 実行されました。 マージまたは差異のみが
実行された場合、混合は使用されません。設定されていない場合は、デフォルトで
diff_preference のフィールド aeuconf(5)ファイル。
-事業 名
このオプションは、関心のあるプロジェクトを選択するために使用できます。 いいえの場合 -事業
オプションが指定されている場合、 AEGIS_PROJECT 環境変数が参照されます。 もしも
それは存在しません、ユーザーの $ HOME / .aegisrc ファイルはデフォルトで検査されます
プロジェクトフィールド(を参照) aeuconf(5)詳細については)。 それが存在しない場合は、
ユーザーが単一のプロジェクト内の変更のみに取り組んでいる場合、プロジェクト
nameのデフォルトはそのプロジェクトです。 それ以外の場合はエラーです。
-簡潔
このオプションを使用して、リストに最低限の
情報。 これは通常、シェルスクリプトに役立ちます。
-詳細
このオプションは、aegisがより多くの出力を生成するようにするために使用できます。 デフォルトではイージス
エラー時にのみ出力を生成します。 と一緒に使用する場合 -リスト オプションこのオプション
列見出しが追加されます。
-待って このオプションは、アクセスロックを待機するようにAegisコマンドを要求するために使用できます。
すぐに入手することはできません。 デフォルトはユーザーのものです ロック待機設定
指定されていない場合は、を参照してください。 aeuconf(5)詳細については。
-いいえ_お待ちください
このオプションは、アクセス時に致命的なエラーを発行するようにAegisコマンドを要求するために使用できます
ロックをすぐに取得することはできません。 デフォルトはユーザーのものです
ロック待機設定 指定されていない場合は、を参照してください。 aeuconf(5)詳細については。
参照 イージス(1)すべてのaegisコマンドに共通のオプション。
すべてのオプションは省略できます。 略語は大文字として文書化されていますが、
すべての小文字とアンダースコア(_)はオプションです。 連続して使用する必要があります
オプションの文字のシーケンス。
すべてのオプションでは大文字と小文字が区別されません。大文字または小文字、あるいは
両方の組み合わせ、ケースは重要ではありません。
例:引数「-project」、「-PROJ」、「-p」はすべて、
-事業 オプション。 引数「-prj」は連続しているため理解できません
オプションの文字は提供されませんでした。
オプションおよびその他のコマンドライン引数は、コマンドラインで任意に混在させることができます。
関数セレクターの後。
GNUの長いオプション名は理解されています。 すべてのオプション名が イージス 長いです、
これは、余分な先頭の「-」を無視することを意味します。 NS "--オプション=値「コンベンションも
理解した。
推奨 ALIAS
このコマンドの推奨エイリアスは次のとおりです。
csh% エイリアス aed 'aegis -diff \!* -v'
sh$ aed(){aegis -diff "$@" -v}
ユーザーの利便性のため、特に「マージなし」の設定を選択した場合は、
マージエイリアスもあります:
csh% エイリアス aem 'aegis -diff -only_merge \!* -v'
sh$ aem(){aegis -diff -only_merge $* -v}
エラー
変更が含まれていない場合はエラーです さ 発展した or さ 統合された 状態。
EXIT ステータス
この イージス コマンドは、エラーが発生するとステータス1で終了します。 NS イージス コマンドはのみ
エラーがない場合は、ステータス0で終了します。
ENVIRONMENT 変数
詳細はこちら: イージス(1)このコマンドに影響を与える可能性のある環境変数のリスト。 見る
aepconf(5)プロジェクト構成ファイルの場合 プロジェクト固有 設定方法のフィールド
Aegisによって実行されるすべてのコマンドの環境変数。
onworks.net サービスを使用して AED をオンラインで使用する