これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド co です。
プログラム:
NAME
co - RCS リビジョンをチェックアウトする
SYNOPSIS
co [オプション] file ...
DESCRIPTION
co 各 RCS ファイルからリビジョンを取得し、対応する作業ファイルに保存します。
ファイルにソフトウェアを指定する必要があります。
RCSサフィックスに一致するファイル名は、RCSファイルを示します。 他のすべては作業ファイルを示します。 名前
で説明されているようにペアになっています ciとします。
RCS ファイルのリビジョンは、ロックまたはロック解除してチェックアウトできます。 リビジョンのロック
更新の重複を防ぎます。 読み取りまたは処理のためにチェックアウトされたリビジョン (例:
コンパイル中) ロックする必要はありません。 編集のためにチェックアウトされたリビジョンは、後でチェックインする必要があります。
通常はロックされています。 チェックアウトするリビジョンが次の場合、ロック付きのチェックアウトは失敗します。
現在別のユーザーによってロックされています。 (ロックは次の方法で破ることができます) RCS(1).) でチェックアウト
ロックでは、呼び出し元が RCS ファイルのアクセス リストに載っていることも必要です。
ファイルの所有者またはスーパーユーザー、またはアクセス リストが空です。 なしでチェックアウト
ロックはアクセスリストの制限の影響を受けず、次のような影響を受けません。
ロック。
リビジョンは、リビジョンまたはブランチ番号、チェックイン日時、
著者、または州。 選択オプションを組み合わせて適用すると、 co を取得します
それらをすべて満たす最新のリビジョン。 どの選択オプションも選択されていない場合は、
指定、 co デフォルトのブランチ (通常はトランク、参照) 上の最新リビジョンを取得します。
-b のオプション RCS(1))。 リビジョン番号または枝番号は、どのファイルにも付けることができます。
オプション -f, -I, -l, -M, -p, -q, -rまたは -u。 オプション -d (日付)、 -s (状態)、および -w
(作成者) 単一のブランチから取得します。 選択 ブランチ。次のいずれかで指定されます。
一つ -f……、 -u、またはデフォルトのブランチ。
A co リビジョンのない RCS ファイルにコマンドを適用すると、長さ XNUMX の作業ファイルが作成されます。
co 常にキーワード置換を実行します (以下を参照)。
OPTIONS
-r[回転]
以下の番号を持つ最新のリビジョンを取得します。 回転。 場合 回転
リビジョンではなくブランチを示します。そのブランチの最新のリビジョンは
取得しました。 もしも 回転 省略され、デフォルトブランチの最新リビジョン(
-b のオプション RCS(1)) が取得されます。 もし 回転 is $, co リビジョン番号を決定します
作業ファイル内のキーワード値から。 それ以外の場合、リビジョンは XNUMX つの要素で構成されます。
ピリオドで区切られた複数の数値フィールドまたは記号フィールド。 もし 回転 で始まる
ピリオドの後にデフォルトのブランチ (通常はトランク) が付加されます。 もし 回転 is
ブランチ番号の後にピリオドが続く場合、そのブランチの最新リビジョンは次のようになります。
使用済み。 シンボリックフィールドに相当する数値は、 -n オプション
コマンドの ci(1)と RCSとします。
-l[回転]
と同じ -rただし、呼び出し元に対して取得したリビジョンもロックする点が異なります。
-u[回転]
と同じ -rただし、取得したリビジョンがロックされていた場合はロックを解除します。
発信者。 もしも 回転 省略、 -u 呼び出し元によってロックされたリビジョンを取得します。
ここに一つ; それ以外の場合は、デフォルト ブランチの最新リビジョンを取得します。
-f[回転]
作業ファイルを強制的に上書きします。 ~に関連して役立つ -q。 参照
以下のファイルモード。
-kkv デフォルトの形式を使用してキーワード文字列を生成します。例: $リビジョン: 5.9.4 $
リビジョン キーワード。 の値にロッカーの名前が挿入されます。 ヘッダ, Id,
ロッカー ファイルがロックされているときのみキーワード文字列を使用します。つまり、 ci -l & co -l.
これがデフォルトです。
-kkvl いいね -kkvただし、指定されたリビジョンが次の場合、ロッカーの名前は常に挿入されます。
現在ロックされています。
-kk キーワード文字列でキーワード名のみを生成します。 それらの値を省略します。 KEYWORDを参照してください
以下の置換。 たとえば、 リビジョン キーワード、文字列を生成します
$リビジョン$ $リビジョン: 5.9.4 $。 このオプションは無視すると便利です
異なるリビジョンを比較する際のキーワード置換による違い
ファイル。 ログメッセージは次の後に挿入されます。 $ Log $ たとえキーワードであっても -kk 指定されている、
これは、変更をマージするときに便利な傾向があるためです。
-こ 古いキーワード文字列を生成します。これは、作業ファイルの直前に存在していました。
チェックインしました。たとえば、 リビジョン キーワード、文字列を生成します $リビジョン:
1.1 $ $リビジョン: 5.9.4 $ 文字列がそのように表示された場合
ファイルがチェックインされました。これは、いかなるファイル形式も許容できない場合に便利です。
キーワード文字列の形式をとる部分文字列を変更します。
-キロバイト 古いキーワード文字列のバイナリイメージを生成します。 これは次のように機能します -こ、それを除いて
すべての作業ファイルの入出力をバイナリモードで実行します。 これはほとんどなりません
Posix ホストと Unix ホストでは違いがありますが、DOS のようなホストでは使用する必要があります。 RCS -i -キロバイト
バイナリ ファイルに使用する RCS ファイルを初期化します。 また、すべてにおいて、
ホスト、 rcsmerge(1) 通常、次の場合にファイルのマージを拒否します。 -キロバイト 有効です。
-kv キーワード文字列のキーワード値のみを生成します。 たとえば、 リビジョン
キーワード、文字列を生成します 5.9.4 $リビジョン: 5.9.4 $。 これは助けることができます
キーワードを削除するのが難しいプログラミング言語でファイルを生成する
のような区切り文字 $リビジョン: $ 文字列から。 ただし、さらにキーワードを置換すると、
キーワード名が削除されると実行できなくなるため、このオプションは必ず実行してください。
大切に使用してください。 キーワードを失う危険性があるため、このオプションは使用できません。
と組み合わせること -l、作業ファイルの所有者書き込み権限がオフになります。
後でファイルを編集するには、何もせずにもう一度チェックアウトしてください。 -kv.
-p[回転]
取得したリビジョンをファイルに保存するのではなく、標準出力に出力します。
作業ファイル。 このオプションは次の場合に役立ちます。 co パイプの一部です。
-q[回転]
静音モード。 診断は出力されません。
-I[回転]
インタラクティブモード; 標準入力が
ターミナルではありません。
-ddate 選択したブランチのチェックイン日時が次の最新リビジョンを取得します。
以下 date。 日付と時刻は自由形式で指定できます。 ザ
時間帯 LT 現地時間を表します。 他の一般的なタイムゾーン名が理解されます。
たとえば、次の date現地時間が11年1990月XNUMX日の場合、sは同等です。
太平洋標準時の午後8時、協定世界時(UTC)の西XNUMX時間:
8:00 pm lt
4:00 午前、 1月 12、 1990 デフォルトはUTCです
1990-01-12 04:00:00 + 00 ISO 8601(UTC)
1990-01-11 20:00:00-08 ISO 8601(現地時間)
1990/01/12 04:00:00 従来のRCSフォーマット
木 ジョン 11 20:00:00 1990 LT の出力 ctime(3)+ LT
木 ジョン 11 20:00:00 PST 1990 の出力 date(1)
金 ジョン 12 04:00:00 GMT 1990
木曜日、 11 ジョン 1990 20:00:00 -0800 インターネットRFC822
12年1990月XNUMX日、 04:00 濡れた
日付と時刻のほとんどのフィールドはデフォルト設定できます。 デフォルトのタイムゾーンは
通常はUTCですが、これは -z オプション。 他のデフォルトは
年、月、日、時、分、秒の順に決定されます(最も多いものから最も少ないものへ)
重要)。 これらのフィールドの少なくともXNUMXつを指定する必要があります。 省略されたフィールドの場合
提供された最高のフィールドであるタイムゾーンよりも重要度が高い
現在の値が想定されます。 他のすべての省略されたフィールドについては、可能な限り低い
値が想定されます。 たとえば、 -z、 日付 20、 10:30 デフォルトは
UTCタイムゾーンの現在の月と年の10日の30:00:20UTC。 The
スペースが含まれている場合は、日付/時刻を引用符で囲む必要があります。
-M[回転]
新しい作業ファイルの変更時刻を、取得した日付に設定します。
リビジョン。 このオプションは注意して使用してください。 混乱する可能性があります makeとします。
-s状態
状態が に設定されている選択されたブランチの最新リビジョンを取得します。 状態.
-S 有効にします 自己同一 モード。 このモードでは、ロックの所有者は重要ではありません。
それが存在します。 事実上、これはユーザーが同じリビジョンをチェックアウトできないことを意味します
二度。
-T RCS ファイルが変更された場合でも、RCS ファイルの変更時刻を保持します。
ロックが追加または削除されます。 このオプションにより、大規模な再コンパイルを抑制できます
によって引き起こされる make(1) RCS 上の作業ファイルの他のコピーの依存関係
ファイル。 このオプションは注意して使用してください。 たとえそうであったとしても再コンパイルを抑制できます
必要な場合、つまり、ロックの変更がキーワード文字列の変更を意味する場合
他の作業ファイル。
-w[ログイン]
によってチェックインされた、選択されたブランチの最新リビジョンを取得します。
ログイン名を持つユーザー ログイン。 引数の場合 ログイン 省略された場合、発信者のログイン
想定されます。
-j参加リスト
上のリビジョンを結合した新しいリビジョンを生成します。 参加リスト。 この
このオプションは大部分が廃止されました rcsmerge(1) ただし、後方用に保持されます
互換性。
参加リスト 次の形式のペアのカンマ区切りリストです。 rev2:rev3、 コラボレー rev2
& rev3 は (記号または数値の) リビジョン番号です。 このような最初のペアの場合、
rev1 上記のオプションで選択されたリビジョンを示します -f……、 -w。 その他すべてについて
ペア、 rev1 は、前のペアによって生成されたリビジョンを示します。 (したがって、出力は
XNUMX つの結合の入力が次の結合の入力になります。)
各ペアごとに、 co リビジョンを結合する rev1 & rev3 に関して rev2。 これの意味は
すべての変化が変容するということ rev2 に rev1 のコピーに適用されます rev3。 この
以下の場合に特に便利です rev1 & rev3 XNUMX つの枝の端です。 rev2
共通の祖先として。 もし rev1<rev2<rev3 同じブランチ上で結合すると、
次のような新しいリビジョン rev3、 しかし、そこからつながるあらゆる変化とともに、 rev1 〜へ rev2
元に戻された。 から変更される場合 rev2 〜へ rev1 ~からの変更と重なる rev2 〜へ rev3、 co
で説明されているように、レポートは重複します。 マージとします。
最初のペアの場合、 rev2 省略可能です。 デフォルトは共通祖先です。 もし
いずれかの引数がブランチを示している場合、それらのブランチの最新リビジョンは次のとおりです。
想定される。 オプション -l & -u ロックまたはロック解除 rev1.
-V RCSのバージョン番号を印刷します。
-Vn RCSバージョンをエミュレートする n, コラボレー n することができます 3, 4または 5。 これは、次の場合に役立ちます。
古いバージョンの RCS を実行している他のユーザーと RCS ファイルを交換します。 見る
通信相手が実行している RCS のバージョンを確認して、起動してもらいます RCS -V; この
新しいバージョンの RCS で動作します。 それが機能しない場合は、呼び出してもらいます ログ 〜に
RCS ファイル; 出力の最初の数行に文字列が含まれていない場合 ブランチ: それは
バージョン3; 日付の年が 4 桁のみの場合はバージョン XNUMX です。 そうでなければ、それは
バージョン 5 です。バージョン 3 のエミュレーション中に生成された RCS ファイルはデフォルトを失います。
支店。 バージョン 4 以前のエミュレーション中に生成された RCS リビジョンには、
スタンプは最大 13 時間オフになります。 バージョンのエミュレーション中に抽出されたリビジョン
4 以前には、形式の短縮された日付が含まれます。 yy/mm/dd を含めることもできます
の置換における異なる空白と行の接頭辞 $ Log $.
-x接尾辞
接尾辞 RCSファイルを特徴付けるため。 見る ci詳細は(1)。
-zゾーン キーワード置換で日付出力形式を指定し、デフォルトを指定します
のタイムゾーン date セクションに -ddate オプション。 ザ· ゾーン 空である必要があります、数値UTC
オフセット、または特別な文字列 LT 現地時間。 デフォルトは空です ゾーン,
これは、タイムゾーンの表示なしでUTCの従来のRCS形式を使用します。
日付の部分をスラッシュで区切ります。 それ以外の場合、時間はISOで出力されます
タイムゾーン表示付きの8601形式。 たとえば、現地時間が11月XNUMX日の場合、
1990年、太平洋標準時の午後8時、UTCの西XNUMX時間、時刻が出力されます
次のように:
オプション 時間 出力
-z 1990/01/12 04:00:00 (デフォルト)
-zLT 1990-01-11 20:00:00-08
-z + 05:30 1990-01-12 09:30:00+05:30
-z このオプションは、常にUTCであるRCSファイルに保存されている日付には影響しません。
キーワード 代替
フォームの文字列 $キーワード$ & $キーワード:...$ テキストに埋め込まれているものはに置き換えられます
フォームの文字列 $キーワード:値$ コラボレー キーワード & 値 は以下にリストされているペアです。
キーワードをリテラル文字列またはコメントに埋め込んで、リビジョンを識別できます。
最初に、ユーザーは次の形式の文字列を入力します。 $キーワード$. チェックアウト時に、 co これらを置き換えます
次の形式の文字列を含む文字列 $キーワード:値$. リビジョンに次の文字列が含まれている場合、
後者のフォームが再度チェックインされると、値フィールドは次回の実行時に置き換えられます。
チェックアウト。 したがって、キーワード値はチェックアウト時に自動的に更新されます。 この自動
置換は次の方法で変更できます。 -k オプション。
キーワードとそれに対応する値:
$著者$
リビジョンをチェックインしたユーザーのログイン名。
$日付$ リビジョンがチェックインされた日時。 -zゾーン 数値のタイムゾーン
オフセットが追加されます。 それ以外の場合、日付は UTC です。
$ヘッダー$
完全な RCS ファイル名、リビジョン番号、日付を含む標準ヘッダー
時間、作成者、状態、ロッカー (ロックされている場合)。 と -zゾーン 数値
タイムゾーンオフセットが日付に追加されます。 それ以外の場合、日付は UTC です。
$ Id $ と同じ $ヘッダー$ただし、RCS ファイル名にはディレクトリが含まれていません。
コンポーネント。
$ロッカー$
リビジョンをロックしたユーザーのログイン名 (ロックされていない場合は空)。
$ Log $ チェックイン中に提供されるログ メッセージ。その前に RCS を含むヘッダーが続きます。
ファイル名、リビジョン番号、作成者、および日付と時刻。 と -zゾーン a
数値のタイムゾーンオフセットが追加されます。 それ以外の場合、日付は UTC です。 既存のログ
メッセージは 交換されました。 代わりに、新しいログ メッセージが次の後に挿入されます。
$ログ:...$。 これは、完全な変更ログをソース ファイルに蓄積する場合に役立ちます。
挿入された各行の先頭には、 $ Log $ ライン。 のために
たとえば、 $ Log $ 行は「// $ログ: タン.cc $”、RCS は、
「」でログを記録します// ”。 これは、コメントが末尾にある言語に便利です。
この線。 他の言語の慣例では、「」を使用します。 ∗ ” 内のプレフィックス
複数行のコメント。 たとえば、C プログラムの最初のログ コメント
通常、次の形式になります。
/∗
∗ $ Log $
∗/
RCS の古いバージョンとの下位互換性のために、ログのプレフィックスが /∗ or
(* オプションの空白で囲まれ、挿入されたログ行には代わりに空白が含まれます
of / or (; ただし、この使用法は廃止されたものであるため、依存しないでください。
$名前$ リビジョンをチェックアウトするために使用されるシンボリック名 (存在する場合)。 例えば、 co -rジョー
生成 $名前: ジョー $。 平野 co ちょうど生成します $名前: $.
$RCSファイル$
ディレクトリコンポーネントを含まない RCS ファイル名。
$リビジョン$
リビジョンに割り当てられたリビジョン番号。
$ソース$
完全な RCS ファイル名。
$ State $
でリビジョンに割り当てられた状態 -s のオプション RCS(1)または ciとします。
キーワード値内の次の文字は、保持するためにエスケープ シーケンスで表されます。
キーワード文字列が整形式であること。
チャリオット 脱出 シーケンス
タブ \t
改行 \n
スペース \ 040
$ \ 044
\ \\
FILE モード
作業ファイルは、RCS ファイルから読み取りおよび実行権限を継承します。 で
さらに、所有者の書き込み権限がオンになっている場合を除きます。 -kv が設定されているか、ファイルが
チェックアウトはロック解除されており、ロックは厳密に設定されています (「 RCS(1))。
作業ファイルと同じ名前のファイルがすでに存在し、書き込み権限がある場合、 co
チェックアウトを中止し、可能かどうかを事前に尋ねます。 既存の作業ファイルが存在しない場合
書き込み可能または -f が与えられると、作業ファイルは何も尋ねずに削除されます。
onworks.net サービスを使用してオンラインで共同を使用する