OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / GNU_rcs / release / man1 / co.1
1 .de Id
2 .ds Rv \\$3
3 .ds Dt \\$4
4 ..
5 .Id $Id: co.1,v 1.1.1.1 1999/07/19 01:49:13 cvs Exp $
6 .ds g \&\s-1UTC\s0
7 .ds r \&\s-1RCS\s0
8 .if n .ds - \%--
9 .if t .ds - \(em
10 .TH CO 1 \*(Dt GNU
11 .SH 名称
12 co \- RCS ファイルからリビジョンを取り出す
13 .SH 書式
14 .B co
15 .RI [ options ] " file " .\|.\|.
16 .SH 解説
17 .B co
18 は、\*r ファイルからリビジョンを検索し、対応したワークファイルに取り
19 出します。
20 .PP
21 \*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、その他
22 のファイル名はワークファイルであるとみなします。
23 .BR ci (1)
24 を参照してください。
25 .PP
26 \*r ファイルのリビジョンはロックするか、ロックしないで取り出され
27 ます。リビジョンをロックすることにより、同時に複数の変更が行われること
28 を防止します。内容を表示したり、読むだけの処理(たとえば、コンパイル)で
29 用いたりする場合はロックする必要はありません。編集したり、あとで登録するために
30 取り出すときは、通常、ロックしなければなりません。他のユーザによってロックされて
31 いるリビジョンをロックすることはできません(ロックは
32 .BR rcs (1)
33 によって解
34 除することができます)。リビジョンロックして取り出すには、さらに、ユーザが \*r ファイルのア
35 クセスリストに登録されているか、ファイルの所有者であるか、スーパーユーザ
36 であるか、アクセスリストが空でなければなりません。ロックしない
37 で取り出す場合は、アクセスリストや他人のロックに影響されることはありませ
38 ん。
39 .PP
40 取り出されるリビジョンを、リビジョン番号、枝番号、登
41 録日時、作者、状態によって指定することができます。
42 複数のオプションが
43 指定された場合、
44 .B co
45 はデフォルト枝(通常は幹:
46 .BR rcs (1)
47
48 .B \-b
49 の項を参照)の
50 すべての条件に合致するリビジョンのうちで最新のものを取り出します。リビ
51 ジョン番号あるいは枝番号は、以下のオプションを使って指定することができ
52 ます:
53 .B \-f
54
55 .B \-I
56
57 .B \-l
58
59 .B \-M
60
61 .B \-p
62
63 .B \-q
64
65 .B \-r
66
67 .B \-u
68 。オプション
69 .B \-d
70 (date:日時)、
71 .B \-s
72 (state:状態)、
73 .B \-w
74 (author:作者)は、
75 .B \-f
76
77 .B \-I
78
79 .B \-l
80
81 .B \-M
82
83 .B \-p
84
85 .B \-q
86
87 .B \-r
88
89 .B \-u
90 オプションにより選択
91 された枝またはデフォルト枝からリビジョンを選択します。
92 .PP
93 リビジョンを指定せずに \*r ファイルに対して
94 .B co
95 コマンドを適用すると、長
96 さ 0 のワークファイルが作成されます。
97 .B co
98 は、つねにキーワード置換を行います
99 (下記参照)。
100 .SH オプション
101 .TP
102 .BR \-r [\f2rev\fP]
103 リビジョン番号
104 .I rev
105 以前(
106 .I rev
107 と同じものも含む)で最新のリビジョンを取り
108 出します。
109 .I rev
110 がリビジョンではなく枝を指定している場合、その枝上の最新
111 のリビジョンが取り出されます。
112 .I rev
113 が省略された場合、デフォルト枝
114 (
115 .BR rcs (1)
116
117 .B \-b
118 オプションの項を参照)の最新のリビジョンが取り出されます。
119 .I rev
120
121 .B $
122 の場合、
123 .B co
124 はリビジョン番号をワークファイルのキーワードから
125 取り出します。これら以外の場合、
126 .I rev
127 はリビジョンを示すピリオドで区切ら
128 れた数字またはシンボルの列です。シンボルは、
129 .BR ci (1)
130
131 .BR rcs (1)
132 によりリビ
133 ジョン番号と結びつけることができます。
134 .TP
135 .BR \-l [\f2rev\fP]
136 .B \-r
137 と同様に動作し、取り出したリビジョンをロックします。
138 .TP
139 .BR \-u [\f2rev\fP]
140 .B \-r
141 と同様に動作し、取り出したリビジョンのロックを解除します。それ以前にロッ
142 クされていた場合、これも解除されます。
143 .I rev
144 が省略された場合、
145 .B co
146 を起動したユー
147 ザがロックしたリビジョンがあれば、そのリビジョンのロックを解除します。さもなければ、
148 デフォルト枝の最新のリビジョンが対象となります。
149 .TP
150 .BR \-f [\f2rev\fP]
151 つねにワークファイルを上書きします。後述の
152 .B \-q
153 オプションを使用する場合、いっしょに
154 .B \-f
155 オプションも
156 指定すると便利な場合があります。
157 .SM "ファイルモード"
158 の項も参照してください。
159 .TP
160 .B \-kkv
161 ワークファイルにデフォルト形式のキーワード文字列を埋め込みます。たとえば、
162 キーワード
163 .B Revision
164 に対しては、文字列
165 .B "$\&Revision: \*(Rv $"
166 を生成します。ファ
167 イルがロックされるなら
168 .B Header
169
170 .B Id
171
172 .B Locker
173 キーワードにロック者名が展開
174 されます。これがデフォルトの動作です。
175 .TP
176 .B \-kkvl
177 .B \-kkv
178 とほぼ同様ですが、対象となるファイルがすでにロックされていた場合
179 に、ロック者名が展開されます。
180 .TP
181 .BR \-kk
182 キーワード名のみの文字列を生成し、値は省略します。たとえば、キーワード 
183 Revision に対しては、通常の
184 .B "$\&Revision: \*(Rv $"
185 のかわりに、
186 .B "$\&Revision$"
187 を生成します。これは、異なるリビジョンの内容を比較する場合、キーワード
188 値の違いを無視できるので、便利です。
189 .TP
190 .BR \-ko
191 ワークファイル中のキーワード文字列をそのまま出力します。たとえば、ワーク
192 ファイル中にキーワード文字列
193 .B "$\&Revision: 1.1 $"
194 があれば、出力ファイルに
195 もそのままの文字列を埋め込みます。単純に文字列置換を行ってはい
196 けないバイナリファイル等を扱う場合に指定します。
197 .TP
198 .BR \-kv
199 キーワード文字列としてキーワード値のみを生成します。たとえば、キーワード 
200 .B Revision
201 に対して、通常の
202 .B "$\&Revision: \*(Rv $"
203 のかわりに
204 .B \*(Rv
205 を生成します。
206 これは、キーワード文字列から
207 .B "$\&Revision: $"
208 のようなキーワード区切りを取
209 り除くことが困難なプログラミング言語用のファイル等を生成するために
210 使用します。しかしながら、キーワード名が取り除かれてしまうと、それ以
211 降にキーワード置換を行うことができません。このため、本オプションを -l 
212 オプションと組み合わせて使うことはできません。また、ワークファイルの書
213 き込み権はオフになります。後でワークファイルを編集する場合は、-kv オプショ
214 ンを指定せずにワークファイルを取り出してから行います。
215 .TP
216 .BR \-p [\f2rev\fP]
217 ワークファイルとして書き出すかわりに、対象となるリビジョンを標準出力に書き出します。
218 .B co
219 をパイプの一部として使用する場合に便利です。
220 .TP
221 .BR \-q [\f2rev\fP]
222 診断メッセージを表示しません。
223 .TP
224 .BR \-I [\f2rev\fP]
225 対話モードで動作します。たとえ標準入力が端末でなくても、ユーザに対して
226 問い合わせを行います。
227 .TP
228 .BI \-d date
229 選択された枝上の、指定された日付以前の登録日付を持つ最新のリビジョンを
230 取り出します。日付は自由形式で指定します。タイムゾーンとして
231 .B LT
232 を指定
233 することにより、ローカル時間を使用することができます。他の一般的なタイ
234 ムゾーンも使用することができます。たとえば、以下に挙げるいくつかの指定は、
235 Pacific 標準時におけ
236 る1990年1月11日午後8時と同時刻を示します(Pacific 標準時は \*g よりも 8 
237 時間遅れです)。
238 .RS
239 .LP
240 .RS
241 .nf
242 .ta \w'\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP  'u
243 .ne 9
244 \f38:00 pm lt\fP
245 \f34:00 AM, Jan. 12, 1990\fP    注記: デフォルトは \*g
246 \f31990/01/12 04:00:00\fP       \*r の日付形式
247 \f3Thu Jan 11 20:00:00 1990 LT\fP       \f3ctime\fP(3) + \f3LT\fP
248 \f3Thu Jan 11 20:00:00 PST 1990\fP      \f3date\fP(1)
249 \f3Fri Jan 12 04:00:00 GMT 1990\fP
250 \f3Thu, 11 Jan 1990 20:00:00 \-0800\fP
251 \f3Fri-JST, 1990, 1pm Jan 12\fP
252 \f312-January-1990, 04:00-WET\fP
253 .ta 4n +4n +4n +4n
254 .fi
255 .RE
256 .LP
257 ほとんどの日付の項目にはデフォルト値があります。デフォルトのタイムゾー
258 ンは \*g です。他のデフォルト値は、年、月、日、時、分、秒 の順番で決定
259 されます。これらの項目のうち、少なくとも 1 つが指定されなければいけません。
260 指定のある項目よりも先に決定される項目が省略されている場合には、現在のローカ
261 ル時が採用されます。他の省略されたフィールドには最小値が採用されます。
262 たとえば、
263 .B "20, 10:30"
264 の場合は、現在の年、月の 20 日 10 時 30 分 00 秒が採用され
265 ます。日付の指定に空白が含まれる場合には、日付の指定をクォートでくくる必要があることに
266 注意してください。
267 .RE
268 .TP
269 .BR \-M [\f2rev\fP]
270 作成されるワークファイルの最終更新日付を、取り出されるリビジョンの日付に
271 します。本オプションを指定すると
272 .BR make (1)
273 が正しく動作しなくなるので、注意して使用する必要があります。
274 .TP
275 .BI \-s state
276 選択された枝上の、状態
277 .I state
278 を持つ最新のリビジョンを取り出します。
279 .TP
280 .BR \-w [\f2login\fP]
281 選択された枝上の、ユーザ user によって登録された最新のリビジョンを取り
282 出します。
283 .I login
284 が省略された場合は、
285 .B co
286 を起動したユーザ名を使います。
287 .TP
288 .BI \-j joinlist
289 .I joinlist
290 で指定されたリビジョンを結合した新しいリビジョン作成します。本
291 オプションは、旧バージョンとの互換性のために残されています。
292 通常、リビジョンの結合に
293
294 .BR rcsmerge (1)
295 を用います。
296 .RS
297 .PP
298 .I joinlist
299
300 .IB rev2 : rev3
301 形式のリビジョンの対をコンマで区切って並べたリストです。
302 ここで、
303 .I rev2
304
305 .I rev3
306 は(シンボリックまたは数字の)リビジョン番号です。
307 以下の説明で、
308 .I rev1
309 は以下のリビジョンを示します: (1) joinlist に列挙さ
310 れた対のうち、最初のものに対しては、上記の
311 .B \-f
312 から
313 .B \-w
314 オプションによって
315 選択されたリビジョン。(2) それ以外の対に対しては、直前の対から作成され
316 たリビジョン(すなわち、1 つの対によって作成されたリビジョンは次の結合
317 のための入力となります)。
318 .PP
319 それぞれの対に対して、
320 .B co
321
322 .I rev1
323
324 .I rev3
325
326 .I rev2
327 と比較しながら結合し
328 ます。つまり、
329 .I rev2
330
331 .I rev1
332 と同一にするための変更を、
333 .I rev3
334 のコピーに対し
335 て適用します。
336 .I rev2
337 を同一の祖先とする 2 つの枝の末端のリビジョン
338 .I rev1 
339
340 .I rev3
341 を結合するのによく用いられます。もし、3 つのリビジョンが同一の
342 枝上にあり、リビジョン番号が
343 .IR rev1 < rev2 < rev3
344 ならば、結合の結果は、
345 .I rev3 
346 の内容のうち、
347 .I rev1
348 から
349 .I rev2
350 への変更を無効にしたものになります。
351 もし、
352 .I rev2
353 から
354 .I rev1
355 への変更が
356 .I rev2
357 から
358 .I rev3
359 への変更と重複している
360 なら、
361 .B co
362
363 .BR merge (1)
364 に示したような報告を行います。
365 .PP
366 最初に指定する対では
367 .I rev2
368 を省略することができます。この場合は、
369 .I rev1
370
371 .I rev3
372 の共通の祖先
373 .ig
374 /*?-> 共通の祖先リビジョン以外に言いかたを思いつきません
375
376 共通の祖先リビジョン
377  |        |        |
378 revX     rev3     revY
379  |
380 rev1
381
382
383 */
384 ..
385 リビジョンを
386 .I rev2
387 として使用します。もし、いず
388 れかの引数
389 がリビジョンではなく枝を示しているなら、その枝上の最新のリビジョンが用
390 いられます。同時に
391 .B \-l
392 オプションや
393 .B \-u
394 オプションを指定すると、
395 .I rev1
396 がロックまたはロック解除されます。
397 .RE
398 .TP
399 .BI \-V n
400 バージョン
401 .I n
402 の \*r システムの動作をエミュレートします。
403 .I n
404
405 .B 3
406
407 .B 4
408
409 .B 5 
410 のいずれかです。これは、古い \*r を使っているユーザと \*r ファイルを交
411 換するときに便利です。使用している \*r がどのバージョンかを調べるには、
412 適当なファイルに対して
413 .B rlog
414 を起動します。最初の数行に文字列
415 .B branch:
416 がなければ、それはバージョン 3 です。また、日付に現れる年が 2 桁の数字
417 ならば、それはバージョン 4 です。どちらでもなければ、バージョン 5 です。
418 \*r バージョン 3 をエミュレートして作成された \*r ファイルからはデフォルト
419 枝の情報が失われます。バージョン 4 またはそれ以前のバージョンをエミュ
420 レートして作成されたリビジョンは、最大 13 時間ずれた日付を持つことになり
421 ます。バージョン 3 またはそれ以前のバージョンをエミュレートして取り出
422 されたファイルには
423 .IB yyyy / mm / dd
424 ではなく
425 .IB yy / mm / dd
426 形式の日付がキーワード中
427 に展開されます。また、
428 .B $\&Log$
429 キーワードでは空白の入り方が異なります。
430 .TP
431 .BI \-x "suffixes"
432 \*r ファイル拡張子を指定します。詳しくは
433 .BR ci (1)
434 を参照してください。
435 .SH "キーワード置換"
436 テキスト中に存在する
437 .BI $ keyword $
438 または
439 .BI $ keyword : .\|.\|. $
440 形式の文字列は、
441 .BI $ keyword : value $
442 形式の文字列に置換されます。
443 .I keyword
444
445 .I value 
446 の対については後述します。キーワードはリテラルな文字列として、あるいは
447 リビジョンを特定するためのコメントとして埋められることがあります。
448 .PP
449 まず、ユーザは
450 .BI $ keyword $
451 なる形式の文字列を埋め込んで \*r ファイルに登
452 録します。\*r ファイルからワークファイルに取り出されるとき、
453 .B co
454 はこの
455 文字列を
456 .BI $ keyword : value $
457 に置換します。
458 .BI $ keyword : value $
459 形式の文
460 字列を含むものが登録された場合、
461 .I value
462 の部分は次に取り出されたときに新
463 たな値に置換されます。このように、取り出しを行うごとにキーワードの値は
464 更新されていきます。\*r コマンドのいくつかは、
465 .B \-k
466 オプションにより、この
467 動作を変更することができます。
468 .PP
469 キーワードの種類とその値:
470 .TP
471 .B $\&Author$
472 リビジョンを登録したユーザのログイン名
473 .TP
474 .B $\&Date$
475 リビジョンが登録された日時(\*g)
476 .TP
477 .B $\&Header$
478 標準的なヘッダ。\*r ファイルのフルパス名、リビジョン番号、日時、作者、
479 状態、ロック者が含まれます。
480 .TP
481 .B $\&Id$
482 .B $\&Header$
483 とほぼ同様です。\*r ファイル名は、パスをつけずに埋め込まれます。
484 .TP
485 .B $\&Locker$
486 リビジョンをロックしたユーザのログイン名
487 .TP
488 .B $\&Log$
489 登録時に与えたログメッセージ。ヘッダとして、\*r ファイル名、リビジョン
490 番号、作者、日時が埋め込まれる。すでに埋め込まれているログメッセージは
491 変更されず、新たなログメッセージのみが
492 .BR $\&Log: .\|.\|. $
493 のあとに追加される。
494 ソースファイルの完全なログを記録するときに便利である。
495 .TP
496 .B $\&RCSfile$
497 パス名を含まない \*r ファイル名
498 .TP
499 .B $\&Revision$
500 リビジョン番号
501 .TP
502 .B $\&Source$
503 \*r ファイルのフルパス名
504 .TP
505 .B $\&State$
506 リビジョンに
507 .BR rcs (1)
508
509 .BR ci (1)
510
511 .B \-s
512 オプションにより割り付けられた状態。
513 .SH "ファイルモード"
514 ワークファイルは、 \*r ファイルの読み込みと実行の許可属性を受け継ぎます。
515 さらに、
516 .B \-kv
517 オプションが設定されていないか、厳格ロックモード(
518 .BR rcs (1)
519 参照)でロックせずに取り出していなければ、ユーザに対する書き込み
520 権が設定されます。
521 .PP
522 すでに、ワークファイルと同名の書き込み可能なファイルが存在していると、
523 .B co
524 は取り出しを中断し、もし可能ならば削除するかどうかを問い合わせます。
525 もし、すでに存在するファイルが書き込み禁止であったり、
526 .B -f
527 オプションが
528 指定されていた場合には、問い合わせを行わずに削除します。
529 .SH ファイル
530 .B co
531
532 .B ci
533 とほぼ同じくらいのファイルにアクセスします。ただし、ワークファイル
534 を読むことはありません。
535 .SH 環境変数
536 .TP
537 .B \s-1RCSINIT\s0
538 本変数に空白で区切ったオプションを設定することで、コマンドライン引数に先立って処理されます。
539 詳しくは
540 .BR ci (1)
541 を参照してください。
542 .SH 診断
543 \*r ファイル名、ワークファイル名、取り出されるリビジョンの番号を表示し
544 ます。処理が成功した場合は終了ステータス 0 を返
545 します。
546 .SH 作者
547 Author: Walter F. Tichy.
548 .br
549 Revision Number: \*(Rv; Release Date: \*(Dt.
550 .br
551 Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
552 .br
553 Copyright \(co 1990, 1991 by Paul Eggert.
554 .SH 関連項目
555 ci(1), ctime(3), date(1), ident(1), make(1),
556 rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1),
557 rcsfile(5)
558 .br
559 Walter F. Tichy,
560 \*r\*-A System for Version Control,
561 .I "Software\*-Practice & Experience"
562 .BR 15 ,
563 7 (July 1985), 637-654.
564 .SH 制限事項
565 RCS ファイル、ワークファイルのリンクは保存されません。
566 .PP
567 キーワードを
568 .B "$\&keyword:$"
569 以外の形式に書換える以外に、一部のキーワードの
570 みを展開させる方法がありません。nroff や troff ではキーワード中に空文
571
572 .B \e&
573 を埋め込むことにより展開を防ぐことができます。
574 .SH バグ
575 .B \-d
576 オプションが日付の解釈を間違えることがあります。また、1970 年より前の日付
577 を受け付けません。