summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/cvs/doc/cvsclient.ps
blob: 6b9786e1c0ee7c33d4050ce46dd17567e9d50957 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
%!PS-Adobe-2.0
%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
%%Title: cvsclient.dvi
%%Pages: 18
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%EndComments
%DVIPSCommandLine: dvips cvsclient.dvi -o cvsclient.ps
%DVIPSParameters: dpi=300, compressed, comments removed
%DVIPSSource:  TeX output 1996.05.06:0522
%%BeginProcSet: texc.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
TeXDict begin 39158280 55380996 1000 300 300 (cvsclient.dvi)
@start /Fa 3 119 df<EB7E083803819838070078000C1338001C13185A007813081270
00F01300A700701308127812386C1310120C000713603803818038007E0015177E961B>
99 D<EA0FC4EA302CEA601CEA400CEAC004A3EAE0001270127FEA3FE0EA0FF8EA01FCEA
001C130E13061280A3EAC004EAE008EAD810EA87E00F177E9615>115
D<B4133F003C131E001C1308A26C1310A2000F13306C1320A238038040A23801C080A213
E100001300A21372A2133CA31318A218177F961C>118 D E /Fb
34 121 df<49B4FC011F13C090387F81E0EBFC013901F807F01203EA07F0A4EC01C091C8
FCA3EC3FF8B6FCA33807F003B3A33A7FFF3FFF80A3212A7FA925>12
D<121C127FA2EAFF80A3EA7F00A2121C09097B8813>46 D<130E131E137EEA07FE12FFA2
12F81200B3ABB512FEA317277BA622>49 D<EBFF80000713F04813FC381E03FE393800FF
80007C133F00FE14C06C131F15E0140FA2127E003C131FC7FC15C0A2EC3F801500147E5C
5C495A495AEB078049C7FC131E4913E013705B3901C001C0EA0380EA0600000FB5FC5A5A
5AB61280A31B277DA622>I<EB7F803803FFF04813FC380F81FE381F007FEA3F80EC3F80
A3121F1300C7EA7F00A2147E5C495AEB07F0EBFFC0A2EB01F8EB007E801580EC1FC0A215
E0A2123C127EB4FCA215C0143F481480007CEB7F00383F01FE6CB45A000713F0C613801B
277DA622>I<140FA25C5C5C5C5BA2EB03BFEB073F130E131C133C1338137013E0EA01C0
EA038012071300120E5A5A5A12F0B612F8A3C7EA7F00A890381FFFF8A31D277EA622>I<
00181303381F801FEBFFFE5C5C5C14C091C7FC001CC8FCA7EB7FC0381DFFF8381F80FC38
1E003F121CC7EA1F8015C0A215E0A21218127C12FEA315C05A0078EB3F80A26CEB7F0038
1F01FE6CB45A000313F0C613801B277DA622>I<EB07F8EB3FFE90B5FC3901FC07803903
F00FC03807C01FEA0F80121F130048EB0F8091C7FC127EA3EAFE02EB1FF0EB3FFCEB603E
EB801F00FF14809038000FC0A24814E0A4127EA4123E003F14C07EEC1F80D80F80130038
07E07E6CB45A6C5B38003FC01B277DA622>I<1238123E003FB512F0A34814E015C0A215
803970000F00141E5C48133814785CC6485A495A5C130749C7FCA25B131E133EA2137EA2
137C13FCA41201A8EA00701C297CA822>I<91387FE003903907FFFC07011FEBFF0F9039
7FF00F9F9039FF0001FFD801FC7F4848147F4848143F4848141F485A160F485A1607127F
A290C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C6C6C14786CB4EB01F0
90397FF007C0011FB512800107EBFE009038007FF028297CA831>67
D<B712E0A33903FC001FED07F01501A215001670A3913801C0781638A302031300A2140F
90B5FCA3EBFC0F1403A20201130EA3161C91C7FCA3163C1638167816F815011503151FB7
12F0A327297EA82C>69 D<B512FCA3D803FCC8FCB3A3ED01C0A415031680A21507A2150F
A2151F157F913801FF00B7FCA322297EA828>76 D<D8FFFE92383FFF80A26D5D0003EFE0
00A2D9BF8014EFA2D99FC0EB01CFA2D98FE0EB038FA3D987F0EB070FA2D983F8130EA2D9
81FC131CA3D980FE1338A2027F1370A291383F80E0A391381FC1C0A291380FE380A29138
07F700A3EC03FEA26E5AA26E5AD8FFFE0203B51280A2157039297DA840>I<B612E015FE
6F7E3A03FC003FE0ED0FF06F7E6F7E150182A65E4B5A1507ED0FE0ED3FC090B500FEC7FC
A29039FC00FF80ED3FE06F7E150F821507A8170EA2ED03FC171EB539F001FE3C9238007F
F8EE0FE02F297EA832>82 D<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00
C7FCA4EB3FFF3801FC3FEA0FE0EA1F80EA3F00127E5AA4145F007EEBDFC0393F839FFC38
1FFE0F3803FC031E1B7E9A21>97 D<EB3FF03801FFFC3803F03E380FC07FEA1F80EA3F00
A248133E007E90C7FCA212FEA7127EA2127F6CEB03801380001FEB0700380FE00E3803F8
3C3801FFF838003FC0191B7E9A1E>99 D<EC7FF0A31407ACEB3F873801FFF73807F03F38
0FC00F381F8007EA3F00A2127EA312FEA8127EA27EA2381F800F380FC01F3907E07FFF38
01FFE738007F87202A7EA925>I<EB3FC03801FFF03807E07C48487E48487ED83F001380
140F5A007E14C012FE1407A2B6FCA248C8FCA4127E127F6CEB01C01380001F1303390FC0
07803903F01F003800FFFCEB3FE01A1B7E9A1F>I<EB07F8EB3FFCEB7E3E3801FC7FEA03
F813F01207143E1400A7B512C0A33807F000B3A3387FFF80A3182A7EA915>I<9038FF80
F00003EBE3F8390FC1FE1C391F007C7C48137E003EEB3E10007EEB3F00A6003E133E003F
137E6C137C380FC1F8380BFFE00018138090C8FC1238A2123C383FFFF814FF6C14C06C14
E06C14F0121F383C0007007CEB01F8481300A4007CEB01F0A2003FEB07E0390FC01F806C
B5120038007FF01E287E9A22>I<EAFFE0A3120FAC147E9038E1FF809038E30FC001E413
E0EBE80701F813F013F0A213E0B039FFFE3FFFA3202A7DA925>I<1207EA1FC0EA3FE0A5
EA1FC0EA0700C7FCA7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I<EAFFE0A3120FB3B2
EAFFFEA30F2A7EA912>108 D<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D80F
C49038F101FC9039C803F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A3331B
7D9A38>I<38FFC07E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213E0
B039FFFE3FFFA3201B7D9A25>I<EB3FE03801FFFC3803F07E390FC01F80391F800FC039
3F0007E0A2007EEB03F0A300FE14F8A8007E14F0A26CEB07E0A2391F800FC0390FC01F80
3907F07F003801FFFC38003FE01D1B7E9A22>I<38FFE1FE9038EFFF809038FE0FE0390F
F803F09038F001F801E013FC140015FEA2157FA8157E15FEA215FC140101F013F89038F8
07F09038FC0FE09038EFFF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<90383F
80703901FFE0F03803F079380FE01D381F800F123FEB00075AA2127E12FEA8127FA27E13
80001F130F380FC01F3807F0773801FFE738007F87EB0007A9EC7FFFA320277E9A23>I<
38FFC1F0EBC7FCEBC63E380FCC7F13D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B>I<
3803FE30380FFFF0EA3E03EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C13
E06C13F0000713F8C6FCEB07FC130000E0137C143C7E14387E6C137038FF01E038E7FFC0
00C11300161B7E9A1B>I<13E0A41201A31203A21207120F381FFFE0B5FCA2380FE000AD
1470A73807F0E0000313C03801FF8038007F0014267FA51A>I<39FFE07FF0A3000F1307
B2140FA2000713173903F067FF3801FFC738007F87201B7D9A25>I<39FFFC03FFA3390F
F000F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA2149E
EB3F9C14FC6D5AA26D5AA36D5AA26D5AA2201B7F9A23>I<39FFFC1FFEA33907F0038038
03F8079038FC0F003801FE1E00005BEB7F3814F86D5A6D5A130F806D7E130F497EEB3CFE
EB38FFEB787F9038F03F803901E01FC0D803C013E0EB800F39FFF03FFFA3201B7F9A23>
120 D E /Fc 1 16 df<EA03F0EA0FFC487E487E481380A2B512C0A66C1380A26C13006C
5A6C5AEA03F012127E9317>15 D E /Fd 81 126 df<EA4010EAE038EAF078EAE038AAEA
60300D0E7B9C18>34 D<EA0306EA078FA6387FFFC0B512E0A26C13C0380F1E00A6387FFF
C0B512E0A26C13C0381E3C00A6EA0C18131C7E9B18>I<13C01201A3EA07F0EA1FFC487E
EA7DDF3871C780EAF1C3EAE1C7A338F1C0001279127F6C7EEA0FF8EA03FC6C7E13CFEBC7
80EA61C312F1A212E1EAF1C73871CF00EA7DDFEA3FFEEA1FF8EA07F0EA01C0A312001124
7D9F18>I<1238127C127EA2123E120EA3121E123C127812F812F012C0070E789B18>39
D<137013F01201EA03C0EA0780EA0F00121E121C123C123812781270A212F05AA87E1270
A212781238123C121C121E7EEA0780EA03C0EA01F0120013700C24799F18>I<126012F0
12787E7E7EEA0780120313C0120113E01200A213F01370A813F013E0A2120113C0120313
801207EA0F00121E5A5A5A12600C247C9F18>I<136013F0A7387FFFC0B512E0A26C13C0
3800F000A7136013147E9718>43 D<123C127E127FA3123F120F120E121E127C12F81270
080C788518>I<387FFFC0B512E0A26C13C013047E8F18>I<127812FCA412780606778518
>I<1303EB0780130FA214005BA2133EA2133C137CA25BA25B1201A2485AA2485AA25B12
0FA248C7FCA2121E123EA25AA2127812F8A25A126011247D9F18>I<EA01F0EA07FC487E
EA1F1FEA1C0738380380007813C0EA7001A238E000E0A9EAF001007013C0A2EA78030038
1380381C0700EA1F1FEA0FFE6C5AEA01F0131C7E9B18>I<EA018012031207A2120F123F
12FF12FB12631203B0EA7FFCEAFFFEEA7FFC0F1C7B9B18>I<EA07F8EA1FFE487E387C0F
80387003C038F001E01300A3C7FCA2130114C01303EB0780EB0F00131E5B5B5BEA03E048
5A485A381E00E05AEA7FFFB5FC7E131C7E9B18>I<EA07F8EA1FFE487E387C0F80387803
C01301123012001303EB0780131F3803FF005B7F38000F80EB03C0130114E01300A212F0
130114C01303387C0F80383FFF006C5AEA07F8131C7E9B18>I<131F5B1377A213E71201
13C7EA038712071307120E121E123C1238127812F0B512F8A338000700A6EB7FF0A3151C
7F9B18>I<383FFF80A30038C7FCA8EA3BFCEA3FFE7F383E0780383803C0380001E01300
A2126012F0130100E013C0EAF003387C0F80383FFF006C5AEA07F8131C7E9B18>I<137E
48B4FC00071380380FC3C0EA1F03123C383801800078C7FC1270A2EAF3F8EAEFFEB5FC38
FE0F8038F803C0EAF00114E01300A312701301007813C0EA3C03381E0F80380FFF006C5A
EA03F8131C7E9B18>I<12E0B512E0A338E00380130738000F00131E5B13381378137013
F05B12015BA212035BA3120790C7FCA7131D7E9C18>I<EA03F8EA0FFE487E383E0F80EA
3803387001C0A438380380EA3C07381FFF00EA07FC487EEA1F1F383C0780387001C000F0
13E0EAE000A4387001C0EA7803383E0F80381FFF006C5AEA03F8131C7E9B18>I<EA03F8
EA0FFC487EEA3E0F3878078038F003C0EAE001A214E0A312F0EA7803EA3E0FEA1FFFEA0F
FEEA03F8EA000114C0A2130300301380EA7807EB0F00133EEA3FFC6C5AEA0FE0131C7E9B
18>I<127812FCA412781200A8127812FCA412780614779318>I<123C127EA4123C1200A8
1238127C127EA3123E120E121E123C127812F01260071A789318>I<14C0EB03E01307EB
1FC0EB3F80EBFE00485AEA07F0485AEA3F8048C7FC12FCA2127F6C7EEA0FE06C7EEA01FC
6C7EEB3F80EB1FC0EB07E01303EB00C013187E9918>I<387FFFC0B512E0A3C8FCA4B512
E0A36C13C0130C7E9318>I<126012F87E127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1F
C0EB07E0A2EB1FC0EB3F80EBFE00485AEA07F0485AEA3F8048C7FC12FC5A126013187E99
18>I<EA0FF8EA3FFE487E38F80F80EAF003A2130738001F00133E13FCEA01F05B485AA5
5BC8FCA5EA0380487EA36C5A111C7D9B18>I<137013F8A213D8A2EA01DCA3138CEA038E
A4EA0707A5380FFF80A3EA0E03381C01C0A3387F07F000FF13F8007F13F0151C7F9B18>
65 D<EA7FFCB5FC6C1380381C03C01301EB00E0A4130114C01307381FFF80140014C0EA
1C03EB00E014F01470A414F014E01303387FFFC0B51280387FFE00141C7F9B18>I<3801
FCE0EA03FEEA07FFEA0F07EA1E03EA3C01EA78001270A200F013005AA87E007013E0A212
78EA3C01001E13C0EA0F073807FF806C1300EA01FC131C7E9B18>I<EA7FF8EAFFFE6C7E
381C0F80EB03C0A2EB01E01300A214F01470A814F014E0A2130114C01303EB0F80387FFF
00485AEA7FF8141C7F9B18>I<B512F0A3381C0070A41400A2130EA3EA1FFEA3EA1C0EA3
90C7FCA21438A5B512F8A3151C7F9B18>I<B512F8A3381C0038A41400A21307A3EA1FFF
A3EA1C07A390C7FCA7EAFFC0A3151C7F9B18>I<3801F9C0EA07FF5AEA1F0FEA1C03123C
EA78011270A200F0C7FC5AA5EB0FF0131F130F38F001C0127013031278123CEA1C07EA1F
0FEA0FFFEA07FDEA01F9141C7E9B18>I<387F07F038FF8FF8387F07F0381C01C0A9EA1F
FFA3EA1C01AA387F07F038FF8FF8387F07F0151C7F9B18>I<EA7FFFB512806C1300EA01
C0B3A4EA7FFFB512806C1300111C7D9B18>I<3801FFC0A338000E00B2126012F0131E5B
EA7FFC6C5AEA1FE0121C7D9B18>I<EAFFC0A3001CC7FCB114E0A5B5FCA3131C7E9B18>
76 D<38FC01F8EAFE03A2383B06E0A4138EA2EA398CA213DCA3EA38D8A213F81370A213
00A638FE03F8A3151C7F9B18>I<387E07F038FF0FF8387F07F0381D81C0A313C1121CA2
13E1A313611371A213311339A31319A2131D130DA3EA7F07EAFF87EA7F03151C7F9B18>
I<EA0FFE383FFF804813C0EA7803EA700100F013E0EAE000B0EAF001007013C0EA7C07EA
7FFF6C1380380FFE00131C7E9B18>I<EAFFFEEBFF8014C0EA1C03EB01E013001470A514
E01301EB03C0EA1FFF1480EBFE00001CC7FCA8B47EA3141C7F9B18>I<EA0FFE383FFF80
4813C0EA7803EA700100F013E0EAE000AE1370A2EAF079387039C0EA783FEA7FFF6C1380
380FFE00EA000FEB0780A2EB03C01301A213227E9B18>I<EA7FF8EAFFFE6C7E381C0F80
130314C01301A313031480130F381FFF005BA2EA1C0FEB07801303A5149CA3007F13FC38
FF81F8387F00F0161C7F9B18>I<3807F9C0EA1FFF5AEA7C0FEA7003EAF00112E0A290C7
FC7E1278123FEA1FF0EA0FFEEA01FF38001F80EB03C0EB01E01300A2126012E0130100F0
13C0EAFC07B512801400EAE7FC131C7E9B18>I<387FFFF8B5FCA238E07038A400001300
B2EA07FFA3151C7F9B18>I<38FF83FEA3381C0070B2001E13F0000E13E0EA0F013807C7
C03803FF806C1300EA007C171C809B18>I<38FE03F8EAFF07EAFE03383C01E0001C13C0
A3EA1E03000E1380A438070700A4EA038EA4EA018C13DCA3EA00D813F8A21370151C7F9B
18>I<38FE03F8A338700070A36C13E0A513F8EA39FC13DCA2001913C0A3138CA2EA1D8D
A31305000D1380EA0F07A2EA0E03151C7F9B18>I<38FE03F8EAFF07EAFE03381C01C0EA
1E03000E1380EA0F0700071300A2EA038EA2EA01DCA3EA00F8A21370A9EA01FC487E6C5A
151C7F9B18>89 D<126012F07EA21278127CA27EA2121E121FA26C7EA212077FA26C7EA2
6C7EA212007FA2137CA2133C133EA27FA27F1480A21307EB030011247D9F18>92
D<387FFFC0B512E0A26C13C013047E7F18>95 D<1206121E123E123C127812F012E0A312
F812FCA2127C1238070E789E18>I<EA0FF0EA1FFC487EEA3C1F38180780EA0003A213FF
120F5AEA7F83EA780312F012E0A2EAF007EA7C1F383FFFF8EA1FFDEA07F015147E9318>
I<127E12FE127E120EA5133EEBFF80000F13C0EBE3E0EB80F0EB00701478000E1338A512
0F14781470EB80F0EBC3E0EBFFC0000E138038067E00151C809B18>I<EA01FEEA07FF00
1F1380EA3F07383C030048C7FC127012F05AA47E1270387801C0123CEA3F07381FFF8000
071300EA01FC12147D9318>I<EB1F80133F131F1303A5EA03F3EA0FFBEA1FFFEA3E1FEA
780FEA700712F0EAE003A5130712F01270EA780FEA3E3F381FFFF0380FFBF83803E3F015
1C7E9B18>I<EA03F0EA0FFC487EEA3E1F38780780EA700300F013C0EAE001A2B5FCA300
F0C7FC1270387801C0123CEA3F07381FFF8000071300EA01FC12147D9318>I<EB1FC0EB
7FE013FFEA01F1EBC0C01400A3387FFFC0B5FCA23801C000AEEA7FFFA3131C7F9B18>I<
3803F1F03807FFF85A381E1F30383C0F00EA3807A5EA3C0FEA1E1EEA1FFC485AEA3BF000
38C7FC123CEA1FFF14C04813E0387801F038F00078481338A36C1378007813F0EA7E0338
3FFFE0000F13803803FE00151F7F9318>I<127E12FE127E120EA5133FEBFF80000F13C0
EBE1E013801300A2120EAA387FC7FC38FFE7FE387FC7FC171C809B18>I<EA0380EA07C0
A3EA0380C7FCA4EA7FC012FF127F1201AEB5FCA3101D7C9C18>I<1338137CA313381300
A4EA0FFCA3EA001CB3A3133CEA6038EAF078EAFFF0EA7FE0EA3FC00E277E9C18>I<127E
12FE127E120EA5EB3FF0A3EB0780EB0F00131E5B5B5BEA0FF87F139C131EEA0E0FEB0780
130314C0387FC7F812FF127F151C7F9B18>I<EAFFC0A31201B3A4B51280A3111C7D9B18>
I<38FBE3E038FFF7F0EBFFF8383E3E38EA3C3CA2EA3838AB38FE3E3EEB7E7EEB3E3E1714
809318>I<EA7E3F38FEFF80007F13C0380FE1E013801300A2120EAA387FC7FC38FFE7FE
387FC7FC1714809318>I<EA01F0EA0FFE487E383E0F80EA3803387001C0A238E000E0A5
EAF001007013C0EA7803383C0780EA3E0F381FFF006C5AEA01F013147E9318>I<EA7E3E
38FEFF80007F13C0380FE3E0EB80F0EB00701478000E1338A5120F14781470EB80F0EBC3
E0EBFFC0000E1380EB7E0090C7FCA7EA7FC0487E6C5A151E809318>I<3803F380EA0FFB
EA1FFFEA3E1FEA780FEA700712F0EAE003A6EAF0071270EA780FEA3E1FEA1FFFEA0FFBEA
03F3EA0003A7EB1FF0EB3FF8EB1FF0151E7E9318>I<38FF0FC0EB3FF0137FEA07F8EBE0
60EBC0005BA390C7FCA8EAFFFC7F5B14147E9318>I<EA0FF7EA3FFF5AEAF81FEAE007A2
12F0007CC7FCEA7FF0EA1FFCEA07FEEA001F38600780EAE00312F0130738FC0F00B5FC5B
EAE7F811147D9318>I<487E1203A4387FFFC0B5FCA238038000A9144014E0A21381EBC3
C0EA01FF6C1380EB7E0013197F9818>I<387E07E0EAFE0FEA7E07EA0E00AC1301EA0F07
3807FFFC6C13FE3801FCFC1714809318>I<387F8FF000FF13F8007F13F0381C01C0380E
0380A338070700A3138FEA038EA3EA01DCA3EA00F8A2137015147F9318>I<38FF07F813
8F1307383800E0A4381C01C0137113F9A213D9EA1DDD000D1380A3138DEA0F8FA2380707
0015147F9318>I<387F8FF0139F138F380F0700EA078EEA039EEA01DC13F81200137013
F07FEA01DCEA039E138EEA0707000E1380387F8FF000FF13F8007F13F015147F9318>I<
387F8FF000FF13F8007F13F0380E01C0EB0380A21207EB0700A2EA0387A2138EEA01CEA2
13CC120013DC1378A31370A313F05B1279EA7BC0EA7F806CC7FC121E151E7F9318>I<38
3FFFF05AA2387001E0EB03C0EB078038000F00131E137C5B485A485AEA0780380F007012
1E5A5AB512F0A314147F9318>I<EB07E0133F137FEBFC0013E0AB1201EA7FC0485AA26C
7EEA01E01200AB13FCEB7FE0133F130713247E9F18>I<127CB47E7FEA07E01200AB7FEB
7FC0EB3FE0A2EB7FC0EBF0005BAB1207B45A5B007CC7FC13247E9F18>125
D E /Fe 26 122 df<EB03E0EB1C181338EB703C13E014383801C000A5485A387FFFF038
038070A4380700E0A6380E01C0A6381C0380001E13C038FF0FF016207E9F19>12
D<EB03F4EB1C1CEB383C137013E01438EA01C0A538038070387FFFF038038070A4380700
E0A6380E01C0A6381C0380001E13C038FF9FF016207E9F19>I<EAFFF0A20C027E8A0F>
45 D<EA07F8EA0C0CEA1E061307121C1200A313FFEA07C7EA1E07EA3C0E127800F01310
A3131EEB2E2038784F40381F878014147D9317>97 D<1207123F120F7EA2120EA65A137C
EA1D83381E0180001C13C0EB00E05A14F0A5387001E0A214C013031480EB0700EAE80EEA
CC38EA83E014207B9F19>I<13FEEA0383380E0780121C0038130090C7FC12785AA45AA3
7E5BEA70026C5AEA1C18EA07E011147D9314>I<1438EB01F8EB00781438A21470A614E0
13FCEA0382EA0601121CEA3C00383801C0127812F0A438E00380A412F0EA700738380F00
381C37803807C7E015207D9F19>I<13F8EA070EEA0E07121C383803801278127012F0A2
B5FC00F0C7FC5AA46C5AEA7002EA3004EA1C18EA07E011147D9314>I<140EEB3E11EBE1
A33801C1C2380381E0EA07801301120FA3380703C01480EB8700EA04FC48C7FCA2121812
1CEA0FFF14C014E0381800F04813305A5AA3006013606C13C0381C0700EA07FC181F8094
17>103 D<13E0120712011200A2485AA6485AEB8F80EB90E013A0EBC0601380000713E0
1300A5380E01C0A6381C0380001E13C038FF8FF014207E9F19>I<EA01C0EA03E0A213C0
EA0180C7FCA6EA0380121F12071203A2EA0700A6120EA65A121EEAFF800B1F7F9E0C>I<
13E0120712011200A2485AA6485AEB81FCEB80F014C0EB81801400EA07045B1318133813
7C131C120E7FA2130F7F1480EA1C03381E07C038FF8FF016207E9F18>107
D<13E0120712011200A2EA01C0A6EA0380A6EA0700A6120EA65A121EEAFF800B207F9F0C
>I<390387C07C391F9861863907A072073903C03403EB80380007EB7807EB0070A5000E
EBE00EA64848485A001EEBE01E3AFFCFFCFFC022147E9326>I<38038F80381F90E0EA07
A03803C0601380000713E01300A5380E01C0A6381C0380001E13C038FF8FF014147E9319
>I<13FCEA0387380E0180381C00C04813E0A24813F012F0A438E001E0A214C0130300F0
138038700700EA380E6C5AEA07E014147D9317>I<EBE3E03807EC383800F01C497E140F
48487E1580A53903800F00A2140E141E141C5C38074070EB61C0011FC7FC90C8FCA3120E
A4121EEAFFC0191D809319>I<EBFC2038038260EA0702381E01E0123C003813C0127812
F0A438E00380A212F0A21307127038380F00EA1C37EA07C7EA0007A3130EA4131EEBFFC0
131D7D9318>I<EA038E381FB380EA07C71203EB8300EA078090C7FCA5120EA65A121EEA
FFC011147E9312>I<EA01F9EA0607EA080312181301EA3802EA3C00121F13F0EA07FCEA
01FEEA001FEA40071303A212601306EAF004EAC818EA87E010147F9312>I<1380EA0100
A35A5A5A121EEAFFF8EA0E00A45AA65A1310A41320A2EA1840EA0F800D1C7C9B12>I<38
1C0380EAFC1FEA3C07EA1C03A238380700A6EA700EA4131EA25BEA305E381F9F8011147B
9319>I<38FF83F8381E00E0001C13C01480121E380E01005B13025B12075BA25BEA0390
13A013E05B5B120190C7FC15147C9318>I<39FF9FE1FC393C078070391C030060148015
401580EA0E0790380D81001309EB19C21311380F21C4EA0720EB40C814E8EB80F0A26C48
5A1460000213401E147C9321>I<381FF0FF3803C0780001137014403800E0C0EBE180EB
73001376133CA2131C132E134E1387EA0107380203801204380C01C0383C03E038FE07FC
18147F9318>I<390FF83F803901E00E00EBC00C140813E000005B143014205C13705CA2
0171C7FC1339133A133E133C133813181310A25BA25BEA70C0EAF08000F1C8FC12E61278
191D809318>I E /Ff 78 125 df<90381F83E09038F06E303901C07878380380F89038
00F03048EB7000A7B612803907007000B2383FE3FF1D20809F1B>11
D<133FEBE0C0EA01C0380381E0EA0701A290C7FCA6B512E0EA0700B2383FC3FC1620809F
19>I<EB3FE013E0EA01C1EA0381EA0700A8B5FCEA0700B2383FE7FC1620809F19>I<9038
1F81F89038F04F043901C07C06390380F80FEB00F05A0270C7FCA6B7FC3907007007B23A
3FE3FE3FE02320809F26>I<127012F8A71270AA1220A51200A5127012F8A3127005217C
A00D>33 D<127012F812FCA212741204A31208A21210A212201240060E7C9F0D>39
D<13401380EA01005A12061204120C5AA212381230A212701260A412E0AC1260A4127012
30A212381218A27E120412067E7EEA008013400A2E7BA112>I<7E12407E12307E120812
0C7EA212077EA213801201A413C0AC1380A412031300A25A1206A25A120812185A12205A
5A0A2E7EA112>I<127012F012F8A212781208A31210A31220A21240050E7C840D>44
D<EAFFF0A20C02808A0F>I<127012F8A3127005057C840D>I<14C0A213011480A2130314
005B1306A2130E130CA2131C131813381330A213701360A213E05B12015BA2120390C7FC
A25A1206120E120CA2121C1218A21238123012701260A212E05AA2122D7EA117>I<EA03
F0EA0E1C487EEA1806EA380738700380A400F013C0AD00701380A3EA780700381300EA18
06EA1C0E6C5AEA03F0121F7E9D17>I<13801203120F12F31203B3A6EA07C0EAFFFE0F1E
7C9D17>I<EA03F0EA0C1CEA100E487E00401380128000F013C0EAF803A3EA2007120014
80A2EB0F00130E5B5B5B13605B485A48C7FC000613405A5A00101380EA3FFF5AB5FC121E
7E9D17>I<EA03F0EA0C1CEA100EEA200F007813801307A2EA380F12001400A2131E131C
1370EA07F0EA003C130E130FEB0780A214C0122012F8A300F013801240EB0F00EA200EEA
183CEA07F0121F7E9D17>I<1306A2130EA2131E132EA2134E138EA2EA010E1202A21204
1208A212101220A2124012C0B512F038000E00A7EBFFE0141E7F9D17>I<EA1803EA1FFE
5B5B13E00010C7FCA6EA11F0EA161CEA180EEA10071480EA0003A214C0A3127012F0A200
E013801240EB0700EA20066C5AEA0838EA07E0121F7E9D17>I<137CEA0182EA0701380E
0380EA0C0712183838030090C7FC12781270A2EAF1F0EAF21CEAF406EAF807EB0380A200
F013C0A51270A214801238EB07001218EA0C0E6C5AEA01F0121F7E9D17>I<1240387FFF
E014C0A23840008038800100A21302485AA25B5BA25BA21360A213E05B1201A41203A76C
5A131F7E9D17>I<EA03F0EA0C0CEA1006EA3003382001801260A3127038780300123EEA
3F06EA1FC8EA0FF0EA03F8487EEA0C7EEA103F38300F80EA6007EB01C012C01300A31480
EA600100201300EA1002EA0C0CEA03F0121F7E9D17>I<EA03F0EA0E18487E487E130712
70EB038012F0A214C0A5EA7007A21238EA180BEA0E13EA03E338000380A3EB07001230EA
7806130EEA700CEA2018EA1070EA0FC0121F7E9D17>I<127012F8A312701200AA127012
F8A3127005147C930D>I<127012F8A312701200AA127012F012F8A212781208A31210A3
1220A21240051D7C930D>I<EA0FE0EA103CEA601EEA400EEAE00F12F0A21260EA001E13
1C13381370136013C01380A2EA0100A6C7FCA5EA0380EA07C0A3EA038010207E9F15>63
D<5B497EA3497EA3EB09E0A3EB10F0A3EB2078A3497EA2EBC03EEB801EA248B5FCEB000F
A20002EB0780A348EB03C0A2120C001E14E039FF801FFE1F207F9F22>65
D<B512E0380F0078141EA2801580A515005C141E147CEBFFF0EB007C141FEC0F80EC07C0
140315E0A515C014071580EC0F00143EB512F01B1F7E9E20>I<90380FE0109038381C30
9038E002703803C00139078000F048C71270121E15305A1510127C127800F81400A91278
007C1410123CA26C1420A27E6C6C13406C6C13803900E00300EB380CEB0FF01C217E9F21
>I<B512F83807801EEC0780EC03C0EC01E0EC00F015701578A2153CA3153EA8153CA215
7C1578A215F0EC01E0EC03C0EC0780EC1E00B512F81F1F7F9E23>I<B61280380F000F14
031401140015C01540A314401500A214C0130113FF130113001440A3EC0020A31540A315
C01401EC0380140FB6FC1B1F7E9E1F>I<B61280380780071401A2140015C01540A4EC20
00A3146014E013FF138014601420A391C7FCA87FEAFFFE1A1F7F9E1E>I<90380FE01090
38381C309038E002703803C00139078000F048C71270121E15305A1510127C127800F814
00A7EC3FFEEC01F000781300127C123CA27EA27E6C7E3903C001703900E002309038380C
1090380FF0001F217E9F24>I<39FFF07FF8390F000780AD90B5FCEB0007AF39FFF07FF8
1D1F7E9E22>I<EAFFF0EA0F00B3ABEAFFF00C1F7E9E10>I<39FFF007FC390F0003E0EC01
80150014025C5C5C5C5C5C49C7FC5B497E130FEB13C0EB21E01341EB80F0EB0078A28080
A280EC0780A2EC03C015E015F039FFF01FFE1F1F7E9E23>75 D<EAFFF8EA0F8090C7FCB2
1402A414061404A2140C141C147CB512FC171F7E9E1C>I<B46CEB07FE000715C0A2D805
C0130BA2D804E01313A301701323A26D1343A36D1383A290380E0103A3EB0702A3EB0384
A2EB01C8A3EB00F0A21460121FD8FFE0EB7FFE271F7F9E2A>I<B4EB0FF8390F8003E0EC
0080EA0BC0EA09E0A2EA08F01378A27F7FA27FEB0780A2EB03C0EB01E0A2EB00F01478A2
143C141EA2140F1407A214031401123E38FF80001D1F7E9E22>I<EB1FE0EB70383801C0
0E48487E39070003804814C0001EEB01E048EB00F0A2007C14F8A20078147800F8147CA9
00781478007C14F8A2003C14F0003E1301001E14E06CEB03C06C148039038007003801E0
1E38007038EB1FE01E217E9F23>I<B512E0380F007C141E80EC0780A215C0A41580A2EC
0F00141E147CEBFFE090C8FCAEEAFFF01A1F7E9E1F>I<B57E380F00F0143C8080A21580
A41500A2141E5C14F0EBFF80EB01C0EB0070A280143CA3143EA31504143F141FEC0F0839
FFF00788C7EA01F01E207E9E21>82 D<3803F040380C0CC0EA1803EA3001EA6000A212E0
1440A36C13007E127CEA7F80EA3FF86CB4FC00071380C613C0EB1FE013031301EB00F014
707EA46C136014E06C13C038F8018038C60300EA81FC14217E9F19>I<007FB512E03878
0F010060EB006000401420A200C0143000801410A400001400B3497E3803FFFC1C1F7E9E
21>I<39FFF00FF8390F0003E0EC0080B3A46CEB01001380120314026C6C5A6C6C5AEB38
30EB0FC01D207E9E22>I<39FFF003FE391F8000F86CC7126015206C6C1340A36C6C1380
A2EBE00100011400A23800F002A213F8EB7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D
5AA36DC7FC1F207F9E22>I<3BFFF07FF81FF03B1F000FC007C06C903907800180170015
C001805C00071502EC09E013C000035DEC19F01410D801E05CA2EC2078D800F05CA2EC40
3C01785CA2EC801E017C1460013C144090383D000F133F6D5CA2011E1307010E91C7FCA2
010C7F010413022C207F9E2F>I<397FF81FF8390FE007C03907C0030000031302EBE006
3801F00400005BEBF818EB78106D5AEB3E60EB1E406D5AA213076D7E497E1305EB08F0EB
18F8EB1078EB207CEB603EEB401EEB801F3901000F801407000214C000061303001FEB07
E039FFC01FFE1F1F7F9E22>I<12FFA212C0B3B3A512FFA2082D7CA10D>91
D<12FFA21203B3B3A512FFA2082D80A10D>93 D<120812101220A21240A21280A312B812
FCA2127C1238060E7D9F0D>96 D<EA1FE0EA3030EA7818131CEA300E1200A313FEEA078E
EA1E0E1238127800F01310A3131E127838386720380F83C014147E9317>I<121C12FC12
1CAA137CEA1D87381E0180EB00C0001C13E01470A21478A6147014F014E0001E13C0381A
018038198700EA107C15207E9F19>I<EA01FCEA0706EA1C0F123813060078C7FC127012
F0A61270127800381380A2381C0100EA0706EA01F811147F9314>I<EB01C0130F1301AA
EA01F1EA070DEA0C03EA180112381278127012F0A61270A21238EA1803120CEA070D3801
F1F815207F9F19>I<EA03F0EA0E1C487E487EA21270EB038012F0A2B5FC00F0C7FCA312
70A26C1380A2381C0100EA0706EA01F811147F9314>I<137CEA01C6EA030F1207EA0E06
1300A7EAFFF0EA0E00B2EA7FE01020809F0E>I<14E03803E330EA0E3CEA1C1C38380E00
EA780FA5EA380E6C5AEA1E38EA33E00020C7FCA21230A2EA3FFE381FFF8014C0383001E0
38600070481330A4006013606C13C0381C03803803FC00141F7F9417>I<121C12FC121C
AA137C1386EA1D03001E1380A2121CAE38FF8FF014207E9F19>I<1238127CA31238C7FC
A6121C12FC121CB1EAFF80091F7F9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012
001370B3A31260EAF06013C0EA6180EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB
0780EB060013045B5B5B136013E0EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038
FF9FF014207E9F18>I<121C12FC121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C
30391D039038391E01E01CA2001C13C0AE3AFF8FF8FF8021147E9326>I<EA1C7CEAFC86
EA1D03001E1380A2121CAE38FF8FF014147E9319>I<EA01F8EA070E381C0380383801C0
A2387000E0A200F013F0A6007013E0A2383801C0A2381C038038070E00EA01F814147F93
17>I<EA1C7CEAFD87381E018014C0381C00E014F014701478A6147014F014E0381E01C0
EB0380381D8700EA1C7C90C7FCA8B47E151D7E9319>I<3801F04038070CC0EA0E02EA1C
03EA38011278127012F0A6127012781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8
151D7F9318>I<EA1CF0EAFD18EA1E3CA21318EA1C00AEEAFFC00E147E9312>I<EA0FC8EA
3038EA6018EAC008A3EAE000127CEA3FE0EA1FF0EA07F8EA003CEA800E130612C0A21304
EAE00CEAD818EA87E00F147F9312>I<1202A31206A2120EA2123EEAFFF8EA0E00AB1304
A5EA07081203EA01F00E1C7F9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803
E3F014147E9319>I<38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2
EA01C4A213E4EA00E8A21370A3132015147F9318>I<39FF9FE1FC393C078070391C0300
60EC8020000E1440A214C0D80704138014E0A239038861001471A23801D032143A143E38
00E01CA2EB6018EB40081E147F9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA
0384EA01C813D8EA00F01370137813F8139CEA010E1202EA060738040380000C13C0003C
13E038FE07FC16147F9318>I<38FF83F8383E00E0001C13C06C1380A338070100A21383
EA0382A2EA01C4A213E4EA00E8A21370A31320A25BA3EAF080A200F1C7FC1262123C151D
7F9318>I<EA7FFFEA700E1260EA401C133813781370EA00E0120113C0EA038012071301
120E121EEA1C03EA3802EA7006130EEAFFFE10147F9314>I<B512FC1601808C17>I<B812
F02C01808C2D>I E /Fg 36 120 df<150C151E153EA2153C157CA215F8A215F01401A2
EC03E0A215C01407A2EC0F80A215005CA2143EA2143C147CA25CA25C1301A2495AA25C13
07A25C130FA249C7FCA2131E133EA25BA2137813F8A2485AA25B1203A2485AA25B120FA2
48C8FCA2121E123EA25AA2127812F8A25A12601F487CB528>47 D<EB01C01303130F137F
EA1FFFB5FC13BFEAE03F1200B3B1007FB512F0A31C2E7AAD28>49
D<EB3FE03801FFFE0007EBFF80D80F8013C0393E003FF0003CEB1FF8007C130F007F14FC
38FF800715FEA21403A2EA7F00003E1307C7FC15FCA2140F15F8EC1FF015E0EC3FC01580
EC7F0014FE495A5CEB03E0495A495A90381F000E133E137849131E4848131C485A484813
3C90B512FC5A5A5A4814F8B6FCA31F2E7CAD28>I<EB1FF890B5FC000314C0390FE01FF0
48C66C7E6D6C7EEA3FC06E7E13E013C0A2121F380F0007C75BA24A5A5D4A5A4A5A02FFC7
FCEB3FF8ECFF809038001FE06E7EEC07FC6E7EA281801680A3121C127FEAFF80A216005C
A201005B007E495A003C495A391FC01FF06CB512C0000391C7FC38003FF8212E7DAD28>
I<157015F0140114031407140FA2141F143F147714F714E7EB01C7EB0387EB0707130F13
0E131C1338137013F013E0EA01C0EA0380EA07005A120E5A5A5A5AB712E0A3C7380FF000
A9010FB512E0A3232E7EAD28>I<000C1430390FC007F090B512E0A215C015005C5C14F0
1480000EC8FCA8EB1FF0EBFFFE390FE03F809038000FE0000E14F0000CEB07F8C7FCEC03
FCA315FEA21218127EB4FCA415FC481307007814F8A26CEB0FF06CEB1FE0390FC07FC06C
B51200000113FC38003FE01F2E7CAD28>I<14FF010713E0011F7F90387F80F89038FE00
3CD803FC137E484813FEEBF001EA0FE0121F13C0003F6D5A1578007F91C7FC5BA338FF83
FC90388FFF8090389C0FE09038B803F001F07F496C7E81496C7EA3491480A4127FA4123F
6D1400A2001F495AEA0FE04A5AD807F05B3903FC0FF0C6B512C0013F90C7FCEB0FFC212E
7DAD28>I<1578A215FCA34A7EA24A7EA24A7FA34A7FEC0E7F021E7FEC1C3FA202387F15
1F02787FEC700FA202E07F1507010180ECC003A249486C7EA201078191C7FC498191B6FC
A24981011CC7123F013C810138141FA24981160F01F081491407A2484881486C1403B549
B512FCA336317DB03D>65 D<913A03FF800180023FEBF00349B5EAFC0F01079038003F1F
D91FF8EB07FFD97FE01301D9FF807F4890C8127F4848153F4848151F485A170F48481507
123F5B1703127FA24992C7FC12FFAB127F7FEF0380123FA27F001F16076C6C16005F6C6C
150E6C6C151E6C6C5D6C6D5CD97FE0495AD91FF8495AD907FFEB3F800101D9FFFEC7FCD9
003F13F80203138031317CB03A>67 D<DA03FF1303027FEBF00749B5EAFC1F010F903800
7F3FD91FF0EB0FFFD97FC0130349487F4890C8FC484881484881484881121F4981123F5B
007F82A34992C7FC12FFAA0307B512F8127F7FDB00011300A2123F7F121F7F120F6C7E6C
7E6C7E6C6D5BEB7FE0D91FF8130F6DB4EB3F7F01019038FFFE1F6D6CEBF00F0203EB8003
35317CB03F>71 D<B6D8807FB512C0A3C60180C7387FC000B391B7FCA30280C7127FB3A3
B6D8807FB512C0A33A317EB03F>I<B61280A3C6EB8000B3B3A7B61280A319317EB01E>I<
B500C049B512C080A2C66D90390003E0006E6E5A80EBEFFEEBE7FF13E301E17F8101E07F
6E7E6E7E141F6E7E816E7E6E13806E13C080ED7FE016F0ED3FF8ED1FFCED0FFE1507ED03
FF17816F13C16F13E1EE7FF1163FEE1FF917FDEE0FFF82828282A2177F173F171F170F48
6C1507B512E0170317013A317EB03F>78 D<EC0FFF91B512F0903907FC03FE903A1FE000
7F80D93F80EB1FC049C76C7ED801FEEC07F848486E7E48486E7EA248486E7E001F178049
157F003F17C0A34848ED3FE0A300FF17F0AB007F17E06D157FA3003F17C0A26C6CEDFF80
A26C6C4A130000075E6D140300035E6C6C4A5A6C6C4A5AD93FC0EB3FC06D6C495A902707
FC03FEC7FC0100B512F0020F90C8FC34317CB03D>I<B712E016FEEEFF80C6D9800013E0
EE3FF0EE0FF8EE07FCA2EE03FEA217FFA717FEA2EE07FC17F8160FEE3FE0EEFFC091B612
0016F80280C8FCB3A2B67EA330317EB037>I<90391FF8018090B51203000314C73907F0
07EF391F8000FF90C7127F003E143F007E141F007C140F150712FCA215037E7E6D90C7FC
7FEA7FF0EBFF8014F86CEBFF806C14F06C806C14FE6C80C61580013F14C01301D9001F13
E014019138003FF0151F150F150712E01503A37E16E06C140716C06C140FB4EC1F8001C0
EB3F0001FC13FE00F1B55AD8E03F13F0D8C003138024317CB02D>83
D<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F01780A3481603
A5C792C7FCB3AA017FB6FCA331307DAF38>I<B500FC91B5FCA3000390C8EA07C06CEE03
806E14076C170080017F150EA26E141E013F151C6E143C011F153880010F5D8001075DA2
6E130101035D6E13036D5D15806D4AC7FCA26F5A027F130EEDE01E023F131CEDF03C021F
133815F8020F5BA2EDFCF002075B15FF6E5BA26E5BA26E90C8FCA3157EA2153CA238317E
B03D>86 D<EBFFF0000713FF390FC03FC0486C6C7E6E7E6E7EA26E7EEA0FC0C7FCA414FF
131FEBFFE33803FC03EA0FF0EA1FE0EA3FC0EA7F8012FF1300A314071380007F130F9038
C01DFE3A1FE079FFF03807FFE0C6EB803F24207E9F27>97 D<EB0FFF017F13E03901FC03
F03903F807F8EA0FF0EA1FE013C0123F007FEB03F049C7FCA212FFAA127F7F151C123F6C
6C133C15786C6C13F03903F801E03901FC07C039007FFF00EB0FF81E207D9F24>99
D<ED0FC0EC07FFA3EC007F153FADEB07F8EB3FFF9038FE07BF3903F801FF48487E484813
7F4848133F123FA2485AA212FFAA127FA26C7EA2001F147F7F6C6C13FF0003010313E03A
01FC0FBFFE39007FFE3FEB0FF027327DB12D>I<EB0FFC90387FFF803901FC0FE03903F8
07F0390FF003F89038E001FC381FC000003F14FEA24848137E157F12FFA390B6FCA20180
C7FCA4127FA27F003F1407A26C6C130F000F141E6C6C133C6C6C13783900FE03F090383F
FFC0903807FE0020207E9F25>I<EB01FE90380FFF8090383FC3E090387F07F0EBFF0FEA
01FEA2EA03FCEC07E0EC018091C7FCA8B512FCA3D803FCC7FCB3A8387FFFF0A31C327EB1
19>I<EA01F812FFA3120F1207ADEC07F8EC3FFE9138F87F809038F9C03FD9FB8013C090
38FF001F4914E0A25BA25BB3B500C3B5FCA328327DB12D>104 D<EA03C0EA0FF0A2487E
A46C5AA2EA03C0C8FCA9EA01F8127FA31207B3A7B51280A311337DB217>I<EA01F812FF
A3120F1207B3B3A6B512C0A312327DB117>108 D<2703F007F8EB1FE000FFD93FFEEBFF
F8913AF87F83E1FE903AF1C03F8700260FF38001CE7F2807F7001FDC7F01F602F8148013
FE495CA2495CB3B500C3B5380FFFFCA33E207D9F43>I<3903F007F800FFEB3FFE9138F8
7F809038F1C03F260FF38013C03907F7001F01F614E013FE5BA25BB3B500C3B5FCA32820
7D9F2D>I<EB07FC90387FFFC03901FC07F03903F001F848486C7E4848137E001F147F00
3F158049133F007F15C0A300FF15E0A8007F15C0A36C6CEB7F80A2001F15006C6C13FE00
075C3903F803F83901FE0FF039007FFFC0D907FCC7FC23207E9F28>I<3901F83FE000FF
EBFFFC9038FBE07F9039FF003F80D807FEEB1FE049EB0FF05BED07F8A216FCA2ED03FEAA
ED07FCA216F8150F16F06DEB1FE06D14C06DEB3F809039FBC0FE009038F8FFF8EC3FC091
C8FCABB512C0A3272E7E9F2D>I<3803F03F00FFEBFFC09038F1C7E09038F38FF0380FF7
0FEA07F613FE13FCEC07E091C7FCA25BB2B512E0A31C207E9F21>114
D<3801FF86000713FEEA1F00003C133E007C131E127800F8130EA27E6C90C7FC6C7E13FC
387FFFC014F06C7F6C7F00077F00017FEA003F01001380143F00E0131FA26C130FA27E15
006C5B6C133E6C6C5A38F3FFF038C07F8019207D9F20>I<131CA5133CA3137CA213FC12
0112031207381FFFFEB5FCA2D803FCC7FCB0EC0380A71407D801FE13001200EB7F0EEB3F
FCEB07F0192E7FAD1F>I<D801F8EB07E000FFEB03FFA3000FEB003F0007141FB3153FA2
157F000314FF9039FC01DFF03A00FE039FFF90387FFF1FEB0FFC28207D9F2D>I<B5EB1F
FCA3D80FF8EB03C0000715806D1307000315007F0001140E7F6C5CA2EC803C017F1338EC
C078013F1370ECE0F0011F5B14F1010F5B14F9903807FB80A214FF6D90C7FCA26D5AA26D
5AA21478A226207E9F2B>I<B53A1FFFE03FF8A33C0FF000FE0007C06DED038000076EEB
0700816D5D00039138FF800EA26C6C486D5A15DF01FF153C6C9039038FE038A2D97F876D
5A150702C714F0D93FCF6D5AECCE03D91FFEEBF9C09138FC01FD16FF010F5D4A7EA26D48
6DC7FCA20103147E4A133EA26D48131C35207E9F3A>I E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin
%%PaperSize: a4

