Artifact 64ff544fa25136c78925d491fc7f51321a3de65d:
File
tools/cvs2fossil/lib/c2f_fsym.tcl
part of check-in
[67c24820c7]
- Reworked the whole handling of meta data (author, commit message, plus project/branch information), so that revisions now store only the meta id, everything else is stored centrally. All the relevant pieces (author, cmessage, symbols, projects) now also get numeric ids assigned early instead of when being saved to the state. Project ids are loaded from the state now too.
by
aku on
2007-10-14 01:58:07.
0000: 23 23 20 2d 2a 2d 20 74 63 6c 20 2d 2a 2d 0a 23 ## -*- tcl -*-.#
0010: 20 23 20 23 23 20 23 23 23 20 23 23 23 23 23 20 # ## ### #####
0020: 23 23 23 23 23 23 23 23 20 23 23 23 23 23 23 23 ######## #######
0030: 23 23 23 23 23 23 20 23 23 23 23 23 23 23 23 23 ###### #########
0040: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 20 ############.##
0050: 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 Copyright (c) 20
0060: 30 37 20 41 6e 64 72 65 61 73 20 4b 75 70 72 69 07 Andreas Kupri
0070: 65 73 2e 0a 23 0a 23 20 54 68 69 73 20 73 6f 66 es..#.# This sof
0080: 74 77 61 72 65 20 69 73 20 6c 69 63 65 6e 73 65 tware is license
0090: 64 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 d as described i
00a0: 6e 20 74 68 65 20 66 69 6c 65 20 4c 49 43 45 4e n the file LICEN
00b0: 53 45 2c 20 77 68 69 63 68 0a 23 20 79 6f 75 20 SE, which.# you
00c0: 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 should have rece
00d0: 69 76 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 ived as part of
00e0: 74 68 69 73 20 64 69 73 74 72 69 62 75 74 69 6f this distributio
00f0: 6e 2e 0a 23 0a 23 20 54 68 69 73 20 73 6f 66 74 n..#.# This soft
0100: 77 61 72 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 ware consists of
0110: 20 76 6f 6c 75 6e 74 61 72 79 20 63 6f 6e 74 72 voluntary contr
0120: 69 62 75 74 69 6f 6e 73 20 6d 61 64 65 20 62 79 ibutions made by
0130: 20 6d 61 6e 79 0a 23 20 69 6e 64 69 76 69 64 75 many.# individu
0140: 61 6c 73 2e 20 20 46 6f 72 20 65 78 61 63 74 20 als. For exact
0150: 63 6f 6e 74 72 69 62 75 74 69 6f 6e 20 68 69 73 contribution his
0160: 74 6f 72 79 2c 20 73 65 65 20 74 68 65 20 72 65 tory, see the re
0170: 76 69 73 69 6f 6e 0a 23 20 68 69 73 74 6f 72 79 vision.# history
0180: 20 61 6e 64 20 6c 6f 67 73 2c 20 61 76 61 69 6c and logs, avail
0190: 61 62 6c 65 20 61 74 20 68 74 74 70 3a 2f 2f 66 able at http://f
01a0: 6f 73 73 69 6c 2d 73 63 6d 2e 68 77 61 63 69 2e ossil-scm.hwaci.
01b0: 63 6f 6d 2f 66 6f 73 73 69 6c 0a 23 20 23 20 23 com/fossil.# # #
01c0: 23 20 23 23 23 20 23 23 23 23 23 20 23 23 23 23 # ### ##### ####
01d0: 23 23 23 23 20 23 23 23 23 23 23 23 23 23 23 23 #### ###########
01e0: 23 23 20 23 23 23 23 23 23 23 23 23 23 23 23 23 ## #############
01f0: 23 23 23 23 23 23 23 23 0a 0a 23 23 20 53 79 6d ########..## Sym
0200: 62 6f 6c 73 20 28 54 61 67 73 2c 20 42 72 61 6e bols (Tags, Bran
0210: 63 68 65 73 29 20 70 65 72 20 66 69 6c 65 2e 0a ches) per file..
0220: 0a 23 20 23 20 23 23 20 23 23 23 20 23 23 23 23 .# # ## ### ####
0230: 23 20 23 23 23 23 23 23 23 23 20 23 23 23 23 23 # ######## #####
0240: 23 23 23 23 23 23 23 23 20 23 23 23 23 23 23 23 ######## #######
0250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 ##############.#
0260: 23 20 52 65 71 75 69 72 65 6d 65 6e 74 73 0a 0a # Requirements..
0270: 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 package require
0280: 54 63 6c 20 38 2e 34 20 20 20 20 20 20 20 20 20 Tcl 8.4
0290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
02a0: 20 20 20 20 3b 20 23 20 52 65 71 75 69 72 65 64 ; # Required
02b0: 20 72 75 6e 74 69 6d 65 2e 0a 70 61 63 6b 61 67 runtime..packag
02c0: 65 20 72 65 71 75 69 72 65 20 73 6e 69 74 20 20 e require snit
02d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
02e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 ;
02f0: 23 20 4f 4f 20 73 79 73 74 65 6d 2e 0a 70 61 63 # OO system..pac
0300: 6b 61 67 65 20 72 65 71 75 69 72 65 20 76 63 3a kage require vc:
0310: 3a 74 6f 6f 6c 73 3a 3a 74 72 6f 75 62 6c 65 20 :tools::trouble
0320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0330: 20 3b 20 23 20 45 72 72 6f 72 20 72 65 70 6f 72 ; # Error repor
0340: 74 69 6e 67 2e 0a 70 61 63 6b 61 67 65 20 72 65 ting..package re
0350: 71 75 69 72 65 20 76 63 3a 3a 66 6f 73 73 69 6c quire vc::fossil
0360: 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 66 ::import::cvs::f
0370: 69 6c 65 3a 3a 72 65 76 20 20 3b 20 23 20 43 56 ile::rev ; # CV
0380: 53 20 70 65 72 20 66 69 6c 65 20 72 65 76 69 73 S per file revis
0390: 69 6f 6e 73 2e 0a 0a 23 20 23 20 23 23 20 23 23 ions...# # ## ##
03a0: 23 20 23 23 23 23 23 20 23 23 23 23 23 23 23 23 # ##### ########
03b0: 20 23 23 23 23 23 23 23 23 23 23 23 23 23 20 23 ############# #
03c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
03d0: 23 23 23 23 0a 23 23 20 0a 0a 73 6e 69 74 3a 3a ####.## ..snit::
03e0: 74 79 70 65 20 3a 3a 76 63 3a 3a 66 6f 73 73 69 type ::vc::fossi
03f0: 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a l::import::cvs::
0400: 66 69 6c 65 3a 3a 73 79 6d 20 7b 0a 20 20 20 20 file::sym {.
0410: 23 20 23 20 23 23 20 23 23 23 20 23 23 23 23 23 # # ## ### #####
0420: 20 23 23 23 23 23 23 23 23 20 23 23 23 23 23 23 ######## ######
0430: 23 23 23 23 23 23 23 0a 20 20 20 20 23 23 20 50 #######. ## P
0440: 75 62 6c 69 63 20 41 50 49 0a 0a 20 20 20 20 63 ublic API.. c
0450: 6f 6e 73 74 72 75 63 74 6f 72 20 7b 73 79 6d 74 onstructor {symt
0460: 79 70 65 20 6e 72 20 73 79 6d 62 6f 6c 7d 20 7b ype nr symbol} {
0470: 0a 09 73 65 74 20 6d 79 74 79 70 65 20 20 20 24 ..set mytype $
0480: 73 79 6d 74 79 70 65 0a 09 73 65 74 20 6d 79 6e symtype..set myn
0490: 72 20 20 20 20 20 24 6e 72 0a 09 73 65 74 20 6d r $nr..set m
04a0: 79 73 79 6d 62 6f 6c 20 24 73 79 6d 62 6f 6c 0a ysymbol $symbol.
04b0: 0a 09 73 77 69 74 63 68 20 2d 65 78 61 63 74 20 ..switch -exact
04c0: 2d 2d 20 24 6d 79 74 79 70 65 20 7b 0a 09 20 20 -- $mytype {..
04d0: 20 20 62 72 61 6e 63 68 20 20 7b 20 53 65 74 75 branch { Setu
04e0: 70 42 72 61 6e 63 68 20 7d 0a 09 20 20 20 20 74 pBranch }.. t
04f0: 61 67 20 20 20 20 20 7b 20 7d 0a 09 20 20 20 20 ag { }..
0500: 64 65 66 61 75 6c 74 20 7b 20 74 72 6f 75 62 6c default { troubl
0510: 65 20 69 6e 74 65 72 6e 61 6c 20 22 42 61 64 20 e internal "Bad
0520: 73 79 6d 62 6f 6c 20 74 79 70 65 20 27 24 6d 79 symbol type '$my
0530: 74 79 70 65 27 22 20 7d 0a 09 7d 0a 09 72 65 74 type'" }..}..ret
0540: 75 72 6e 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 urn. }.. #
0550: 20 53 79 6d 62 6f 6c 20 61 63 65 73 73 6f 72 20 Symbol acessor
0560: 6d 65 74 68 6f 64 73 2e 0a 0a 20 20 20 20 64 65 methods... de
0570: 6c 65 67 61 74 65 20 6d 65 74 68 6f 64 20 6e 61 legate method na
0580: 6d 65 20 74 6f 20 6d 79 73 79 6d 62 6f 6c 0a 20 me to mysymbol.
0590: 20 20 20 64 65 6c 65 67 61 74 65 20 6d 65 74 68 delegate meth
05a0: 6f 64 20 69 64 20 20 20 74 6f 20 6d 79 73 79 6d od id to mysym
05b0: 62 6f 6c 0a 0a 20 20 20 20 23 20 42 72 61 6e 63 bol.. # Branc
05c0: 68 20 61 63 65 73 73 6f 72 20 6d 65 74 68 6f 64 h acessor method
05d0: 73 2e 0a 0a 20 20 20 20 6d 65 74 68 6f 64 20 73 s... method s
05e0: 65 74 63 68 69 6c 64 72 65 76 6e 72 20 20 7b 72 etchildrevnr {r
05f0: 65 76 6e 72 7d 20 7b 0a 09 69 66 20 7b 24 6d 79 evnr} {..if {$my
0600: 62 72 61 6e 63 68 63 68 69 6c 64 72 65 76 6e 72 branchchildrevnr
0610: 20 6e 65 20 22 22 7d 20 7b 20 74 72 6f 75 62 6c ne ""} { troubl
0620: 65 20 69 6e 74 65 72 6e 61 6c 20 22 43 68 69 6c e internal "Chil
0630: 64 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65 d already define
0640: 64 22 20 7d 0a 09 73 65 74 20 6d 79 62 72 61 6e d" }..set mybran
0650: 63 68 63 68 69 6c 64 72 65 76 6e 72 20 24 72 65 chchildrevnr $re
0660: 76 6e 72 0a 09 72 65 74 75 72 6e 0a 20 20 20 20 vnr..return.
0670: 7d 0a 0a 20 20 20 20 6d 65 74 68 6f 64 20 73 65 }.. method se
0680: 74 70 6f 73 69 74 69 6f 6e 20 7b 6e 7d 20 7b 20 tposition {n} {
0690: 73 65 74 20 6d 79 62 72 61 6e 63 68 70 6f 73 69 set mybranchposi
06a0: 74 69 6f 6e 20 24 6e 20 7d 0a 0a 20 20 20 20 6d tion $n }.. m
06b0: 65 74 68 6f 64 20 62 72 61 6e 63 68 6e 72 20 20 ethod branchnr
06c0: 20 20 7b 7d 20 7b 20 72 65 74 75 72 6e 20 24 6d {} { return $m
06d0: 79 6e 72 20 7d 0a 20 20 20 20 6d 65 74 68 6f 64 ynr }. method
06e0: 20 70 61 72 65 6e 74 72 65 76 6e 72 20 7b 7d 20 parentrevnr {}
06f0: 7b 20 72 65 74 75 72 6e 20 24 6d 79 62 72 61 6e { return $mybran
0700: 63 68 70 61 72 65 6e 74 72 65 76 6e 72 20 7d 0a chparentrevnr }.
0710: 20 20 20 20 6d 65 74 68 6f 64 20 63 68 69 6c 64 method child
0720: 72 65 76 6e 72 20 20 7b 7d 20 7b 20 72 65 74 75 revnr {} { retu
0730: 72 6e 20 24 6d 79 62 72 61 6e 63 68 63 68 69 6c rn $mybranchchil
0740: 64 72 65 76 6e 72 20 7d 0a 0a 20 20 20 20 6d 65 drevnr }.. me
0750: 74 68 6f 64 20 68 61 73 63 68 69 6c 64 20 20 20 thod haschild
0760: 20 7b 7d 20 7b 20 72 65 74 75 72 6e 20 5b 65 78 {} { return [ex
0770: 70 72 20 7b 24 6d 79 62 72 61 6e 63 68 63 68 69 pr {$mybranchchi
0780: 6c 64 72 65 76 6e 72 20 6e 65 20 22 22 7d 5d 20 ldrevnr ne ""}]
0790: 7d 0a 20 20 20 20 6d 65 74 68 6f 64 20 63 68 69 }. method chi
07a0: 6c 64 20 20 20 20 20 20 20 7b 7d 20 7b 20 72 65 ld {} { re
07b0: 74 75 72 6e 20 24 6d 79 62 72 61 6e 63 68 63 68 turn $mybranchch
07c0: 69 6c 64 20 7d 0a 0a 20 20 20 20 6d 65 74 68 6f ild }.. metho
07d0: 64 20 70 6f 73 69 74 69 6f 6e 20 7b 7d 20 7b 20 d position {} {
07e0: 72 65 74 75 72 6e 20 24 6d 79 62 72 61 6e 63 68 return $mybranch
07f0: 70 6f 73 69 74 69 6f 6e 20 7d 0a 0a 20 20 20 20 position }..
0800: 23 20 54 61 67 20 61 63 65 73 73 6f 72 20 6d 65 # Tag acessor me
0810: 74 68 6f 64 73 2e 0a 0a 20 20 20 20 6d 65 74 68 thods... meth
0820: 6f 64 20 74 61 67 72 65 76 6e 72 20 7b 7d 20 7b od tagrevnr {} {
0830: 20 72 65 74 75 72 6e 20 24 6d 79 6e 72 20 7d 0a return $mynr }.
0840: 0a 20 20 20 20 23 20 23 20 23 23 20 23 23 23 20 . # # ## ###
0850: 23 23 23 23 23 20 23 23 23 23 23 23 23 23 20 23 ##### ######## #
0860: 23 23 23 23 23 23 23 23 23 23 23 23 0a 20 20 20 ############.
0870: 20 23 23 20 53 74 61 74 65 0a 0a 20 20 20 20 23 ## State.. #
0880: 23 20 42 61 73 69 63 2c 20 61 6c 6c 20 73 79 6d # Basic, all sym
0890: 62 6f 6c 73 20 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f bols ___________
08a0: 5f 5f 5f 5f 5f 5f 0a 0a 20 20 20 20 76 61 72 69 ______.. vari
08b0: 61 62 6c 65 20 6d 79 74 79 70 65 20 20 20 7b 7d able mytype {}
08c0: 20 3b 20 23 20 53 79 6d 62 6f 6c 20 74 79 70 65 ; # Symbol type
08d0: 2c 20 27 74 61 67 27 2c 20 6f 72 20 27 62 72 61 , 'tag', or 'bra
08e0: 6e 63 68 27 2e 0a 20 20 20 20 76 61 72 69 61 62 nch'.. variab
08f0: 6c 65 20 6d 79 6e 72 20 20 20 20 20 7b 7d 20 3b le mynr {} ;
0900: 20 23 20 52 65 76 69 73 69 6f 6e 20 6e 75 6d 62 # Revision numb
0910: 65 72 20 6f 66 20 61 20 27 74 61 67 27 2c 20 62 er of a 'tag', b
0920: 72 61 6e 63 68 20 6e 75 6d 62 65 72 0a 09 09 09 ranch number....
0930: 20 20 20 23 20 6f 66 20 61 20 27 62 72 61 6e 63 # of a 'branc
0940: 68 27 2e 0a 20 20 20 20 76 61 72 69 61 62 6c 65 h'.. variable
0950: 20 6d 79 73 79 6d 62 6f 6c 20 7b 7d 20 3b 20 23 mysymbol {} ; #
0960: 20 52 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 Reference to th
0970: 65 20 73 79 6d 62 6f 6c 20 6f 62 6a 65 63 74 20 e symbol object
0980: 6f 66 20 74 68 69 73 0a 09 09 09 20 20 20 23 20 of this.... #
0990: 73 79 6d 62 6f 6c 20 61 74 20 74 68 65 20 70 72 symbol at the pr
09a0: 6f 6a 65 63 74 20 6c 65 76 65 6c 2e 0a 0a 20 20 oject level...
09b0: 20 20 23 23 20 42 72 61 6e 63 68 20 73 79 6d 62 ## Branch symb
09c0: 6f 6c 73 20 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ols ____________
09d0: 5f 5f 5f 5f 5f 5f 5f 5f 5f 0a 0a 20 20 20 20 76 _________.. v
09e0: 61 72 69 61 62 6c 65 20 6d 79 62 72 61 6e 63 68 ariable mybranch
09f0: 70 61 72 65 6e 74 72 65 76 6e 72 20 7b 7d 20 3b parentrevnr {} ;
0a00: 20 23 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 # The number of
0a10: 20 74 68 65 20 70 61 72 65 6e 74 0a 09 09 09 09 the parent.....
0a20: 20 20 20 20 20 20 23 20 72 65 76 69 73 69 6f 6e # revision
0a30: 2c 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 6f , derived from o
0a40: 75 72 0a 09 09 09 09 20 20 20 20 20 20 23 20 62 ur..... # b
0a50: 72 61 6e 63 68 20 6e 75 6d 62 65 72 20 28 6d 79 ranch number (my
0a60: 6e 72 29 2e 0a 20 20 20 20 76 61 72 69 61 62 6c nr).. variabl
0a70: 65 20 6d 79 62 72 61 6e 63 68 70 61 72 65 6e 74 e mybranchparent
0a80: 20 20 20 20 20 20 7b 7d 20 3b 20 23 20 52 65 66 {} ; # Ref
0a90: 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 72 65 erence to the re
0aa0: 76 69 73 69 6f 6e 0a 09 09 09 09 20 20 20 20 20 vision.....
0ab0: 20 23 20 28 6f 62 6a 65 63 74 29 20 77 68 69 63 # (object) whic
0ac0: 68 20 73 70 61 77 6e 73 20 74 68 65 0a 09 09 09 h spawns the....
0ad0: 09 20 20 20 20 20 20 23 20 62 72 61 6e 63 68 2e . # branch.
0ae0: 0a 20 20 20 20 76 61 72 69 61 62 6c 65 20 6d 79 . variable my
0af0: 62 72 61 6e 63 68 63 68 69 6c 64 72 65 76 6e 72 branchchildrevnr
0b00: 20 20 7b 7d 20 3b 20 23 20 4e 75 6d 62 65 72 20 {} ; # Number
0b10: 6f 66 20 74 68 65 20 66 69 72 73 74 20 72 65 76 of the first rev
0b20: 69 73 69 6f 6e 0a 09 09 09 09 20 20 20 20 20 20 ision.....
0b30: 23 20 63 6f 6d 6d 69 74 74 65 64 20 6f 6e 20 74 # committed on t
0b40: 68 69 73 20 62 72 61 6e 63 68 2e 0a 20 20 20 20 his branch..
0b50: 76 61 72 69 61 62 6c 65 20 6d 79 62 72 61 6e 63 variable mybranc
0b60: 68 63 68 69 6c 64 20 20 20 20 20 20 20 7b 7d 20 hchild {}
0b70: 3b 20 23 20 52 65 66 65 72 65 6e 63 65 20 74 6f ; # Reference to
0b80: 20 74 68 65 20 72 65 76 69 73 69 6f 6e 0a 09 09 the revision...
0b90: 09 09 20 20 20 20 20 20 23 20 28 6f 62 6a 65 63 .. # (objec
0ba0: 74 29 20 66 69 72 73 74 20 63 6f 6d 6d 69 74 74 t) first committ
0bb0: 65 64 20 6f 6e 0a 09 09 09 09 20 20 20 20 20 20 ed on.....
0bc0: 23 20 74 68 69 73 20 62 72 61 6e 63 68 2e 0a 20 # this branch..
0bd0: 20 20 20 76 61 72 69 61 62 6c 65 20 6d 79 62 72 variable mybr
0be0: 61 6e 63 68 70 6f 73 69 74 69 6f 6e 20 20 20 20 anchposition
0bf0: 7b 7d 20 3b 20 23 20 52 65 6c 61 74 69 76 65 20 {} ; # Relative
0c00: 69 64 20 6f 66 20 74 68 65 20 62 72 61 6e 63 68 id of the branch
0c10: 20 69 6e 0a 09 09 09 09 20 20 20 20 20 20 23 20 in..... #
0c20: 74 68 65 20 66 69 6c 65 2c 20 74 6f 20 73 6f 72 the file, to sor
0c30: 74 20 69 6e 74 6f 0a 09 09 09 09 20 20 20 20 20 t into.....
0c40: 20 23 20 63 72 65 61 74 69 6f 6e 20 6f 72 64 65 # creation orde
0c50: 72 2e 0a 0a 20 20 20 20 23 23 20 54 61 67 20 73 r... ## Tag s
0c60: 79 6d 62 6f 6c 73 20 5f 5f 5f 5f 5f 5f 5f 5f 5f ymbols _________
0c70: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 0a _______________.
0c80: 0a 20 20 20 20 23 20 2e 2e 2e 20 6e 6f 74 68 69 . # ... nothi
0c90: 6e 67 20 73 70 65 63 69 61 6c 20 2e 2e 2e 20 28 ng special ... (
0ca0: 6f 6e 6c 79 20 6d 79 6e 72 2c 20 73 65 65 20 62 only mynr, see b
0cb0: 61 73 69 63 29 0a 0a 20 20 20 20 23 20 23 20 23 asic).. # # #
0cc0: 23 20 23 23 23 20 23 23 23 23 23 20 23 23 23 23 # ### ##### ####
0cd0: 23 23 23 23 20 23 23 23 23 23 23 23 23 23 23 23 #### ###########
0ce0: 23 23 0a 20 20 20 20 23 23 20 49 6e 74 65 72 6e ##. ## Intern
0cf0: 61 6c 20 6d 65 74 68 6f 64 73 0a 0a 20 20 20 20 al methods..
0d00: 70 72 6f 63 20 53 65 74 75 70 42 72 61 6e 63 68 proc SetupBranch
0d10: 20 7b 7d 20 7b 0a 09 75 70 76 61 72 20 31 20 6d {} {..upvar 1 m
0d20: 79 62 72 61 6e 63 68 70 61 72 65 6e 74 72 65 76 ybranchparentrev
0d30: 6e 72 20 6d 79 62 72 61 6e 63 68 70 61 72 65 6e nr mybranchparen
0d40: 74 72 65 76 6e 72 20 6d 79 6e 72 20 6d 79 6e 72 trevnr mynr mynr
0d50: 0a 09 73 65 74 20 6d 79 62 72 61 6e 63 68 70 61 ..set mybranchpa
0d60: 72 65 6e 74 72 65 76 6e 72 20 5b 72 65 76 20 32 rentrevnr [rev 2
0d70: 62 72 61 6e 63 68 70 61 72 65 6e 74 72 65 76 6e branchparentrevn
0d80: 72 20 20 24 6d 79 6e 72 5d 0a 09 72 65 74 75 72 r $mynr]..retur
0d90: 6e 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 20 23 n. }.. # #
0da0: 20 23 23 20 23 23 23 20 23 23 23 23 23 20 23 23 ## ### ##### ##
0db0: 23 23 23 23 23 23 20 23 23 23 23 23 23 23 23 23 ###### #########
0dc0: 23 23 23 23 0a 20 20 20 20 23 23 20 43 6f 6e 66 ####. ## Conf
0dd0: 69 67 75 72 61 74 69 6f 6e 0a 0a 20 20 20 20 70 iguration.. p
0de0: 72 61 67 6d 61 20 2d 68 61 73 74 79 70 65 69 6e ragma -hastypein
0df0: 66 6f 20 20 20 20 6e 6f 20 20 3b 20 23 20 6e 6f fo no ; # no
0e00: 20 74 79 70 65 20 69 6e 74 72 6f 73 70 65 63 74 type introspect
0e10: 69 6f 6e 0a 20 20 20 20 70 72 61 67 6d 61 20 2d ion. pragma -
0e20: 68 61 73 69 6e 66 6f 20 20 20 20 20 20 20 20 6e hasinfo n
0e30: 6f 20 20 3b 20 23 20 6e 6f 20 6f 62 6a 65 63 74 o ; # no object
0e40: 20 69 6e 74 72 6f 73 70 65 63 74 69 6f 6e 0a 20 introspection.
0e50: 20 20 20 70 72 61 67 6d 61 20 2d 68 61 73 74 79 pragma -hasty
0e60: 70 65 6d 65 74 68 6f 64 73 20 6e 6f 20 20 3b 20 pemethods no ;
0e70: 23 20 74 79 70 65 20 69 73 20 6e 6f 74 20 72 65 # type is not re
0e80: 6c 65 76 61 6e 74 2e 0a 0a 20 20 20 20 23 20 23 levant... # #
0e90: 20 23 23 20 23 23 23 20 23 23 23 23 23 20 23 23 ## ### ##### ##
0ea0: 23 23 23 23 23 23 20 23 23 23 23 23 23 23 23 23 ###### #########
0eb0: 23 23 23 23 0a 7d 0a 0a 6e 61 6d 65 73 70 61 63 ####.}..namespac
0ec0: 65 20 65 76 61 6c 20 3a 3a 76 63 3a 3a 66 6f 73 e eval ::vc::fos
0ed0: 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 sil::import::cvs
0ee0: 3a 3a 66 69 6c 65 20 7b 0a 20 20 20 20 6e 61 6d ::file {. nam
0ef0: 65 73 70 61 63 65 20 65 78 70 6f 72 74 20 73 79 espace export sy
0f00: 6d 0a 20 20 20 20 6e 61 6d 65 73 70 61 63 65 20 m. namespace
0f10: 65 76 61 6c 20 73 79 6d 20 7b 0a 09 6e 61 6d 65 eval sym {..name
0f20: 73 70 61 63 65 20 69 6d 70 6f 72 74 20 3a 3a 76 space import ::v
0f30: 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 c::fossil::impor
0f40: 74 3a 3a 63 76 73 3a 3a 66 69 6c 65 3a 3a 72 65 t::cvs::file::re
0f50: 76 0a 09 6e 61 6d 65 73 70 61 63 65 20 69 6d 70 v..namespace imp
0f60: 6f 72 74 20 3a 3a 76 63 3a 3a 74 6f 6f 6c 73 3a ort ::vc::tools:
0f70: 3a 74 72 6f 75 62 6c 65 0a 20 20 20 20 7d 0a 7d :trouble. }.}
0f80: 0a 0a 23 20 23 20 23 23 20 23 23 23 20 23 23 23 ..# # ## ### ###
0f90: 23 23 20 23 23 23 23 23 23 23 23 20 23 23 23 23 ## ######## ####
0fa0: 23 23 23 23 23 23 23 23 23 20 23 23 23 23 23 23 ######### ######
0fb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a ###############.
0fc0: 23 23 20 52 65 61 64 79 0a 0a 70 61 63 6b 61 67 ## Ready..packag
0fd0: 65 20 70 72 6f 76 69 64 65 20 76 63 3a 3a 66 6f e provide vc::fo
0fe0: 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 ssil::import::cv
0ff0: 73 3a 3a 66 69 6c 65 3a 3a 73 79 6d 20 31 2e 30 s::file::sym 1.0
1000: 0a 72 65 74 75 72 6e 0a .return.