%%EndSetup
%%Page: 1 1
1 0 bop 0 183 a Fg(CVS)15 b(Clien)n(t/Serv)n(er)62 370
y Ff(This)j(do)q(cumen)o(t)g(describ)q(es)h(the)f(clien)o(t/serv)o(er)g
(proto)q(col)f(used)h(b)o(y)g(CVS.)f(It)h(do)q(es)f(not)g(describ)q(e)j
(ho)o(w)d(to)0 432 y(use)i(or)e(administer)j(clien)o(t/serv)o(er)e
(CVS;)g(see)h(the)f(regular)h(CVS)f(man)o(ual)g(for)g(that.)28
b(This)19 b(is)g(v)o(ersion)g(1.8.1)0 495 y(of)d(the)h(proto)q(col)g
(sp)q(eci\014cation|See)j(Chapter)c(1)h([In)o(tro)q(duction],)g(page)f
(2)h(for)f(more)g(on)h(what)f(this)i(v)o(ersion)0 557
y(n)o(um)o(b)q(er)e(means.)p eop
%%Page: 2 2
2 1 bop 0 183 a Fg(1)41 b(In)n(tro)r(duction)62 370 y
Ff(CVS)12 b(is)h(a)f(v)o(ersion)g(con)o(trol)g(system)g(\(with)g(some)f
(additional)j(con\014guration)e(managemen)o(t)f(functionalit)o(y\).)0
432 y(It)20 b(main)o(tains)g(a)g(cen)o(tral)g Fe(rep)q(ository)j
Ff(whic)o(h)e(stores)e(\014les)i(\(often)e(source)h(co)q(de\),)h
(including)i(past)c(v)o(ersions,)0 495 y(information)14
b(ab)q(out)g(who)g(mo)q(di\014ed)i(them)e(and)g(when,)h(and)f(so)g(on.)
19 b(P)o(eople)c(who)f(wish)g(to)g(lo)q(ok)g(at)g(or)f(mo)q(dify)0
557 y(those)h(\014les,)i(kno)o(wn)e(as)g Fe(dev)o(elop)q(ers)p
Ff(,)i(use)f(CVS)f(to)g Fe(c)o(hec)o(k)h(out)g Ff(a)g
Fe(w)o(orking)f(directory)19 b Ff(from)13 b(the)i(rep)q(ository)l(,)g
(to)0 619 y Fe(c)o(hec)o(k)c(in)h Ff(new)f(v)o(ersions)g(of)f(\014les)i
(to)e(the)h(rep)q(ository)l(,)h(and)f(other)f(op)q(erations)h(suc)o(h)g
(as)g(viewing)h(the)f(mo)q(di\014cation)0 681 y(history)k(of)g(a)g
(\014le.)21 b(If)15 b(dev)o(elop)q(ers)i(are)e(connected)h(to)f(the)g
(rep)q(ository)g(b)o(y)g(a)g(net)o(w)o(ork,)f(particularly)i(a)f(slo)o
(w)g(or)0 744 y(\015aky)g(one,)g(the)g(most)f(e\016cien)o(t)i(w)o(a)o
(y)e(to)g(use)i(the)f(net)o(w)o(ork)f(is)h(with)h(the)f(CVS-sp)q
(eci\014c)i(proto)q(col)e(describ)q(ed)i(in)0 806 y(this)f(do)q(cumen)o
(t.)62 943 y(Dev)o(elop)q(ers,)g(using)g(the)g(mac)o(hine)g(on)f(whic)o
(h)h(they)g(store)f(their)g(w)o(orking)g(directory)l(,)h(run)g(the)f
(CVS)h Fe(clien)o(t)0 1005 y Ff(program.)37 b(T)l(o)21
b(p)q(erform)g(op)q(erations)h(whic)o(h)g(cannot)f(b)q(e)h(done)g(lo)q
(cally)l(,)i(it)e(connects)g(to)e(the)i(CVS)f Fe(serv)o(er)0
1067 y Ff(program,)15 b(whic)o(h)i(main)o(tains)f(the)g(rep)q(ository)l
(.)23 b(F)l(or)16 b(more)f(information)h(on)h(ho)o(w)e(to)h(connect)g
(see)g(Chapter)g(5)0 1130 y([Connection)g(and)f(Authen)o(tication],)g
(page)g(6.)62 1267 y(This)e(do)q(cumen)o(t)g(describ)q(es)h(the)e(CVS)h
(proto)q(col.)19 b(Unfortunately)l(,)13 b(it)f(do)q(es)h(not)f(y)o(et)g
(completely)i(do)q(cumen)o(t)0 1329 y(one)19 b(asp)q(ect)g(of)g(the)g
(proto)q(col|the)g(detailed)i(op)q(eration)e(of)g(eac)o(h)g(CVS)g
(command)g(and)g(option|and)h(one)0 1391 y(m)o(ust)g(lo)q(ok)g(at)g
(the)g(CVS)h(user)f(do)q(cumen)o(tation,)i(`)p Fd(cvs.texinfo)p
Ff(',)d(for)h(that)f(information.)35 b(The)21 b(proto)q(col)0
1453 y(is)d(non-proprietary)f(\(an)o(y)o(one)g(who)g(w)o(an)o(ts)f(to)h
(is)g(encouraged)h(to)f(implemen)o(t)h(it\))f(and)h(an)f(implemen)o
(tation,)0 1516 y(kno)o(wn)e(as)f(CVS,)h(is)g(a)o(v)m(ailable)i(under)e
(the)g(GNU)g(Public)i(License.)k(The)16 b(CVS)f(distribution,)h(con)o
(taining)g(this)0 1578 y(implemen)o(tation,)j(`)p Fd(cvs.texinfo)p
Ff(',)c(and)i(a)g(cop)o(y)g(\(p)q(ossibly)h(more)f(or)g(less)h(up)f(to)
g(date)g(than)g(what)f(y)o(ou)h(are)0 1640 y(reading)d(no)o(w\))e(of)h
(this)g(do)q(cumen)o(t,)h(`)p Fd(cvsclient.texi)p Ff(',)c(can)k(b)q(e)g
(found)f(at)f(the)i(usual)g(GNU)f(FTP)f(sites,)i(with)0
1703 y(a)h(\014lename)h(suc)o(h)g(as)f(`)p Fd(cvs-)p
Fe(v)o(ersion)p Fd(.tar.gz)p Ff('.)62 1840 y(This)i(is)g(v)o(ersion)g
(1.8.1)d(of)i(the)h(proto)q(col)f(sp)q(eci\014cation.)25
b(This)17 b(v)o(ersion)g(n)o(um)o(b)q(er)f(is)h(in)o(tended)h(only)f
(to)e(aid)0 1902 y(in)22 b(distinguishing)h(di\013eren)o(t)e(v)o
(ersions)g(of)g(this)g(sp)q(eci\014cation.)39 b(Although)21
b(the)g(sp)q(eci\014cation)i(is)e(curren)o(tly)0 1964
y(main)o(tained)16 b(in)g(conjunction)g(with)g(the)f(CVS)h(implemen)o
(tation,)g(and)f(carries)h(the)f(same)g(v)o(ersion)g(n)o(um)o(b)q(er,)h
(it)0 2026 y(also)d(in)o(tends)h(to)f(do)q(cumen)o(t)g(what)g(is)g(in)o
(v)o(olv)o(ed)h(with)g(in)o(terop)q(erating)g(with)f(other)g(implemen)o
(tations)h(\(suc)o(h)f(as)0 2089 y(other)e(v)o(ersions)g(of)f(CVS\);)h
(see)g(See)h(Section)g(6.7)e([Requiremen)o(ts],)h(page)g(17.)18
b(This)12 b(v)o(ersion)f(n)o(um)o(b)q(er)g(should)h(not)0
2151 y(b)q(e)h(used)g(b)o(y)f(clien)o(ts)h(or)e(serv)o(ers)h(to)g
(determine)h(what)e(v)m(arian)o(t)h(of)g(the)g(proto)q(col)g(to)g(sp)q
(eak;)h(they)f(should)h(instead)0 2213 y(use)21 b(the)g
Fd(valid-requests)e Ff(and)h Fd(Valid-responses)f Ff(mec)o(hanism)i
(\(see)g(Chapter)f(6)h([Proto)q(col],)f(page)h(7\),)0
2275 y(whic)o(h)16 b(is)g(more)f(\015exible.)p eop
%%Page: 3 3
3 2 bop 0 183 a Fg(2)41 b(Goals)37 370 y Fc(\017)30 b
Ff(Do)16 b(not)g(assume)g(an)o(y)g(access)h(to)e(the)i(rep)q(ository)f
(other)g(than)g(via)h(this)g(proto)q(col.)23 b(It)17
b(do)q(es)f(not)g(dep)q(end)90 432 y(on)f(NFS,)g(rdist,)g(etc.)37
507 y Fc(\017)30 b Ff(Pro)o(viding)18 b(a)f(reliable)i(transp)q(ort)d
(is)i(outside)g(this)g(proto)q(col.)25 b(It)18 b(is)f(exp)q(ected)i
(that)d(it)i(runs)f(o)o(v)o(er)g(TCP)l(,)90 569 y(UUCP)l(,)e(etc.)37
644 y Fc(\017)30 b Ff(Securit)o(y)25 b(and)f(authen)o(tication)g(are)g
(handled)h(outside)g(this)f(proto)q(col)g(\(but)f(see)i(b)q(elo)o(w)f
(ab)q(out)g(`)p Fd(cvs)90 706 y(kserver)p Ff('\).)37
781 y Fc(\017)30 b Ff(This)13 b(migh)o(t)g(b)q(e)h(a)e(\014rst)h(step)g
(to)o(w)o(ards)e(adding)j(transactions)e(to)g(CVS)h(\(i.e.)19
b(a)13 b(set)f(of)h(op)q(erations)g(is)g(either)90 843
y(executed)20 b(atomically)g(or)e(none)h(of)g(them)g(is)g(executed\),)h
(impro)o(ving)g(the)f(lo)q(c)o(king,)i(or)d(other)h(features.)90
906 y(The)f(curren)o(t)g(serv)o(er)g(implemen)o(tation)h(is)g(a)e(long)
i(w)o(a)o(y)e(from)g(b)q(eing)i(able)g(to)e(do)h(an)o(y)g(of)g(these)g
(things.)90 968 y(The)d(proto)q(col,)g(ho)o(w)o(ev)o(er,)f(is)i(not)f
(kno)o(wn)g(to)f(con)o(tain)i(an)o(y)e(defects)i(whic)o(h)g(w)o(ould)g
(preclude)h(them.)37 1043 y Fc(\017)30 b Ff(The)19 b(serv)o(er)f(nev)o
(er)h(has)g(to)f(ha)o(v)o(e)g(an)o(y)g(CVS)h(lo)q(c)o(ks)g(in)h(place)f
(while)h(it)f(is)g(w)o(aiting)g(for)f(comm)o(unication)90
1105 y(with)e(the)f(clien)o(t.)21 b(This)16 b(mak)o(es)e(things)i
(robust)f(in)h(the)f(face)g(of)g(\015aky)g(net)o(w)o(orks.)37
1180 y Fc(\017)30 b Ff(Data)12 b(is)h(transferred)f(in)h(large)g(c)o(h)
o(unks,)g(whic)o(h)h(is)f(necessary)g(for)f(go)q(o)q(d)h(p)q
(erformance.)19 b(In)13 b(fact,)f(curren)o(tly)90 1242
y(the)17 b(clien)o(t)g(uploads)h(all)f(the)f(data)g(\(without)g(w)o
(aiting)h(for)f(serv)o(er)g(resp)q(onses\),)h(and)f(then)h(w)o(aits)f
(for)g(one)90 1304 y(serv)o(er)e(resp)q(onse)i(\(whic)o(h)f(consists)g
(of)f(a)h(massiv)o(e)f(do)o(wnload)h(of)g(all)g(the)g(data\).)k(There)c
(ma)o(y)f(b)q(e)h(cases)g(in)90 1366 y(whic)o(h)h(it)g(is)h(b)q(etter)e
(to)g(ha)o(v)o(e)g(a)h(ric)o(her)g(in)o(terraction,)g(but)f(the)h(need)
h(for)e(the)g(serv)o(er)h(to)f(release)h(all)h(lo)q(c)o(ks)90
1429 y(whenev)o(er)f(it)f(w)o(aits)g(for)f(the)i(clien)o(t)g(mak)o(es)f
(it)g(complicated.)p eop
%%Page: 4 4
4 3 bop 0 183 a Fg(3)41 b(Notes)15 b(on)h(the)f(Curren)n(t)g(Implemen)n
(tation)62 370 y Ff(The)h(clien)o(t)h(is)f(built)h(in)f(to)f(the)h
(normal)f Fd(cvs)g Ff(program,)f(triggered)i(b)o(y)f(a)h
Fd(CVSROOT)e Ff(v)m(ariable)j(con)o(taining)f(a)0 432
y(colon,)f(for)g(example)h Fd(cygnus.com:/rel/cvsfiles)p
Ff(.)62 569 y(The)21 b(clien)o(t)g(stores)f(what)g(is)h(stored)e(in)j
(c)o(hec)o(k)o(ed-out)e(directories)h(\(including)i(`)p
Fd(CVS)p Ff('\).)34 b(The)20 b(w)o(a)o(y)g(these)0 632
y(are)15 b(stored)f(is)i(totally)f(compatible)h(with)f(standard)g(CVS.)
f(The)i(serv)o(er)e(requires)i(no)f(storage)e(other)i(than)g(the)0
694 y(rep)q(ository)l(,)g(whic)o(h)h(also)f(is)h(totally)f(compatible)h
(with)g(standard)f(CVS.)62 831 y(The)h(serv)o(er)e(is)i(started)f(b)o
(y)g Fd(cvs)f(server)p Ff(.)19 b(There)d(is)g(no)f(particularly)h(comp)
q(elling)i(reason)c(for)h(this)h(rather)0 893 y(than)f(making)g(it)h(a)
f(separate)f(program)g(whic)o(h)j(shares)e(a)f(lot)i(of)e(sources)i
(with)f(cvs.)62 1030 y(The)e(serv)o(er)f(can)h(also)g(b)q(e)g(started)f
(b)o(y)h Fd(cvs)h(kserver)p Ff(,)e(in)i(whic)o(h)f(case)g(it)g(do)q(es)
g(an)g(initial)h(Kerb)q(eros)f(authen-)0 1092 y(tication)j(on)f(stdin.)
20 b(If)c(the)f(authen)o(tication)h(succeeds,)g(it)f(subsequen)o(tly)i
(runs)e(iden)o(tically)j(to)c Fd(cvs)h(server)p Ff(.)62
1229 y(The)j(curren)o(t)f(serv)o(er)h(implemen)o(tation)g(can)g(use)g
(up)g(h)o(uge)f(amoun)o(ts)g(of)g(memory)g(when)h(transmitting)f(a)0
1292 y(lot)c(of)f(data)g(o)o(v)o(er)g(a)h(slo)o(w)f(link)i(\(i.e.)19
b(the)13 b(net)o(w)o(ork)f(is)h(slo)o(w)o(er)g(than)f(the)h(serv)o(er)f
(can)h(generate)g(the)g(data\).)18 b(There)0 1354 y(is)d(some)f(exp)q
(erimen)o(tal)i(co)q(de)f(\(see)f Fd(SERVER_FLOWCONTROL)e
Ff(in)j(options.h\))f(whic)o(h)h(should)h(help)g(signi\014can)o(tly)l
(.)p eop
%%Page: 5 5
5 4 bop 0 183 a Fg(4)41 b(Notes)15 b(on)h(the)f(Proto)r(col)62
370 y Ff(A)h(n)o(um)o(b)q(er)f(of)g(enhancemen)o(ts)h(are)f(p)q
(ossible:)37 507 y Fc(\017)30 b Ff(The)14 b Fd(Modified)e
Ff(request)i(could)h(b)q(e)f(sp)q(eeded)h(up)f(b)o(y)g(sending)h
(di\013s)f(rather)f(than)g(en)o(tire)h(\014les.)21 b(The)14
b(clien)o(t)90 569 y(w)o(ould)j(need)h(some)e(w)o(a)o(y)g(to)h(k)o(eep)
g(the)g(v)o(ersion)g(of)f(the)h(\014le)h(whic)o(h)g(w)o(as)e
(originally)i(c)o(hec)o(k)o(ed)g(out,)e(whic)o(h)90 632
y(w)o(ould)g(double)h(clien)o(t)h(disk)e(space)g(requiremen)o(ts)h(or)e
(require)i(co)q(ordination)g(with)f(editors)g(\(e.g.)21
b(ma)o(yb)q(e)90 694 y(it)f(could)h(use)f(emacs)g(n)o(um)o(b)q(ered)h
(bac)o(kups\).)34 b(This)20 b(w)o(ould)g(also)g(allo)o(w)g(lo)q(cal)h
(op)q(eration)f(of)g Fd(cvs)15 b(diff)90 756 y Ff(without)g(argumen)o
(ts.)37 831 y Fc(\017)30 b Ff(Ha)o(v)o(e)17 b(the)h(clien)o(t)h(k)o
(eep)f(a)g(cop)o(y)g(of)f(some)h(part)f(of)g(the)h(rep)q(ository)l(.)28
b(This)19 b(allo)o(ws)f(all)g(of)g Fd(cvs)d(diff)i Ff(and)90
893 y(large)h(parts)f(of)h Fd(cvs)d(update)i Ff(and)h
Fd(cvs)d(ci)i Ff(to)h(b)q(e)g(lo)q(cal.)30 b(The)18 b(lo)q(cal)h(cop)o
(y)f(could)h(b)q(e)g(made)f(consisten)o(t)90 955 y(with)13
b(the)f(master)g(cop)o(y)h(at)e(nigh)o(t)i(\(but)f(if)h(the)g(master)f
(cop)o(y)g(has)h(b)q(een)g(up)q(dated)h(since)f(the)g(latest)f(nigh)o
(tly)90 1018 y(re-sync,)j(then)h(it)f(w)o(ould)h(read)f(what)g(it)g
(needs)h(to)f(from)f(the)h(master\).)37 1092 y Fc(\017)30
b Ff(Pro)o(vide)15 b(encryption)i(using)f(k)o(erb)q(eros.)37
1167 y Fc(\017)30 b Ff(The)17 b(curren)o(t)f(pro)q(cedure)i(for)e
Fd(cvs)e(update)i Ff(is)h(highly)h(sub-optimal)g(if)f(there)f(are)g
(man)o(y)g(mo)q(di\014ed)i(\014les.)90 1229 y(One)e(p)q(ossible)i
(alternativ)o(e)d(w)o(ould)h(b)q(e)g(to)f(ha)o(v)o(e)g(the)h(clien)o(t)
h(send)f(a)f(\014rst)g(request)h(without)f(the)h(con)o(ten)o(ts)90
1292 y(of)i(ev)o(ery)f(mo)q(di\014ed)j(\014le,)f(then)g(ha)o(v)o(e)e
(the)h(serv)o(er)g(tell)h(it)f(what)g(\014les)h(it)f(needs.)29
b(Note)17 b(the)i(serv)o(er)e(needs)90 1354 y(to)g(do)g(the)g
(what-needs-to-b)q(e-up)q(dated)i(c)o(hec)o(k)f(t)o(wice)g(\(or)e
(more,)h(if)h(c)o(hanges)f(in)h(the)g(rep)q(ository)f(mean)90
1416 y(it)g(has)g(to)f(ask)g(the)h(clien)o(t)h(for)e(more)g(\014les\),)
h(b)q(ecause)h(it)f(can't)f(k)o(eep)h(lo)q(c)o(ks)g(op)q(en)h(while)g
(w)o(aiting)f(for)f(the)90 1478 y(net)o(w)o(ork.)i(P)o(erhaps)c(this)g
(whole)g(thing)g(is)h(irrelev)m(an)o(t)f(if)g(clien)o(t-side)j(rep)q
(ositories)d(are)f(implemen)o(ted,)j(and)90 1541 y(the)f(rcsmerge)g(is)
h(done)f(b)o(y)h(the)f(clien)o(t.)p eop
%%Page: 6 6
6 5 bop 0 121 a Fg(5)41 b(Ho)n(w)15 b(to)h(Connect)g(to)g(and)f(Authen)
n(ticate)f(Oneself)f(to)j(the)0 183 y(CVS)f(serv)n(er)62
370 y Ff(Connection)d(and)f(authen)o(tication)h(o)q(ccurs)f(b)q(efore)g
(the)g(CVS)g(proto)q(col)g(itself)h(is)f(started.)18
b(There)11 b(are)g(sev)o(eral)0 432 y(w)o(a)o(ys)j(to)h(connect.)0
582 y(rsh)179 b(If)18 b(the)f(clien)o(t)h(has)f(a)g(w)o(a)o(y)g(to)f
(execute)i(commands)f(on)g(the)h(serv)o(er,)f(and)g(pro)o(vide)h(input)
g(to)f(the)240 644 y(commands)i(and)g(output)f(from)g(them,)h(then)g
(it)g(can)g(connect)h(that)e(w)o(a)o(y)l(.)29 b(This)20
b(could)f(b)q(e)h(the)240 706 y(usual)13 b(rsh)g(\(p)q(ort)e(514\))h
(proto)q(col,)g(Kerb)q(eros)h(rsh,)g(SSH,)g(or)f(an)o(y)g(similar)h
(mec)o(hanism.)20 b(The)13 b(clien)o(t)240 769 y(ma)o(y)h(allo)o(w)h
(the)h(user)f(to)f(sp)q(ecify)i(the)f(name)g(of)g(the)g(serv)o(er)f
(program;)g(the)h(default)h(is)f Fd(cvs)p Ff(.)k(It)c(is)240
831 y(in)o(v)o(ok)o(ed)g(with)g(one)g(argumen)o(t,)f
Fd(server)p Ff(.)19 b(Once)d(it)f(in)o(v)o(ok)o(es)g(the)g(serv)o(er,)f
(the)h(clien)o(t)h(pro)q(ceeds)g(to)240 893 y(start)e(the)h(cvs)h
(proto)q(col.)0 980 y(kserv)o(er)99 b(The)23 b(k)o(erb)q(erized)g(serv)
o(er)f(listens)i(on)e(a)g(p)q(ort)g(\(in)h(the)f(curren)o(t)g(implemen)
o(tation,)j(b)o(y)e(ha)o(ving)240 1043 y(inetd)17 b(call)g
Fd(")p Ff(cvs)g(kserv)o(er)p Fd(")p Ff(\))e(whic)o(h)i(defaults)g(to)e
(1999.)22 b(The)16 b(clien)o(t)i(connects,)e(sends)h(the)f(usual)240
1105 y(k)o(erb)q(eros)d(authen)o(tication)h(information,)f(and)g(then)h
(starts)d(the)j(cvs)f(proto)q(col.)19 b(Note:)f(p)q(ort)13
b(1999)240 1167 y(is)j(o\016cially)h(registered)e(for)g(another)g(use,)
g(and)h(in)g(an)o(y)f(ev)o(en)o(t)g(one)h(cannot)f(register)g(more)g
(than)240 1229 y(one)c(p)q(ort)g(for)g(CVS,)g(so)f(the)i(k)o(erb)q
(erized)g(clien)o(t)h(and)e(serv)o(er)g(should)h(b)q(e)g(c)o(hanged)f
(to)g(use)g(p)q(ort)g(2401)240 1292 y(\(see)h(b)q(elo)o(w\),)h(and)g
(send)g(a)f(di\013eren)o(t)g(string)h(in)g(place)g(of)f(`)p
Fd(BEGIN)i(AUTH)h(REQUEST)p Ff(')c(to)g(iden)o(tify)j(the)240
1354 y(authen)o(tication)h(metho)q(d)f(in)h(use.)20 b(Ho)o(w)o(ev)o
(er,)12 b(no)q(one)j(has)f(y)o(et)f(gotten)h(around)g(to)f(implemen)o
(ting)240 1416 y(this.)0 1503 y(pserv)o(er)98 b(The)13
b(passw)o(ord)f(authen)o(ticated)h(serv)o(er)f(listens)i(on)e(a)g(p)q
(ort)h(\(in)g(the)f(curren)o(t)h(implemen)o(tation,)h(b)o(y)240
1566 y(ha)o(ving)d(inetd)h(call)h Fd(")p Ff(cvs)e(pserv)o(er)p
Fd(")p Ff(\))f(whic)o(h)i(defaults)g(to)e(2401)g(\(this)h(p)q(ort)g(is)
h(o\016cially)g(registered\).)240 1628 y(The)19 b(clien)o(t)g
(connects,)g(sends)g(the)f(string)h(`)p Fd(BEGIN)14 b(AUTH)g(REQUEST)p
Ff(',)k(a)g(linefeed,)i(the)f(cvs)f(ro)q(ot,)240 1690
y(a)e(linefeed,)i(the)e(username,)h(a)e(linefeed,)k(the)d(passw)o(ord)f
(trivially)j(enco)q(ded)g(\(see)e(scram)o(ble.c)g(in)240
1752 y(the)g(cvs)f(sources\),)h(a)f(linefeed,)i(the)f(string)g(`)p
Fd(END)e(AUTH)h(REQUEST)p Ff(',)f(and)i(a)f(linefeed.)23
b(The)16 b(serv)o(er)240 1815 y(resp)q(onds)f(with)f(`)p
Fd(I)h(LOVE)f(YOU)p Ff(')g(and)g(a)g(linefeed)i(if)f(the)f(authen)o
(tication)h(is)g(successful)g(or)f(`)p Fd(I)h(HATE)240
1877 y(YOU)p Ff(')g(and)i(a)f(linefeed)i(if)f(the)f(authen)o(tication)h
(fails.)24 b(After)16 b(receiving)i(`)p Fd(I)c(LOVE)h(YOU)p
Ff(',)g(the)i(clien)o(t)240 1939 y(pro)q(ceeds)j(with)g(the)g(cvs)g
(proto)q(col.)33 b(If)20 b(the)g(clien)o(t)h(wishes)f(to)f(merely)h
(authen)o(ticate)g(without)240 2001 y(starting)i(the)g(cvs)g(proto)q
(col,)i(the)e(pro)q(cedure)h(is)g(the)g(same,)g(except)g(`)p
Fd(BEGIN)14 b(AUTH)g(REQUEST)p Ff(')240 2064 y(is)j(replaced)g(with)g
(`)p Fd(BEGIN)d(VERIFICATION)f(REQUEST)p Ff(',)i(`)p
Fd(END)f(AUTH)h(REQUEST)p Ff(')g(is)h(replaced)i(with)240
2126 y(`)p Fd(END)c(VERIFICATION)g(REQUEST)p Ff(',)c(and)i(up)q(on)g
(receipt)g(of)f(`)p Fd(I)j(LOVE)h(YOU)p Ff(')10 b(the)i(connection)g
(is)g(closed)240 2188 y(rather)j(than)g(con)o(tin)o(uing.)p
eop
%%Page: 7 7
7 6 bop 0 183 a Fg(6)41 b(The)15 b(CVS)g(clien)n(t/serv)n(er)e(proto)r
(col)62 371 y Ff(In)j(the)f(follo)o(wing,)h(`)p Fd(\\n)p
Ff(')e(refers)h(to)g(a)f(linefeed)k(and)d(`)p Fd(\\t)p
Ff(')f(refers)h(to)g(a)g(horizon)o(tal)g(tab.)0 596 y
Fb(6.1)33 b(En)n(tries)16 b(Lines)62 733 y Ff(En)o(tries)g(lines)g(are)
f(transmitted)g(as:)120 860 y Fd(/)24 b Fe(name)i Fd(/)e
Fe(v)o(ersion)g Fd(/)g Fe(con\015ict)i Fd(/)d Fe(options)j
Fd(/)e Fe(tag)p 1060 860 14 2 v 15 w(or)p 1116 860 V
16 w(date)62 997 y(tag)p 129 997 V 16 w(or)p 186 997
V 16 w(date)17 b Ff(is)f(either)f(`)p Fd(T)p Ff(')g Fe(tag)j
Ff(or)c(`)p Fd(D)p Ff(')g Fe(date)k Ff(or)c(empt)o(y)l(.)20
b(If)15 b(it)h(is)f(follo)o(w)o(ed)g(b)o(y)g(a)g(slash,)g(an)o(ything)h
(after)e(the)0 1059 y(slash)i(shall)g(b)q(e)g(silen)o(tly)h(ignored.)62
1196 y Fe(v)o(ersion)h Ff(can)g(b)q(e)h(empt)o(y)l(,)f(or)f(start)g
(with)h(`)p Fd(0)p Ff(')f(or)g(`)p Fd(-)p Ff(',)g(for)g(no)h(user)g
(\014le,)h(new)f(user)g(\014le,)h(or)e(user)h(\014le)h(to)e(b)q(e)0
1259 y(remo)o(v)o(ed,)d(resp)q(ectiv)o(ely)l(.)62 1396
y Fe(con\015ict)p Ff(,)h(if)f(it)g(starts)e(with)i(`)p
Fd(+)p Ff(',)f(indicates)i(that)d(the)i(\014le)h(had)f(con\015icts)g
(in)g(it.)20 b(The)14 b(rest)f(of)g Fe(con\015ict)j Ff(is)e(`)p
Fd(=)p Ff(')e(if)0 1458 y(the)k(timestamp)f(matc)o(hes)h(the)g(\014le,)
g(or)f(an)o(ything)h(else)h(if)f(it)g(do)q(esn't.)22
b(If)16 b Fe(con\015ict)i Ff(do)q(es)e(not)f(start)g(with)h(a)f(`)p
Fd(+)p Ff(',)0 1520 y(it)g(is)h(silen)o(tly)h(ignored.)0
1746 y Fb(6.2)33 b(Mo)r(des)62 1883 y Ff(A)16 b(mo)q(de)f(is)h(an)o(y)f
(n)o(um)o(b)q(er)g(of)g(rep)q(etitions)h(of)120 2010
y Fe(mo)q(de-t)o(yp)q(e)27 b Fd(=)d Fe(data)62 2147 y
Ff(separated)15 b(b)o(y)g(`)p Fd(,)p Ff('.)62 2284 y
Fe(mo)q(de-t)o(yp)q(e)23 b Ff(is)d(an)f(iden)o(ti\014er)i(comp)q(osed)e
(of)g(alphan)o(umeric)i(c)o(haracters.)32 b(Curren)o(tly)19
b(sp)q(eci\014ed:)30 b(`)p Fd(u)p Ff(')19 b(for)0 2346
y(user,)k(`)p Fd(g)p Ff(')f(for)f(group,)i(`)p Fd(o)p
Ff(')e(for)g(other)h(\(see)g(b)q(elo)o(w)h(for)e(discussion)j(of)d
(whether)i(these)f(ha)o(v)o(e)f(their)i(POSIX)0 2408
y(meaning)16 b(or)f(are)f(more)h(lo)q(ose\).)20 b(Unrecognized)d(v)m
(alues)f(of)f Fe(mo)q(de-t)o(yp)q(e)j Ff(are)d(silen)o(tly)i(ignored.)
62 2545 y Fe(data)f Ff(consists)g(of)f(an)o(y)h(data)f(not)h(con)o
(taining)g(`)p Fd(,)p Ff(',)f(`)p Fd(\\0)p Ff(')g(or)g(`)p
Fd(\\n)p Ff('.)22 b(F)l(or)15 b(`)p Fd(u)p Ff(',)g(`)p
Fd(g)p Ff(',)f(and)j(`)p Fd(o)p Ff(')e(mo)q(de)h(t)o(yp)q(es,)g(data)0
2608 y(consists)e(of)g(alphan)o(umeric)i(c)o(haracters,)d(where)i(`)p
Fd(r)p Ff(')e(means)h(read,)g(`)p Fd(w)p Ff(')f(means)h(write,)h(`)p
Fd(x)p Ff(')e(means)h(execute,)h(and)0 2670 y(unrecognized)i(letters)e
(are)g(silen)o(tly)i(ignored.)p eop
%%Page: 8 8
8 7 bop 62 183 a Ff(The)11 b(t)o(w)o(o)e(most)g(ob)o(vious)h(w)o(a)o
(ys)f(in)i(whic)o(h)g(the)g(mo)q(de)f(matters)f(are:)17
b(\(1\))9 b(is)i(it)g(writeable?)20 b(This)10 b(is)h(used)g(b)o(y)f
(the)0 246 y(dev)o(elop)q(er)17 b(comm)o(unication)g(features,)f(and)g
(is)h(implemen)o(ted)h(ev)o(en)f(on)f(OS/2)g(\(and)g(could)h(b)q(e)g
(implemen)o(ted)0 308 y(on)e(DOS\),)g(whose)f(notion)i(of)e(mo)q(de)i
(is)f(limited)i(to)d(a)h(readonly)h(bit.)k(\(2\))14 b(is)i(it)f
(executable?)22 b(Unix)16 b(CVS)f(users)0 370 y(need)k(CVS)e(to)g
(store)g(this)i(setting)e(\(for)g(shell)i(scripts)f(and)g(the)g(lik)o
(e\).)28 b(The)18 b(curren)o(t)g(CVS)g(implemen)o(tation)0
432 y(on)f(unix)i(do)q(es)f(a)f(little)i(bit)f(more)f(than)h(just)f
(main)o(tain)h(these)g(t)o(w)o(o)e(settings,)i(but)f(it)h(do)q(esn't)g
(really)g(ha)o(v)o(e)f(a)0 495 y(nice)f(general)g(facilit)o(y)g(to)e
(store)g(or)h(v)o(ersion)g(con)o(trol)g(the)g(mo)q(de,)g(ev)o(en)g(on)g
(unix,)h(m)o(uc)o(h)f(less)g(across)g(op)q(erating)0
557 y(systems)i(with)g(div)o(erse)h(protection)f(features.)25
b(So)17 b(all)h(the)f(ins)g(and)h(outs)e(of)h(what)f(the)h(mo)q(de)h
(means)f(across)0 619 y(op)q(erating)j(systems)g(ha)o(v)o(en't)f
(really)i(b)q(een)g(w)o(ork)o(ed)e(out)h(\(e.g.)34 b(should)21
b(the)f(VMS)g(p)q(ort)g(use)g(A)o(CLs)g(to)f(get)0 681
y(POSIX)d(seman)o(tics)g(for)e(groups?\).)0 948 y Fb(6.3)33
b(Con)n(v)n(en)n(tions)16 b(regarding)g(transmission)f(of)g(\014le)h
(names)62 1090 y Ff(In)i(most)e(con)o(texts,)h(`)p Fd(/)p
Ff(')f(is)h(used)h(to)e(separate)h(directory)g(and)g(\014le)h(names)f
(in)h(\014lenames,)g(and)f(an)o(y)g(use)g(of)0 1152 y(other)12
b(con)o(v)o(en)o(tions)h(\(for)f(example,)h(that)f(the)h(user)g(migh)o
(t)f(t)o(yp)q(e)h(on)g(the)f(command)h(line\))h(is)f(con)o(v)o(erted)g
(to)f(that)0 1214 y(form.)19 b(The)c(only)g(exceptions)g(migh)o(t)g(b)q
(e)g(a)f(few)g(cases)h(in)g(whic)o(h)g(the)g(serv)o(er)f(pro)o(vides)h
(a)f(magic)h(co)q(okie)g(whic)o(h)0 1276 y(the)i(clien)o(t)g(then)g
(rep)q(eats)f(v)o(erbatim,)h(but)f(as)g(the)h(serv)o(er)f(has)g(not)g
(y)o(et)g(b)q(een)i(p)q(orted)e(b)q(ey)o(ond)h(unix,)h(the)e(t)o(w)o(o)
0 1339 y(rules)f(pro)o(vide)h(the)e(same)h(answ)o(er)f(\(and)g(what)h
(to)f(do)g(if)h(future)g(serv)o(er)f(p)q(orts)h(are)f(op)q(erating)h
(on)g(a)f(rep)q(ository)0 1401 y(lik)o(e)i(e:/fo)q(o)f(or)f(CVS)p
365 1401 14 2 v 17 w(R)o(OOT:[F)o(OO.BAR])h(has)g(not)g(b)q(een)h
(carefully)h(though)o(t)d(out\).)0 1667 y Fb(6.4)33 b(Requests)62
1809 y Ff(File)19 b(con)o(ten)o(ts)e(\(noted)g(b)q(elo)o(w)h(as)f
Fe(\014le)h(transmission)p Ff(\))g(can)f(b)q(e)h(sen)o(t)f(in)i(one)e
(of)g(t)o(w)o(o)f(forms.)26 b(The)18 b(simpler)0 1871
y(form)d(is)h(a)g(n)o(um)o(b)q(er)g(of)f(b)o(ytes,)g(follo)o(w)o(ed)i
(b)o(y)e(a)h(newline,)h(follo)o(w)o(ed)f(b)o(y)g(the)g(sp)q(eci\014ed)i
(n)o(um)o(b)q(er)e(of)f(b)o(ytes)h(of)f(\014le)0 1934
y(con)o(ten)o(ts.)j(These)12 b(are)f(the)g(en)o(tire)h(con)o(ten)o(ts)f
(of)f(the)i(sp)q(eci\014ed)h(\014le.)20 b(Second,)13
b(if)e(b)q(oth)h(clien)o(t)g(and)g(serv)o(er)f(supp)q(ort)0
1996 y(`)p Fd(gzip-file-contents)p Ff(',)21 b(a)h(`)p
Fd(z)p Ff(')g(ma)o(y)f(precede)j(the)f(length,)h(and)f(the)g(`\014le)g
(con)o(ten)o(ts')f(sen)o(t)g(are)g(actually)0 2058 y(compressed)16
b(with)f(`)p Fd(gzip)p Ff('.)k(The)c(length)h(sp)q(eci\014ed)h(is)f
(that)e(of)h(the)g(compressed)h(v)o(ersion)f(of)g(the)h(\014le.)62
2200 y(In)i(neither)f(case)g(are)f(the)h(\014le)h(con)o(ten)o(t)e
(follo)o(w)o(ed)h(b)o(y)f(an)o(y)h(additional)h(data.)23
b(The)17 b(transmission)g(of)g(a)f(\014le)0 2262 y(will)h(end)f(with)f
(a)g(newline)i(i\013)f(that)e(\014le)i(\(or)f(its)g(compressed)h
(form\))e(ends)h(with)h(a)f(newline.)0 2421 y Fd(Root)g
Fe(pathname)i Fd(\\n)240 2483 y Ff(Resp)q(onse)e(exp)q(ected:)20
b(no.)g(T)l(ell)15 b(the)f(serv)o(er)g(whic)o(h)g Fd(CVSROOT)f
Ff(to)g(use.)20 b Fe(pathname)c Ff(m)o(ust)e(already)240
2545 y(exist;)24 b(if)e(creating)f(a)g(new)h(ro)q(ot,)f(use)h(the)f
Fd(init)g Ff(request,)h(not)f Fd(Root)p Ff(.)37 b Fe(pathname)24
b Ff(do)q(es)d(not)240 2608 y(include)16 b(the)e(hostname)f(of)g(the)g
(serv)o(er,)h(ho)o(w)f(to)f(access)i(the)g(serv)o(er,)f(etc.;)g(b)o(y)h
(the)f(time)h(the)g(CVS)240 2670 y(proto)q(col)h(is)h(in)g(use,)f
(connection,)h(authen)o(tication,)f(etc.,)g(are)g(already)g(tak)o(en)g
(care)g(of.)p eop
%%Page: 9 9
9 8 bop 0 183 a Fd(Valid-responses)13 b Fe(request-list)k
Fd(\\n)240 246 y Ff(Resp)q(onse)g(exp)q(ected:)k(no.)g(T)l(ell)16
b(the)g(serv)o(er)f(what)g(resp)q(onses)h(the)f(clien)o(t)i(will)g
(accept.)k(request-)240 308 y(list)16 b(is)g(a)f(space)g(separated)g
(list)h(of)f(tok)o(ens.)0 423 y Fd(valid-requests)e(\\n)240
485 y Ff(Resp)q(onse)j(exp)q(ected:)21 b(y)o(es.)f(Ask)15
b(the)h(serv)o(er)e(to)h(send)h(bac)o(k)f(a)g Fd(Valid-requests)e
Ff(resp)q(onse.)0 600 y Fd(Repository)h Fe(rep)q(ository)19
b Fd(\\n)240 662 y Ff(Resp)q(onse)j(exp)q(ected:)34 b(no.)k(T)l(ell)23
b(the)e(serv)o(er)g(what)g(rep)q(ository)g(to)g(use.)38
b(This)22 b(should)g(b)q(e)g(a)240 725 y(directory)c(name)h(from)e(a)h
(previous)h(serv)o(er)f(resp)q(onse.)29 b(Note)18 b(that)f(this)i(b)q
(oth)f(giv)o(es)h(a)e(default)240 787 y(for)c Fd(Entry)29
b Ff(and)14 b Fd(Modified)28 b Ff(and)14 b(also)g(for)f
Fd(ci)h Ff(and)g(the)g(other)g(commands;)f(normal)h(usage)g(is)h(to)240
849 y(send)h(a)f Fd(Repository)29 b Ff(for)14 b(eac)o(h)h(directory)h
(in)g(whic)o(h)g(there)f(will)i(b)q(e)f(an)f Fd(Entry)30
b Ff(or)14 b Fd(Modified)g Ff(,)240 912 y(and)h(then)h(a)f(\014nal)h
Fd(Repository)29 b Ff(for)14 b(the)i(original)g(directory)l(,)f(then)h
(the)f(command.)0 1027 y Fd(Directory)f Fe(lo)q(cal-directory)21
b Fd(\\n)240 1089 y Ff(Additional)g(data:)26 b Fe(rep)q(ository)c
Fd(\\)p Ff(n.)31 b(This)19 b(is)h(lik)o(e)f Fd(Repository)p
Ff(,)f(but)h(the)g(lo)q(cal)h(name)f(of)f(the)240 1151
y(directory)d(ma)o(y)e(di\013er)i(from)e(the)i(rep)q(ository)f(name.)19
b(If)c(the)f(clien)o(t)i(uses)e(this)h(request,)f(it)h(a\013ects)240
1213 y(the)21 b(w)o(a)o(y)e(the)h(serv)o(er)g(returns)h(pathnames;)h
(see)f(Section)g(6.5)f([Resp)q(onses],)h(page)g(13.)35
b Fe(lo)q(cal-)240 1276 y(directory)21 b Ff(is)c(relativ)o(e)g(to)f
(the)h(top)f(lev)o(el)i(at)e(whic)o(h)h(the)g(command)g(is)g(o)q
(ccurring)g(\(i.e.)24 b(the)17 b(last)240 1338 y Fd(Directory)d
Ff(or)h Fd(Repository)e Ff(whic)o(h)j(is)g(sen)o(t)f(b)q(efore)h(the)f
(command\).)0 1453 y Fd(Max-dotdot)f Fe(lev)o(el)k Fd(\\n)240
1515 y Ff(T)l(ell)k(the)f(serv)o(er)g(that)f Fe(lev)o(el)k
Ff(lev)o(els)e(of)e(directories)i(ab)q(o)o(v)o(e)f(the)f(directory)i
(whic)o(h)f Fd(Directory)240 1578 y Ff(requests)16 b(are)g(relativ)o(e)
h(to)f(will)i(b)q(e)f(needed.)24 b(F)l(or)16 b(example,)h(if)f(the)h
(clien)o(t)g(is)g(planning)h(to)e(use)g(a)240 1640 y
Fd(Directory)d Ff(request)h(for)g(`)p Fd(../../foo)p
Ff(',)e(it)j(m)o(ust)f(send)h(a)f Fd(Max-dotdot)f Ff(request)h(with)h
(a)f Fe(lev)o(el)j Ff(of)240 1702 y(at)e(least)g(2.)k
Fd(Max-dotdot)14 b Ff(m)o(ust)h(b)q(e)h(sen)o(t)f(b)q(efore)g(the)g
(\014rst)g Fd(Directory)f Ff(request.)0 1817 y Fd(Static-directory)f
(\\n)240 1879 y Ff(Resp)q(onse)j(exp)q(ected:)21 b(no.)f(T)l(ell)c(the)
f(serv)o(er)g(that)f(the)h(directory)h(most)e(recen)o(tly)h(sp)q
(eci\014ed)j(with)240 1942 y Fd(Repository)11 b Ff(or)h
Fd(Directory)g Ff(should)h(not)f(ha)o(v)o(e)h(additional)h(\014les)f(c)
o(hec)o(k)o(ed)g(out)f(unless)i(explicitly)240 2004 y(requested.)22
b(The)15 b(clien)o(t)i(sends)g(this)f(if)g(the)f Fd(Entries.Static)f
Ff(\015ag)h(is)h(set,)g(whic)o(h)g(is)g(con)o(trolled)240
2066 y(b)o(y)f(the)g Fd(Set-static-directory)e Ff(and)i
Fd(Clear-static-directory)d Ff(resp)q(onses.)0 2181 y
Fd(Sticky)i Fe(tagsp)q(ec)k Fd(\\n)240 2244 y Ff(Resp)q(onse)e(exp)q
(ected:)21 b(no.)f(T)l(ell)c(the)f(serv)o(er)g(that)f(the)h(directory)h
(most)e(recen)o(tly)h(sp)q(eci\014ed)j(with)240 2306
y Fd(Repository)13 b Ff(has)h(a)g(stic)o(ky)g(tag)g(or)f(date)h
Fe(tagsp)q(ec)p Ff(.)20 b(The)14 b(\014rst)g(c)o(haracter)g(of)g
Fe(tagsp)q(ec)j Ff(is)d(`)p Fd(T)p Ff(')g(for)f(a)240
2368 y(tag,)h(or)h(`)p Fd(D)p Ff(')f(for)g(a)h(date.)20
b(The)15 b(remainder)h(of)f Fe(tagsp)q(ec)j Ff(con)o(tains)d(the)h
(actual)f(tag)f(or)h(date.)0 2483 y Fd(Checkin-prog)f
Fe(program)g Fd(\\n)240 2545 y Ff(Resp)q(onse)24 b(exp)q(ected:)35
b(no.)42 b(T)l(ell)24 b(the)e(serv)o(er)g(that)g(the)g(directory)h
(most)f(recen)o(tly)h(sp)q(eci\014ed)240 2608 y(with)d
Fd(Directory)d Ff(has)j(a)e(c)o(hec)o(kin)j(program)d
Fe(program)p Ff(.)31 b(Suc)o(h)19 b(a)g(program)f(w)o(ould)i(ha)o(v)o
(e)f(b)q(een)240 2670 y(previously)e(set)e(with)g(the)g
Fd(Set-checkin-prog)e Ff(resp)q(onse.)p eop
%%Page: 10 10
10 9 bop 0 183 a Fd(Update-prog)14 b Fe(program)g Fd(\\n)240
246 y Ff(Resp)q(onse)24 b(exp)q(ected:)35 b(no.)42 b(T)l(ell)24
b(the)e(serv)o(er)g(that)g(the)g(directory)h(most)f(recen)o(tly)h(sp)q
(eci\014ed)240 308 y(with)18 b Fd(Directory)f Ff(has)h(an)g(up)q(date)g
(program)f Fe(program)p Ff(.)27 b(Suc)o(h)19 b(a)e(program)g(w)o(ould)h
(ha)o(v)o(e)g(b)q(een)240 370 y(previously)f(set)e(with)g(the)g
Fd(Set-update-prog)e Ff(resp)q(onse.)0 453 y Fd(Entry)h
Fe(en)o(try-line)20 b Fd(\\n)240 515 y Ff(Resp)q(onse)e(exp)q(ected:)23
b(no.)h(T)l(ell)17 b(the)g(serv)o(er)f(what)g(v)o(ersion)h(of)f(a)g
(\014le)h(is)g(on)f(the)h(lo)q(cal)g(mac)o(hine.)240
577 y(The)d(name)h(in)g Fe(en)o(try-line)j Ff(is)d(a)f(name)g(relativ)o
(e)h(to)e(the)i(directory)f(most)f(recen)o(tly)i(sp)q(eci\014ed)i(with)
240 639 y Fd(Repository)p Ff(.)k(If)16 b(the)g(user)g(is)h(op)q
(erating)f(on)g(only)g(some)g(\014les)h(in)g(a)f(directory)l(,)g
Fd(Entry)f Ff(requests)240 702 y(for)j(only)g(those)g(\014les)i(need)f
(b)q(e)g(included.)31 b(If)19 b(an)f Fd(Entry)f Ff(request)i(is)f(sen)o
(t)g(without)g Fd(Modified)p Ff(,)240 764 y Fd(Unchanged)p
Ff(,)d(or)i Fd(Lost)f Ff(for)g(that)g(\014le)i(the)f(meaning)g(dep)q
(ends)h(on)f(whether)g Fd(UseUnchanged)e Ff(has)240 826
y(b)q(een)h(sen)o(t;)f(if)h(it)f(has)g(b)q(een)h(it)g(means)f(the)g
(\014le)i(is)e(lost,)g(if)h(not)e(it)i(means)f(the)g(\014le)i(is)e(unc)
o(hanged.)0 909 y Fd(Modified)f Fe(\014lename)19 b Fd(\\n)240
971 y Ff(Resp)q(onse)e(exp)q(ected:)k(no.)f(Additional)d(data:)j(mo)q
(de,)15 b Fd(\\)p Ff(n,)g(\014le)i(transmission.)k(Send)16
b(the)f(serv)o(er)240 1033 y(a)i(cop)o(y)h(of)f(one)h(lo)q(cally)i(mo)q
(di\014ed)f(\014le.)28 b Fe(\014lename)22 b Ff(is)c(relativ)o(e)g(to)f
(the)h(most)f(recen)o(t)h(rep)q(ository)240 1095 y(sen)o(t)e(with)h
Fd(Repository)p Ff(.)23 b(If)17 b(the)g(user)g(is)g(op)q(erating)g(on)f
(only)i(some)e(\014les)h(in)h(a)e(directory)l(,)h(only)240
1158 y(those)i(\014les)h(need)g(to)f(b)q(e)h(included.)34
b(This)20 b(can)g(also)f(b)q(e)h(sen)o(t)f(without)g
Fd(Entry)p Ff(,)g(if)h(there)f(is)h(no)240 1220 y(en)o(try)15
b(for)f(the)i(\014le.)0 1302 y Fd(Lost)f Fe(\014lename)j
Fd(\\n)240 1365 y Ff(Resp)q(onse)h(exp)q(ected:)28 b(no.)g(T)l(ell)20
b(the)e(serv)o(er)g(that)g Fe(\014lename)k Ff(no)c(longer)g(exists.)30
b(The)18 b(name)g(is)240 1427 y(relativ)o(e)d(to)f(the)h(most)f(recen)o
(t)h(rep)q(ository)f(sen)o(t)h(with)g Fd(Repository)p
Ff(.)j(This)d(is)g(used)h(for)e(an)o(y)g(case)240 1489
y(in)j(whic)o(h)h Fd(Entry)e Ff(is)h(b)q(eing)h(sen)o(t)e(but)h(the)g
(\014le)g(no)g(longer)g(exists.)24 b(If)17 b(the)g(clien)o(t)h(has)e
(issued)i(the)240 1551 y Fd(UseUnchanged)c Ff(request,)g(then)i(this)g
(request)f(is)g(not)g(used.)0 1634 y Fd(Unchanged)f Fe(\014lename)19
b Fd(\\n)240 1696 y Ff(Resp)q(onse)i(exp)q(ected:)30
b(no.)j(T)l(ell)21 b(the)f(serv)o(er)f(that)g Fe(\014lename)24
b Ff(has)19 b(not)g(b)q(een)i(mo)q(di\014ed)g(in)g(the)240
1758 y(c)o(hec)o(k)o(ed)e(out)g(directory)l(.)31 b(The)19
b(name)g(is)g(relativ)o(e)g(to)g(the)f(most)g(recen)o(t)h(rep)q
(ository)g(sen)o(t)g(with)240 1821 y Fd(Repository)p
Ff(.)f(This)e(request)f(can)h(only)g(b)q(e)f(issued)i(if)e
Fd(UseUnchanged)f Ff(has)h(b)q(een)h(sen)o(t.)0 1903
y Fd(UseUnchanged)e(\\n)240 1965 y Ff(Resp)q(onse)19
b(exp)q(ected:)27 b(no.)h(T)l(ell)20 b(the)e(serv)o(er)g(that)f(the)h
(clien)o(t)i(will)f(b)q(e)g(indicating)h(unmo)q(di\014ed)240
2028 y(\014les)f(with)g Fd(Unchanged)p Ff(,)e(and)i(that)f(\014les)h
(for)f(whic)o(h)h(no)f(information)h(is)f(sen)o(t)g(are)g(nonexisten)o
(t)240 2090 y(on)c(the)g(clien)o(t)i(side,)f(not)e(unc)o(hanged.)21
b(This)14 b(is)h(necessary)f(for)g(correct)f(b)q(eha)o(vior)i(since)g
(only)g(the)240 2152 y(serv)o(er)g(kno)o(ws)f(what)h(p)q(ossible)i
(\014les)f(ma)o(y)f(exist,)g(and)g(th)o(us)g(what)g(\014les)h(are)f
(nonexisten)o(t.)0 2235 y Fd(Notify)f Fe(\014lename)19
b Fd(\\n)240 2297 y Ff(T)l(ell)e(the)g(serv)o(er)e(that)h(a)f
Fd(edit)h Ff(or)f Fd(unedit)g Ff(command)h(has)g(tak)o(en)g(place.)23
b(The)16 b(serv)o(er)g(needs)h(to)240 2359 y(send)g(a)g
Fd(Notified)e Ff(resp)q(onse,)j(but)e(suc)o(h)i(resp)q(onse)f(is)g
(deferred)g(un)o(til)h(the)f(next)g(time)g(that)f(the)240
2421 y(serv)o(er)f(is)h(sending)g(resp)q(onses.)k(Resp)q(onse)d(exp)q
(ected:)k(no.)e(Additional)e(data:)360 2483 y Fe(noti\014cation-t)o(yp)
q(e)27 b Fd(\\t)d Fe(time)j Fd(\\t)c Fe(clien)o(thost)j
Fd(\\t)360 2535 y Fe(w)o(orking-dir)i Fd(\\t)23 b Fe(w)o(atc)o(hes)i
Fd(\\n)240 2608 y Ff(where)18 b Fe(noti\014cation-t)o(yp)q(e)j
Ff(is)d(`)p Fd(E)p Ff(')e(for)h(edit)h(or)f(`)p Fd(U)p
Ff(')g(for)g(unedit,)i Fe(time)h Ff(is)e(the)g(time)g(at)f(whic)o(h)h
(the)240 2670 y(edit)c(or)e(unedit)j(to)q(ok)d(place,)i
Fe(clien)o(thost)h Ff(is)f(the)f(name)g(of)g(the)g(host)f(on)h(whic)o
(h)h(the)f(edit)h(or)f(unedit)p eop
%%Page: 11 11
11 10 bop 240 183 a Ff(to)q(ok)17 b(place,)h(and)f Fe(w)o(orking-dir)k
Ff(is)d(the)f(pathname)g(of)g(the)g(w)o(orking)g(directory)h(where)f
(the)g(edit)240 246 y(or)e(unedit)i(to)q(ok)e(place.)21
b Fe(w)o(atc)o(hes)c Ff(are)e(the)h(temp)q(orary)f(w)o(atc)o(hes)f(to)h
(set;)g(if)h(it)g(is)g(follo)o(w)o(ed)g(b)o(y)f Fd(\\)p
Ff(t)240 308 y(then)h(the)f(tab)g(and)g(the)g(rest)g(of)g(the)g(line)i
(are)e(ignored.)0 393 y Fd(Questionable)f Fe(\014lename)k
Fd(\\n)240 455 y Ff(Resp)q(onse)c(exp)q(ected:)20 b(no.)f(Additional)c
(data:)j(no.)h(T)l(ell)c(the)e(serv)o(er)f(to)g(c)o(hec)o(k)i(whether)f
Fe(\014lename)240 517 y Ff(should)24 b(b)q(e)f(ignored,)i(and)e(if)g
(not,)h(next)e(time)h(the)g(serv)o(er)f(sends)i(resp)q(onses,)g(send)g
(\(in)f(a)f Fd(M)240 580 y Ff(resp)q(onse\))15 b(`)p
Fd(?)p Ff(')g(follo)o(w)o(ed)g(b)o(y)g(the)h(directory)f(and)g
(\014lename.)0 665 y Fd(Case)g(\\n)81 b Ff(T)l(ell)22
b(the)e(serv)o(er)g(that)f(\014lenames)j(should)f(b)q(e)g(matc)o(hed)f
(against)g(ignore)g(patterns)g(in)h(a)f(case-)240 727
y(insensitiv)o(e)e(fashion.)24 b(Note)16 b(that)g(this)h(do)q(es)g(not)
f(apply)h(to)f(other)g(comparisons|for)g(example)240
789 y(the)i(\014lenames)g(giv)o(en)h(in)f Fd(Entry)f
Ff(and)h Fd(Modified)e Ff(requests)i(for)f(the)h(same)f(\014le)i(m)o
(ust)e(matc)o(h)g(in)240 852 y(case)e(regardless)h(of)e(whether)i(the)f
Fd(Case)g Ff(request)g(is)h(sen)o(t.)0 937 y Fd(Argument)e
Fe(text)i Fd(\\n)240 999 y Ff(Resp)q(onse)23 b(exp)q(ected:)34
b(no.)39 b(Sa)o(v)o(e)21 b(argumen)o(t)g(for)g(use)h(in)g(a)g
(subsequen)o(t)g(command.)39 b(Argu-)240 1061 y(men)o(ts)14
b(accum)o(ulate)i(un)o(til)f(an)g(argumen)o(t-using)g(command)f(is)i
(giv)o(en,)f(at)f(whic)o(h)h(p)q(oin)o(t)g(they)g(are)240
1124 y(forgotten.)0 1209 y Fd(Argumentx)f Fe(text)i Fd(\\n)240
1271 y Ff(Resp)q(onse)k(exp)q(ected:)28 b(no.)i(App)q(end)20
b Fd(\\)p Ff(n)e(follo)o(w)o(ed)h(b)o(y)g(text)f(to)g(the)g(curren)o(t)
h(argumen)o(t)f(b)q(eing)240 1333 y(sa)o(v)o(ed.)0 1418
y Fd(Global_option)13 b Fe(option)j Fd(\\n)240 1481 y
Ff(T)l(ransmit)c(one)h(of)e(the)i(global)g(options)f(`)p
Fd(-q)p Ff(',)f(`)p Fd(-Q)p Ff(',)h(`)p Fd(-l)p Ff(',)f(`)p
Fd(-t)p Ff(',)h(`)p Fd(-r)p Ff(',)f(or)h(`)p Fd(-n)p
Ff('.)18 b Fe(option)12 b Ff(m)o(ust)g(b)q(e)h(one)240
1543 y(of)h(those)g(strings,)h(no)f(v)m(ariations)h(\(suc)o(h)g(as)f
(com)o(bining)i(of)e(options\))g(are)h(allo)o(w)o(ed.)20
b(F)l(or)14 b(graceful)240 1605 y(handling)g(of)e Fd(valid-requests)p
Ff(,)f(it)h(is)h(probably)g(b)q(etter)g(to)e(mak)o(e)h(new)h(global)g
(options)f(separate)240 1667 y(requests,)j(rather)f(than)h(trying)h(to)
e(add)i(them)f(to)f(this)i(request.)0 1753 y Fd(Set)f
Fe(v)m(ariable)s Fd(=)p Fe(v)m(alue)20 b Fd(\\n)240 1815
y Ff(Set)15 b(a)g(user)h(v)m(ariable)g Fe(v)m(ariable)j
Ff(to)c Fe(v)m(alue)p Ff(.)0 1900 y Fd(expand-modules)e(\\n)240
1962 y Ff(Resp)q(onse)20 b(exp)q(ected:)27 b(y)o(es.)j(Expand)18
b(the)h(mo)q(dules)g(whic)o(h)h(are)e(sp)q(eci\014ed)i(in)g(the)e
(argumen)o(ts.)240 2024 y(Returns)h(the)g(data)e(in)j
Fd(Module-expansion)c Ff(resp)q(onses.)30 b(Note)18 b(that)g(the)g
(serv)o(er)g(can)h(assume)240 2087 y(that)d(this)h(is)f(c)o(hec)o(k)o
(out)g(or)g(exp)q(ort,)h(not)f(rtag)f(or)h(rdi\013;)g(the)h(latter)f
(do)g(not)g(access)h(the)f(w)o(orking)240 2149 y(directory)f(and)h(th)o
(us)f(ha)o(v)o(e)g(no)g(need)h(to)e(expand)i(mo)q(dules)g(on)g(the)f
(clien)o(t)h(side.)0 2234 y Fd(co)f(\\n)0 2296 y(ci)g(\\n)0
2359 y(diff)g(\\n)0 2421 y(tag)g(\\n)0 2483 y(status)f(\\n)0
2545 y(log)h(\\n)0 2608 y(add)g(\\n)0 2670 y(remove)f(\\n)p
eop
%%Page: 12 12
12 11 bop 0 183 a Fd(rdiff)14 b(\\n)0 246 y(rtag)h(\\n)0
308 y(admin)f(\\n)0 370 y(export)g(\\n)0 432 y(history)g(\\n)0
495 y(watchers)g(\\n)0 557 y(editors)g(\\n)0 619 y(annotate)g(\\n)240
681 y Ff(Resp)q(onse)e(exp)q(ected:)18 b(y)o(es.)g(Actually)12
b(do)e(a)h(cvs)f(command.)18 b(This)11 b(uses)g(an)o(y)f(previous)h
Fd(Argument)p Ff(,)240 744 y Fd(Repository)p Ff(,)21
b Fd(Entry)p Ff(,)g Fd(Modified)p Ff(,)h(or)e Fd(Lost)h
Ff(requests,)h(if)g(they)f(ha)o(v)o(e)g(b)q(een)h(sen)o(t.)38
b(The)21 b(last)240 806 y Fd(Repository)g Ff(sen)o(t)h(sp)q(eci\014es)h
(the)g(w)o(orking)e(directory)i(at)e(the)h(time)h(of)e(the)h(op)q
(eration.)41 b(No)240 868 y(pro)o(vision)21 b(is)g(made)f(for)f(an)o(y)
h(input)i(from)d(the)h(user.)36 b(This)20 b(means)h(that)e
Fd(ci)h Ff(m)o(ust)g(use)g(a)g Fd(-m)240 930 y Ff(argumen)o(t)14
b(if)i(it)g(w)o(an)o(ts)e(to)g(sp)q(ecify)j(a)e(log)g(message.)0
1016 y Fd(init)g Fe(ro)q(ot-name)i Fd(\\n)240 1078 y
Ff(Resp)q(onse)e(exp)q(ected:)21 b(y)o(es.)e(If)14 b(it)g(do)q(esn't)g
(already)g(exist,)g(create)g(a)g Fa(cvs)f Ff(rep)q(ository)h
Fe(ro)q(ot-name)p Ff(.)240 1140 y(The)h Fd(Root)g Ff(request)g(need)h
(not)f(ha)o(v)o(e)g(b)q(een)h(previously)h(sen)o(t.)0
1225 y Fd(update)d(\\n)34 b Ff(Resp)q(onse)17 b(exp)q(ected:)k(y)o(es.)
f(Actually)d(do)e(a)g Fd(cvs)g(update)f Ff(command.)21
b(This)16 b(uses)f(an)o(y)g(previous)240 1287 y Fd(Argument)p
Ff(,)k Fd(Repository)p Ff(,)g Fd(Entry)p Ff(,)h Fd(Modified)p
Ff(,)g(or)f Fd(Lost)g Ff(requests,)h(if)h(they)e(ha)o(v)o(e)h(b)q(een)h
(sen)o(t.)240 1350 y(The)15 b(last)g Fd(Repository)e
Ff(sen)o(t)h(sp)q(eci\014es)j(the)e(w)o(orking)f(directory)h(at)f(the)h
(time)g(of)f(the)h(op)q(eration.)240 1412 y(The)i Fd(-I)f
Ff(option)h(is)g(not)g(used{\014les)h(whic)o(h)f(the)g(clien)o(t)h(can)
f(decide)h(whether)f(to)f(ignore)h(are)f(not)240 1474
y(men)o(tioned)g(and)f(the)h(clien)o(t)g(sends)g(the)f
Fd(Questionable)f Ff(request)h(for)f(others.)0 1582 y
Fd(import)g(\\n)34 b Ff(Resp)q(onse)17 b(exp)q(ected:)k(y)o(es.)f
(Actually)d(do)e(a)g Fd(cvs)g(import)f Ff(command.)21
b(This)16 b(uses)f(an)o(y)g(previous)240 1645 y Fd(Argument)p
Ff(,)k Fd(Repository)p Ff(,)g Fd(Entry)p Ff(,)h Fd(Modified)p
Ff(,)g(or)f Fd(Lost)g Ff(requests,)h(if)h(they)e(ha)o(v)o(e)h(b)q(een)h
(sen)o(t.)240 1707 y(The)15 b(last)g Fd(Repository)e
Ff(sen)o(t)h(sp)q(eci\014es)j(the)e(w)o(orking)f(directory)h(at)f(the)h
(time)g(of)f(the)h(op)q(eration.)240 1769 y(The)k(\014les)g(to)f(b)q(e)
h(imp)q(orted)g(are)f(sen)o(t)g(in)h Fd(Modified)f Ff(requests)g
(\(\014les)h(whic)o(h)g(the)g(clien)o(t)h(kno)o(ws)240
1831 y(should)c(b)q(e)f(ignored)h(are)e(not)h(sen)o(t;)f(the)h(serv)o
(er)f(m)o(ust)h(still)h(pro)q(cess)f(the)g(CVSR)o(OOT/cvsignore)240
1894 y(\014le)h(unless)h(-I)e(!)g(is)h(sen)o(t\).)j(A)c(log)h(message)e
(m)o(ust)h(ha)o(v)o(e)g(b)q(een)h(sp)q(eci\014ed)h(with)f(a)f
Fd(-m)g Ff(argumen)o(t.)0 2002 y Fd(watch-on)f(\\n)0
2064 y(watch-off)g(\\n)0 2126 y(watch-add)g(\\n)0 2188
y(watch-remove)g(\\n)240 2251 y Ff(Resp)q(onse)22 b(exp)q(ected:)31
b(y)o(es.)36 b(Actually)21 b(do)g(the)f Fd(cvs)15 b(watch)g(on)p
Ff(,)21 b Fd(cvs)15 b(watch)f(off)p Ff(,)21 b Fd(cvs)15
b(watch)240 2313 y(add)p Ff(,)d(and)g Fd(cvs)i(watch)h(remove)c
Ff(commands,)h(resp)q(ectiv)o(ely)l(.)20 b(This)13 b(uses)f(an)o(y)f
(previous)h Fd(Argument)p Ff(,)240 2375 y Fd(Repository)p
Ff(,)21 b Fd(Entry)p Ff(,)g Fd(Modified)p Ff(,)h(or)e
Fd(Lost)h Ff(requests,)h(if)g(they)f(ha)o(v)o(e)g(b)q(een)h(sen)o(t.)38
b(The)21 b(last)240 2437 y Fd(Repository)14 b Ff(sen)o(t)h(sp)q
(eci\014es)i(the)e(w)o(orking)g(directory)g(at)g(the)g(time)h(of)e(the)
i(op)q(eration.)0 2545 y Fd(release)e(\\n)240 2608 y
Ff(Resp)q(onse)23 b(exp)q(ected:)34 b(y)o(es.)40 b(Note)22
b(that)f(a)g Fd(cvs)15 b(release)21 b Ff(command)h(has)g(tak)o(en)f
(place)i(and)240 2670 y(up)q(date)16 b(the)f(history)g(\014le)h
(accordingly)l(.)p eop
%%Page: 13 13
13 12 bop 0 183 a Fd(noop)15 b(\\n)81 b Ff(Resp)q(onse)18
b(exp)q(ected:)25 b(y)o(es.)h(This)17 b(request)h(is)f(a)g(n)o(ull)i
(command)e(in)g(the)h(sense)f(that)g(it)g(do)q(esn't)240
246 y(do)e(an)o(ything,)g(but)g(merely)h(\(as)f(with)g(an)o(y)g(other)g
(requests)g(exp)q(ecting)h(a)f(resp)q(onse\))g(sends)h(bac)o(k)240
308 y(an)o(y)f(resp)q(onses)h(p)q(ertaining)g(to)f(p)q(ending)i
(errors,)d(p)q(ending)j Fd(Notified)d Ff(resp)q(onses,)h(etc.)0
397 y Fd(update-patches)e(\\n)240 459 y Ff(This)19 b(request)g(do)q(es)
g(not)f(actually)h(do)g(an)o(ything.)30 b(It)19 b(is)g(used)g(as)f(a)g
(signal)i(that)e(the)g(serv)o(er)g(is)240 521 y(able)f(to)e(generate)h
(patc)o(hes)g(when)h(giv)o(en)g(an)f Fd(update)f Ff(request.)23
b(The)16 b(clien)o(t)h(m)o(ust)f(issue)h(the)f Fd(-u)240
583 y Ff(argumen)o(t)e(to)h Fd(update)f Ff(in)i(order)f(to)g(receiv)o
(e)h(patc)o(hes.)0 672 y Fd(gzip-file-contents)d Fe(lev)o(el)18
b Fd(\\n)240 734 y Ff(This)k(request)f(asks)g(the)g(serv)o(er)g(to)g
(\014lter)g(\014les)h(it)g(sends)g(to)e(the)i(clien)o(t)g(through)f
(the)g(`)p Fd(gzip)p Ff(')240 797 y(program,)g(using)h(the)f(sp)q
(eci\014ed)i(lev)o(el)f(of)f(compression.)38 b(If)21
b(this)h(request)f(is)g(not)g(made,)h(the)240 859 y(serv)o(er)15
b(m)o(ust)f(not)h(do)g(an)o(y)g(compression.)240 934
y(This)i(is)g(only)g(a)g(hin)o(t)g(to)f(the)g(serv)o(er.)24
b(It)16 b(ma)o(y)g(still)i(decide)h(\(for)c(example,)j(in)f(the)g(case)
f(of)g(v)o(ery)240 997 y(small)i(\014les,)g(or)e(\014les)i(that)e
(already)h(app)q(ear)g(to)g(b)q(e)g(compressed\))g(not)g(to)f(do)h(the)
g(compression.)240 1059 y(Compression)e(is)h(indicated)h(b)o(y)e(a)g(`)
p Fd(z)p Ff(')f(preceding)j(the)e(\014le)h(length.)240
1135 y(Av)m(ailabilit)o(y)k(of)e(this)g(request)g(in)g(the)g(serv)o(er)
f(indicates)i(to)e(the)h(clien)o(t)h(that)e(it)h(ma)o(y)f(compress)240
1197 y(\014les)f(sen)o(t)f(to)g(the)g(serv)o(er,)f(regardless)i(of)f
(whether)g(the)g(clien)o(t)i(actually)f(uses)f(this)h(request.)0
1286 y Fe(other-request)g(text)g Fd(\\n)240 1348 y Ff(Resp)q(onse)i
(exp)q(ected:)26 b(y)o(es.)f(An)o(y)18 b(unrecognized)g(request)g(exp)q
(ects)g(a)e(resp)q(onse,)i(and)g(do)q(es)f(not)240 1410
y(con)o(tain)k(an)o(y)g(additional)i(data.)38 b(The)21
b(resp)q(onse)h(will)h(normally)f(b)q(e)g(something)g(lik)o(e)g(`)p
Fd(error)240 1472 y(unrecognized)14 b(request)p Ff(',)d(but)j(it)g
(could)g(b)q(e)g(a)f(di\013eren)o(t)g(error)g(if)h(a)f(previous)h
(command)f(whic)o(h)240 1535 y(do)q(esn't)i(exp)q(ect)h(a)f(resp)q
(onse)h(pro)q(duced)g(an)f(error.)62 1686 y(When)h(the)f(clien)o(t)i
(is)e(done,)h(it)f(drops)g(the)g(connection.)0 1917 y
Fb(6.5)33 b(Resp)r(onses)62 2055 y Ff(After)19 b(a)h(command)f(whic)o
(h)h(exp)q(ects)g(a)g(resp)q(onse,)g(the)g(serv)o(er)f(sends)h(ho)o(w)o
(ev)o(er)f(man)o(y)g(of)g(the)g(follo)o(wing)0 2117 y(resp)q(onses)d
(are)f(appropriate.)20 b(P)o(athnames)15 b(are)g(of)g(the)g(actual)h
(\014les)g(op)q(erated)f(on)h(\(i.e.)k(they)c(do)f(not)g(con)o(tain)0
2179 y(`)p Fd(,v)p Ff(')g(endings\),)h(and)g(are)f(suitable)i(for)e
(use)h(in)h(a)e(subsequen)o(t)i Fd(Repository)d Ff(request.)21
b(Ho)o(w)o(ev)o(er,)15 b(if)h(the)g(clien)o(t)0 2242
y(has)f(used)h(the)f Fd(Directory)f Ff(request,)h(then)h(it)f(is)h
(instead)g(a)f(lo)q(cal)h(directory)g(name)f(relativ)o(e)h(to)e(the)i
(directory)0 2304 y(in)h(whic)o(h)g(the)g(command)f(w)o(as)g(giv)o(en)h
(\(i.e.)23 b(the)17 b(last)f Fd(Directory)f Ff(b)q(efore)i(the)f
(command\).)23 b(Then)17 b(a)f(newline)0 2366 y(and)f(a)f(rep)q
(ository)g(name)h(\(the)f(pathname)h(whic)o(h)g(is)g(sen)o(t)g(if)g
Fd(Directory)e Ff(is)i(not)f(used\).)20 b(Then)15 b(the)g(slash)g(and)0
2428 y(the)g(\014lename.)21 b(F)l(or)15 b(example,)g(for)g(a)g(\014le)h
(`)p Fd(i386.mh)p Ff(')d(whic)o(h)j(is)g(in)g(the)f(lo)q(cal)i
(directory)e(`)p Fd(gas.clean/config)p Ff(')0 2491 y(and)g(for)g(whic)o
(h)h(the)f(rep)q(ository)g(is)h(`)p Fd(/rel/cvsfiles/devo/gas/c)o
(onfig)p Ff(')o(:)120 2618 y Fd(gas.clean/config/)120
2670 y(/rel/cvsfiles/devo/gas/con)o(fig/i38)o(6.mh)p
eop
%%Page: 14 14
14 13 bop 62 183 a Ff(An)o(y)15 b(resp)q(onse)h(alw)o(a)o(ys)f(ends)g
(with)h(`)p Fd(error)p Ff(')e(or)g(`)p Fd(ok)p Ff('.)19
b(This)d(indicates)h(that)d(the)h(resp)q(onse)h(is)g(o)o(v)o(er.)0
338 y Fd(Valid-requests)d Fe(request-list)k Fd(\\n)240
401 y Ff(Indicate)i(what)d(requests)i(the)f(serv)o(er)g(will)i(accept.)
26 b Fe(request-list)20 b Ff(is)e(a)f(space)g(separated)g(list)h(of)240
463 y(tok)o(ens.)h(If)13 b(the)h(serv)o(er)f(supp)q(orts)g(sending)i
(patc)o(hes,)e(it)h(will)h(include)h(`)p Fd(update-patches)p
Ff(')10 b(in)15 b(this)240 525 y(list.)21 b(The)15 b(`)p
Fd(update-patches)p Ff(')e(request)i(do)q(es)g(not)g(actually)h(do)f
(an)o(ything.)0 618 y Fd(Checked-in)f Fe(pathname)j Fd(\\n)240
680 y Ff(Additional)h(data:)i(New)c(En)o(tries)g(line,)i
Fd(\\)p Ff(n.)k(This)17 b(means)e(a)h(\014le)h Fe(pathname)h
Ff(has)e(b)q(een)h(success-)240 743 y(fully)f(op)q(erated)e(on)g(\(c)o
(hec)o(k)o(ed)g(in,)h(added,)g(etc.\).)k(name)14 b(in)h(the)g(En)o
(tries)f(line)i(is)f(the)f(same)g(as)g(the)240 805 y(last)h(comp)q
(onen)o(t)g(of)g Fe(pathname)p Ff(.)0 898 y Fd(New-entry)f
Fe(pathname)k Fd(\\n)240 960 y Ff(Additional)d(data:)k(New)13
b(En)o(tries)h(line,)h Fd(\\)p Ff(n.)k(Lik)o(e)c Fd(Checked-in)p
Ff(,)d(but)h(the)h(\014le)h(is)f(not)f(up)h(to)f(date.)0
1053 y Fd(Updated)h Fe(pathname)k Fd(\\n)240 1115 y Ff(Additional)f
(data:)i(New)c(En)o(tries)g(line,)i Fd(\\)p Ff(n,)e(mo)q(de,)g
Fd(\\)p Ff(n,)f(\014le)j(transmission.)j(A)15 b(new)g(cop)o(y)g(of)g
(the)240 1178 y(\014le)i(is)g(enclosed.)24 b(This)16
b(is)h(used)g(for)e(a)h(new)g(revision)i(of)d(an)h(existing)h(\014le,)g
(or)f(for)f(a)h(new)g(\014le,)h(or)240 1240 y(for)d(an)o(y)h(other)f
(case)h(in)h(whic)o(h)g(the)f(lo)q(cal)h(\(clien)o(t-side\))h(cop)o(y)d
(of)h(the)g(\014le)h(needs)g(to)e(b)q(e)h(up)q(dated,)240
1302 y(and)i(after)e(b)q(eing)j(up)q(dated)f(it)g(will)h(b)q(e)f(up)g
(to)f(date.)23 b(If)17 b(an)o(y)f(directory)h(in)g(pathname)g(do)q(es)f
(not)240 1364 y(exist,)f(create)g(it.)0 1457 y Fd(Merged)f
Fe(pathname)k Fd(\\n)240 1520 y Ff(This)f(is)h(just)e(lik)o(e)i
Fd(Updated)e Ff(and)h(tak)o(es)f(the)h(same)g(additional)h(data,)f
(with)g(the)g(one)g(di\013erence)240 1582 y(that)e(after)g(the)h(new)h
(cop)o(y)e(of)h(the)g(\014le)h(is)f(enclosed,)h(it)g(will)g(still)h
(not)d(b)q(e)i(up)f(to)f(date.)22 b(Used)17 b(for)240
1644 y(the)e(results)h(of)f(a)g(merge,)f(with)i(or)e(without)i
(con\015icts.)0 1737 y Fd(Patched)e Fe(pathname)k Fd(\\n)240
1799 y Ff(This)f(is)h(just)e(lik)o(e)i Fd(Updated)e Ff(and)h(tak)o(es)f
(the)h(same)g(additional)h(data,)f(with)g(the)g(one)g(di\013erence)240
1862 y(that)g(instead)i(of)e(sending)i(a)f(new)g(cop)o(y)g(of)f(the)h
(\014le,)i(the)e(serv)o(er)f(sends)i(a)e(patc)o(h)h(pro)q(duced)h(b)o
(y)240 1924 y(`)p Fd(diff)14 b(-u)p Ff('.)k(This)13 b(clien)o(t)h(m)o
(ust)e(apply)h(this)f(patc)o(h,)h(using)g(the)f(`)p Fd(patch)p
Ff(')f(program,)g(to)h(the)g(existing)240 1986 y(\014le.)23
b(This)17 b(will)h(only)e(b)q(e)h(used)f(when)h(the)f(clien)o(t)h(has)f
(an)g(exact)g(cop)o(y)g(of)f(an)h(earlier)h(revision)g(of)240
2048 y(a)e(\014le.)21 b(This)16 b(resp)q(onse)f(is)h(only)g(used)g(if)f
(the)g Fd(update)g Ff(command)g(is)h(giv)o(en)f(the)h(`)p
Fd(-u)p Ff(')e(argumen)o(t.)0 2141 y Fd(Mode)h Fe(mo)q(de)j
Fd(\\n)240 2203 y Ff(This)j Fe(mo)q(de)h Ff(applies)g(to)d(the)h(next)g
(\014le)h(men)o(tioned)g(in)g Fd(Checked-in)p Ff(.)33
b(It)20 b(do)q(es)g(not)g(apply)h(to)240 2266 y(an)o(y)f(request)f
(whic)o(h)i(follo)o(ws)f(a)g Fd(Checked-in)p Ff(,)f Fd(New-entry)p
Ff(,)g Fd(Updated)p Ff(,)h Fd(Merged)p Ff(,)g(or)f Fd(Patched)240
2328 y Ff(resp)q(onse.)0 2421 y Fd(Checksum)14 b Fe(c)o(hec)o(ksum)p
Fd(\\n)240 2483 y Ff(The)j Fe(c)o(hec)o(ksum)g Ff(applies)h(to)e(the)g
(next)h(\014le)g(sen)o(t)g(o)o(v)o(er)e(via)i Fd(Updated)p
Ff(,)f Fd(Merged)p Ff(,)f(or)h Fd(Patched)p Ff(.)23 b(In)240
2545 y(the)18 b(case)f(of)g Fd(Patched)p Ff(,)g(the)g(c)o(hec)o(ksum)h
(applies)h(to)e(the)h(\014le)g(after)f(b)q(eing)i(patc)o(hed,)f(not)f
(to)g(the)240 2608 y(patc)o(h)f(itself.)24 b(The)17 b(clien)o(t)h
(should)f(compute)g(the)f(c)o(hec)o(ksum)h(itself,)g(after)f(receiving)
i(the)e(\014le)h(or)240 2670 y(patc)o(h,)h(and)h(signal)g(an)f(error)f
(if)i(the)f(c)o(hec)o(ksums)g(do)g(not)g(matc)o(h.)28
b(The)19 b(c)o(hec)o(ksum)f(is)h(the)f(128)p eop
%%Page: 15 15
15 14 bop 240 183 a Ff(bit)15 b(MD5)f(c)o(hec)o(ksum)i(represen)o(ted)f
(as)f(32)h(hex)g(digits.)21 b(This)15 b(resp)q(onse)g(is)h(optional,)f
(and)g(is)g(only)240 246 y(used)h(if)f(the)h(clien)o(t)g(supp)q(orts)f
(it)h(\(as)e(judged)i(b)o(y)f(the)h Fd(Valid-responses)d
Ff(request\).)0 342 y Fd(Copy-file)h Fe(pathname)k Fd(\\n)240
404 y Ff(Additional)e(data:)j Fe(newname)e Fd(\\)p Ff(n.)j(Cop)o(y)14
b(\014le)h Fe(pathname)i Ff(to)d Fe(newname)j Ff(in)e(the)g(same)f
(directory)240 466 y(where)h(it)h(already)f(is.)21 b(This)16
b(do)q(es)f(not)g(a\013ect)f Fd(CVS/Entries)p Ff(.)0
563 y Fd(Removed)g Fe(pathname)k Fd(\\n)240 625 y Ff(The)d(\014le)i
(has)e(b)q(een)h(remo)o(v)o(ed)f(from)f(the)h(rep)q(ository)g(\(this)h
(is)f(the)h(case)f(where)g(cvs)h(prin)o(ts)f(`)p Fd(file)240
687 y(foobar.c)f(is)h(no)g(longer)f(pertinent)p Ff('\).)0
784 y Fd(Remove-entry)g Fe(pathname)j Fd(\\n)240 846
y Ff(The)g(\014le)g(needs)g(its)g(en)o(try)f(remo)o(v)o(ed)g(from)f
Fd(CVS/Entries)p Ff(,)g(but)h(the)h(\014le)g(itself)h(is)e(already)h
(gone)240 908 y(\(this)f(happ)q(ens)h(in)g(resp)q(onse)f(to)f(a)h
Fd(ci)f Ff(request)h(whic)o(h)h(in)o(v)o(olv)o(es)f(committing)g(the)g
(remo)o(v)m(al)g(of)f(a)240 971 y(\014le\).)0 1067 y
Fd(Set-static-directory)d Fe(pathname)18 b Fd(\\n)240
1129 y Ff(This)i(instructs)f(the)h(clien)o(t)g(to)f(set)g(the)g
Fd(Entries.Static)e Ff(\015ag,)j(whic)o(h)g(it)g(should)g(then)f(send)
240 1192 y(bac)o(k)c(to)g(the)g(serv)o(er)g(in)i(a)e
Fd(Static-directory)e Ff(request)i(whenev)o(er)h(the)f(directory)h(is)g
(op)q(erated)240 1254 y(on.)22 b Fe(pathname)c Ff(ends)f(in)f(a)g
(slash;)g(its)g(purp)q(ose)h(is)f(to)f(sp)q(ecify)j(a)d(directory)l(,)h
(not)g(a)f(\014le)i(within)g(a)240 1316 y(directory)l(.)0
1413 y Fd(Clear-static-directory)12 b Fe(pathname)18
b Fd(\\n)240 1475 y Ff(Lik)o(e)e Fd(Set-static-directory)p
Ff(,)c(but)j(clear,)h(not)f(set,)f(the)i(\015ag.)0 1571
y Fd(Set-sticky)e Fe(pathname)j Fd(\\n)240 1634 y Ff(Additional)h
(data:)k Fe(tagsp)q(ec)d Fd(\\)p Ff(n.)24 b(T)l(ell)18
b(the)e(clien)o(t)i(to)e(set)g(a)g(stic)o(ky)h(tag)e(or)h(date,)h(whic)
o(h)g(should)240 1696 y(b)q(e)f(supplied)i(with)f(the)e
Fd(Sticky)g Ff(request)h(for)f(future)h(op)q(erations.)21
b Fe(pathname)e Ff(ends)d(in)g(a)g(slash;)240 1758 y(its)e(purp)q(ose)h
(is)g(to)e(sp)q(ecify)i(a)f(directory)l(,)g(not)g(a)g(\014le)h(within)g
(a)f(directory)l(.)20 b(The)14 b(\014rst)g(c)o(haracter)f(of)240
1820 y Fe(tagsp)q(ec)k Ff(is)e(`)p Fd(T)p Ff(')e(for)h(a)g(tag,)f(or)h
(`)p Fd(D)p Ff(')f(for)h(a)g(date.)19 b(The)c(remainder)g(of)f
Fe(tagsp)q(ec)j Ff(con)o(tains)d(the)h(actual)240 1883
y(tag)f(or)h(date.)0 1979 y Fd(Clear-sticky)f Fe(pathname)j
Fd(\\n)240 2041 y Ff(Clear)e(an)o(y)g(stic)o(ky)h(tag)e(or)g(date)h
(set)g(b)o(y)h Fd(Set-sticky)p Ff(.)0 2138 y Fd(Template)e
Fe(pathname)k Fd(\\n)240 2200 y Ff(Additional)k(data:)28
b(\014le)21 b(transmission)f(\(note:)28 b(compressed)20
b(\014le)h(transmissions)f(are)f(not)g(sup-)240 2262
y(p)q(orted\).)35 b Fe(pathname)23 b Ff(ends)e(in)h(a)e(slash;)j(its)d
(purp)q(ose)h(is)g(to)f(sp)q(ecify)i(a)e(directory)l(,)i(not)e(a)g
(\014le)240 2325 y(within)h(a)e(directory)l(.)33 b(T)l(ell)21
b(the)f(clien)o(t)h(to)e(store)f(the)i(\014le)h(transmission)e(as)h
(the)f(template)h(log)240 2387 y(message,)c(and)g(then)h(use)f(that)g
(template)g(in)i(the)e(future)g(when)h(prompting)g(the)f(user)g(for)g
(a)g(log)240 2449 y(message.)0 2545 y Fd(Set-checkin-prog)d
Fe(dir)19 b Fd(\\n)240 2608 y Ff(Additional)g(data:)25
b Fe(prog)c Fd(\\)p Ff(n.)27 b(T)l(ell)19 b(the)f(clien)o(t)h(to)e(set)
g(a)h(c)o(hec)o(kin)g(program,)f(whic)o(h)i(should)f(b)q(e)240
2670 y(supplied)g(with)d(the)g Fd(Checkin-prog)f Ff(request)h(for)g
(future)g(op)q(erations.)p eop
%%Page: 16 16
16 15 bop 0 183 a Fd(Set-update-prog)13 b Fe(dir)19 b
Fd(\\n)240 246 y Ff(Additional)f(data:)23 b Fe(prog)d
Fd(\\)p Ff(n.)k(T)l(ell)18 b(the)f(clien)o(t)g(to)f(set)h(an)f(up)q
(date)i(program,)d(whic)o(h)j(should)f(b)q(e)240 308
y(supplied)h(with)d(the)g Fd(Update-prog)f Ff(request)h(for)g(future)g
(op)q(erations.)0 395 y Fd(Notified)f Fe(pathname)k Fd(\\n)240
457 y Ff(Indicate)f(to)d(the)i(clien)o(t)g(that)f(the)g(noti\014cation)
h(for)f Fe(pathname)j Ff(has)d(b)q(een)i(done.)j(There)c(should)240
520 y(b)q(e)k(one)g(suc)o(h)f(resp)q(onse)h(for)f(ev)o(ery)h
Fd(Notify)e Ff(request;)j(if)f(there)g(are)f(sev)o(eral)g
Fd(Notify)g Ff(requests)240 582 y(for)14 b(a)h(single)h(\014le,)f(the)g
(requests)g(should)h(b)q(e)f(pro)q(cessed)h(in)f(order;)g(the)f
(\014rst)h Fd(Notified)e Ff(resp)q(onse)240 644 y(p)q(ertains)j(to)e
(the)i(\014rst)f Fd(Notify)f Ff(request,)h(etc.)0 732
y Fd(Module-expansion)e Fe(pathname)18 b Fd(\\n)d(Return)f(a)h(file)f
(or)h(directory)240 794 y Ff(whic)o(h)h(is)f(included)i(in)f(a)e
(particular)h(mo)q(dule.)21 b Fe(pathname)c Ff(is)e(relativ)o(e)h(to)e
(cvsro)q(ot,)f(unlik)o(e)k(most)240 856 y(pathnames)h(in)g(resp)q
(onses.)28 b Fe(pathname)20 b Ff(should)f(b)q(e)g(used)f(to)f(lo)q(ok)h
(and)g(see)g(whether)g(some)f(or)240 918 y(all)h(of)e(the)h(mo)q(dule)h
(exists)f(on)f(the)h(clien)o(t)h(side;)g(it)f(is)h(not)e(necessarily)i
(suitable)g(for)e(passing)h(as)240 981 y(an)e(argumen)o(t)f(to)g(a)h
Fd(co)f Ff(request)h(\(for)f(example,)i(if)f(the)g(mo)q(dules)h(\014le)
g(con)o(tains)f(the)g(`)p Fd(-d)p Ff(')f(option,)240
1043 y(it)h(will)i(b)q(e)f(the)f(directory)h(sp)q(eci\014ed)h(with)f(`)
p Fd(-d)p Ff(',)e(not)g(the)i(name)f(of)g(the)g(mo)q(dule\).)0
1130 y Fd(M)g Fe(text)h Fd(\\n)57 b Ff(A)15 b(one-line)i(message)e(for)
g(the)g(user.)0 1218 y Fd(E)g Fe(text)h Fd(\\n)57 b Ff(Same)15
b(as)g Fd(M)g Ff(but)g(send)h(to)f(stderr)g(not)f(stdout.)0
1305 y Fd(error)g Fe(errno-co)q(de)19 b Fd(`)k(')15 b
Fe(text)h Fd(\\n)240 1367 y Ff(The)22 b(command)g(completed)h(with)g
(an)f(error.)39 b Fe(errno-co)q(de)26 b Ff(is)c(a)g(sym)o(b)q(olic)h
(error)e(co)q(de)i(\(e.g.)240 1430 y Fd(ENOENT)p Ff(\);)18
b(if)h(the)g(serv)o(er)f(do)q(esn't)g(supp)q(ort)g(this)h(feature,)g
(or)e(if)i(it's)f(not)g(appropriate)h(for)f(this)240
1492 y(particular)c(message,)f(it)h(just)f(omits)g(the)h(errno-co)q(de)
g(\(in)g(that)f(case)g(there)h(are)f(t)o(w)o(o)f(spaces)i(after)240
1554 y(`)p Fd(error)p Ff('\).)27 b(T)l(ext)18 b(is)h(an)f(error)f
(message)h(suc)o(h)h(as)f(that)f(pro)o(vided)i(b)o(y)f(strerror\(\),)f
(or)g(an)o(y)h(other)240 1616 y(message)d(the)g(serv)o(er)g(w)o(an)o
(ts)f(to)g(use.)0 1704 y Fd(ok)h(\\n)129 b Ff(The)15
b(command)h(completed)g(successfully)l(.)0 1929 y Fb(6.6)33
b(Example)62 2066 y Ff(Lines)15 b(b)q(eginning)h(with)e(`)p
Fd(c>)p Ff(')f(are)g(sen)o(t)h(b)o(y)g(the)f(clien)o(t;)i(lines)h(b)q
(eginning)g(with)e(`)p Fd(s>)p Ff(')e(are)i(sen)o(t)f(b)o(y)h(the)g
(serv)o(er;)0 2128 y(lines)j(b)q(eginning)g(with)f(`)p
Fd(#)p Ff(')e(are)h(not)g(part)f(of)h(the)g(actual)h(exc)o(hange.)120
2255 y Fd(c>)24 b(Root)f(/rel/cvsfiles)120 2307 y(#)h(In)f(actual)g
(practice)g(the)h(lists)f(of)g(valid)h(responses)e(and)i(requests)e
(would)120 2359 y(#)i(be)f(longer)120 2411 y(c>)h(Valid-responses)d
(Updated)i(Checked-in)g(M)h(ok)f(error)120 2462 y(c>)h(valid-requests)
120 2514 y(s>)g(Valid-requests)e(Root)h(co)g(Modified)g(Entry)g
(Repository)g(ci)g(Argument)g(Argumentx)120 2566 y(s>)h(ok)120
2618 y(#)g(cvs)f(co)h(devo/foo)120 2670 y(c>)g(Argument)e(devo/foo)p
eop
%%Page: 17 17
17 16 bop 120 183 a Fd(c>)24 b(co)120 235 y(s>)g(Updated)e
(/rel/cvsfiles/devo/foo/foo.c)120 287 y(s>)i(/foo.c/1.4/Mon)e(Apr)h(19)
h(15:36:47)e(1993)i(Mon)f(Apr)h(19)f(15:36:47)g(1993//)120
339 y(s>)h(26)120 391 y(s>)g(int)f(mein)g(\(\))h({)g(abort)f(\(\);)g(})
120 443 y(s>)h(Updated)e(/rel/cvsfiles/devo/foo/Makefil)o(e)120
495 y(s>)i(/Makefile/1.2/Mon)d(Apr)j(19)f(15:36:47)g(1993)g(Mon)h(Apr)f
(19)h(15:36:47)f(1993//)120 546 y(s>)h(28)120 598 y(s>)g(foo:)f(foo.c)
120 650 y(s>)214 b($\(CC\))24 b(-o)f(foo)h($<)120 702
y(s>)g(ok)120 754 y(#)g(In)f(actual)g(practice)g(the)h(next)f(part)g
(would)g(be)h(a)g(separate)e(connection.)120 806 y(#)i(Here)f(it)h(is)f
(shown)g(as)h(part)f(of)h(the)f(same)h(one.)120 858 y(c>)g(Repository)e
(/rel/cvsfiles/devo/foo)120 910 y(#)i(foo.c)f(relative)g(to)g(devo/foo)
g(just)g(set)h(as)f(Repository.)120 962 y(c>)h(Entry)f(/foo.c/1.4/Mon)f
(Apr)h(19)h(15:36:47)f(1993)g(Mon)g(Apr)h(19)f(15:36:47)g(1993//)120
1013 y(c>)h(Entry)f(/Makefile/1.2/Mon)e(Apr)j(19)f(15:36:47)g(1993)g
(Mon)h(Apr)f(19)h(15:36:47)f(1993//)120 1065 y(c>)h(Modified)e(foo.c)
120 1117 y(c>)i(26)120 1169 y(c>)g(int)f(main)g(\(\))h({)g(abort)f
(\(\);)g(})120 1221 y(#)h(cvs)f(ci)h(-m)f(<log)h(message>)e(foo.c)120
1273 y(c>)i(Argument)e(-m)120 1325 y(c>)i(Argument)e(Well,)i(you)f
(see,)g(it)h(took)f(me)h(hours)f(and)g(hours)h(to)f(find)h(this)f(typo)
g(and)h(I)120 1377 y(c>)g(Argumentx)e(searched)h(and)g(searched)g(and)h
(eventually)e(had)i(to)f(ask)h(John)f(for)g(help.)120
1429 y(c>)h(Argument)e(foo.c)120 1480 y(c>)i(ci)120 1532
y(s>)g(Checked-in)e(/rel/cvsfiles/devo/foo/foo.)o(c)120
1584 y(s>)i(/foo.c/1.5/)e(Mon)h(Apr)h(19)f(15:54:22)g(CDT)h(1993//)120
1636 y(s>)g(M)f(Checking)g(in)h(foo.c;)120 1688 y(s>)g(M)f
(/cygint/rel/cvsfiles/devo/fo)o(o/foo.c,)o(v)45 b(<--)i(foo.c)120
1740 y(s>)24 b(M)f(new)h(revision:)e(1.5;)i(previous)e(revision:)h(1.4)
120 1792 y(s>)h(M)f(done)120 1844 y(s>)h(ok)0 2082 y
Fb(6.7)33 b(Required)17 b(v)n(ersus)e(optional)h(parts)g(of)e(the)h
(proto)r(col)62 2220 y Ff(The)g(follo)o(wing)g(are)f(part)f(of)h(ev)o
(ery)g(kno)o(wn)g(implemen)o(tation)h(of)f(the)g(CVS)h(proto)q(col)f
(and)g(it)h(is)g(considered)0 2282 y(reasonable)g(b)q(eha)o(vior)g(to)f
(completely)i(fail)g(to)e(w)o(ork)f(if)i(y)o(ou)g(are)f(connected)i
(with)f(an)f(implemen)o(tation)i(whic)o(h)0 2345 y(attempts)d(to)g(not)
h(supp)q(ort)g(them.)19 b(Requests:)h(Ro)q(ot,)14 b(V)l(alid-resp)q
(onses,)i(v)m(alid-requests,)f(Rep)q(ository)l(,)g(En)o(try)l(,)0
2407 y(Mo)q(di\014ed,)h(Argumen)o(t,)d(Argumen)o(tx,)h(ci,)h(co,)g(up)q
(date.)20 b(Resp)q(onses:)g(ok,)14 b(error,)g(V)l(alid-requests,)i
(Chec)o(k)o(ed-in,)0 2469 y(Up)q(dated,)f(Merged,)g(Remo)o(v)o(ed,)g
(M,)g(E.)62 2608 y(F)l(ailure)j(to)e(supp)q(ort)g(the)h(Directory)l(,)f
(UseUnc)o(hanged,)h(and)g(Unc)o(hanged)g(requests)f(is)h(deprecated.)25
b(CVS)0 2670 y(1.5)20 b(and)i(later)f(ha)o(v)o(e)g(supp)q(orted)h
(these)g(requests)f(and)h(in)g(the)g(future)f(it)h(will)h(b)q(e)f
(considered)h(reasonable)p eop
%%Page: 18 18
18 17 bop 0 183 a Ff(b)q(eha)o(vior)16 b(to)f(completely)i(fail)f(to)f
(w)o(ork)g(with)h(an)f(implemen)o(tation)i(whic)o(h)f(attempts)f(to)g
(not)g(supp)q(ort)g(them.)0 246 y(Supp)q(ort)g(for)g(the)g(Rep)q
(ository)g(and)g(Lost)g(requests)g(is)g(deprecated;)g(CVS)g(clien)o(ts)
i(1.5)d(and)h(later)g(will)h(not)f(use)0 308 y(them)g(if)h(comm)o
(unicating)g(with)f(a)g(serv)o(er)g(whic)o(h)h(supp)q(orts)f(Directory)
g(and)h(UseUnc)o(hanged.)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF