Artifact 798120516f681aa75d6b70ec5929cf1da54c98db:
Wiki page
[
Converting CVS to Fossil] by
hypnotoad
2013-12-08 11:51:23.
0000: 44 20 32 30 31 33 2d 31 32 2d 30 38 54 31 31 3a D 2013-12-08T11:
0010: 35 31 3a 32 33 2e 35 35 33 0a 4c 20 43 6f 6e 76 51:23.553.L Conv
0020: 65 72 74 69 6e 67 5c 73 43 56 53 5c 73 74 6f 5c erting\sCVS\sto\
0030: 73 46 6f 73 73 69 6c 0a 50 20 61 36 31 36 61 31 sFossil.P a616a1
0040: 35 34 35 34 39 31 61 38 34 31 39 31 63 61 37 39 545491a84191ca79
0050: 64 65 32 33 30 35 34 61 63 30 31 63 61 31 64 32 de23054ac01ca1d2
0060: 65 33 0a 55 20 68 79 70 6e 6f 74 6f 61 64 0a 57 e3.U hypnotoad.W
0070: 20 31 37 33 38 0a 54 68 65 20 70 72 6f 63 65 64 1738.The proced
0080: 75 72 65 20 66 6f 72 20 6d 69 67 72 61 74 69 6e ure for migratin
0090: 67 20 66 72 6f 6d 20 43 56 53 20 74 6f 20 46 6f g from CVS to Fo
00a0: 73 73 69 6c 20 72 65 71 75 69 72 65 73 20 61 6e ssil requires an
00b0: 20 69 6e 74 65 72 6d 65 64 69 61 72 79 20 73 74 intermediary st
00c0: 65 70 20 74 68 72 6f 75 67 68 20 47 49 54 2e 20 ep through GIT.
00d0: 54 68 65 20 70 72 6f 63 65 73 73 20 75 73 65 64 The process used
00e0: 20 62 79 20 4f 44 49 45 20 77 61 73 20 6f 72 69 by ODIE was ori
00f0: 67 69 6e 61 6c 6c 79 20 64 65 73 63 72 69 62 65 ginally describe
0100: 64 20 62 79 20 56 69 6e 63 65 20 57 65 73 74 20 d by Vince West
0110: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f <a href="http://
0120: 76 69 6e 63 65 77 2e 6e 65 74 2f 63 6f 6e 74 65 vincew.net/conte
0130: 6e 74 2f 69 6d 70 6f 72 74 2d 63 76 73 2d 72 65 nt/import-cvs-re
0140: 70 6f 73 69 74 6f 72 79 2d 66 6f 73 73 69 6c 22 pository-fossil"
0150: 3e 48 65 72 65 3c 2f 61 3e 2e 20 0d 0a 3c 70 3e >Here</a>. ..<p>
0160: 0d 0a 54 68 65 20 73 63 72 69 70 74 20 75 73 65 ..The script use
0170: 64 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a d is as follows:
0180: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 23 21 ..<verbatim>..#!
0190: 2f 62 69 6e 2f 62 61 73 68 0d 0a 0d 0a 64 69 65 /bin/bash....die
01a0: 28 29 7b 0d 0a 20 20 20 20 20 20 20 20 65 63 68 (){.. ech
01b0: 6f 20 24 31 0d 0a 20 20 20 20 20 20 20 20 65 78 o $1.. ex
01c0: 69 74 20 31 0d 0a 7d 0d 0a 0d 0a 23 20 70 61 72 it 1..}....# par
01d0: 61 6d 65 74 65 72 73 3a 0d 0a 23 20 31 20 2d 20 ameters:..# 1 -
01e0: 75 73 65 72 6e 61 6d 65 20 6f 66 20 61 64 6d 69 username of admi
01f0: 6e 0d 0a 23 20 32 20 2d 20 63 76 73 20 72 65 70 n..# 2 - cvs rep
0200: 6f 73 69 74 6f 72 79 20 74 6f 20 63 6f 6e 76 65 ository to conve
0210: 72 74 0d 0a 23 20 33 20 2d 20 6d 6f 64 75 6c 65 rt..# 3 - module
0220: 20 69 6e 20 63 76 73 20 74 6f 20 63 6f 6e 76 65 in cvs to conve
0230: 72 74 0d 0a 23 20 34 20 2d 20 6e 61 6d 65 20 6f rt..# 4 - name o
0240: 66 20 66 6f 73 73 69 6c 20 72 65 70 6f 20 28 6e f fossil repo (n
0250: 6f 20 65 78 74 65 6e 73 69 6f 6e 29 0d 0a 23 20 o extension)..#
0260: 6e 6f 74 65 3a 20 74 68 65 20 72 65 70 6f 73 69 note: the reposi
0270: 74 6f 72 79 20 77 69 6c 6c 20 62 65 20 63 72 65 tory will be cre
0280: 61 74 65 64 20 72 69 67 68 74 20 68 65 72 65 21 ated right here!
0290: 0d 0a 0d 0a 69 66 20 5b 20 22 24 34 22 20 3d 3d ....if [ "$4" ==
02a0: 20 22 22 20 5d 0d 0a 74 68 65 6e 0d 0a 20 20 20 "" ]..then..
02b0: 20 20 20 20 20 65 63 68 6f 20 22 53 79 6e 74 61 echo "Synta
02c0: 78 3a 22 0d 0a 20 20 20 20 20 20 20 20 65 63 68 x:".. ech
02d0: 6f 20 22 20 63 76 73 32 66 6f 73 73 69 6c 20 75 o " cvs2fossil u
02e0: 73 65 72 6e 61 6d 65 20 20 63 76 73 72 6f 6f 74 sername cvsroot
02f0: 20 6d 6f 64 75 6c 65 20 66 6f 73 73 69 6c 2d 72 module fossil-r
0300: 65 70 6f 2d 6e 61 6d 65 22 0d 0a 20 20 20 20 20 epo-name"..
0310: 20 20 20 64 69 65 20 20 22 50 6c 65 61 73 65 20 die "Please
0320: 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 68 61 make sure you ha
0330: 76 65 20 61 6c 6c 20 74 68 72 65 65 20 70 61 72 ve all three par
0340: 61 6d 65 74 65 72 73 20 73 65 74 21 22 0d 0a 66 ameters set!"..f
0350: 69 0d 0a 0d 0a 65 63 68 6f 20 22 49 6d 70 6f 72 i....echo "Impor
0360: 74 69 6e 67 20 66 72 6f 6d 20 43 56 53 20 74 6f ting from CVS to
0370: 20 67 69 74 2e 20 20 54 68 69 73 20 77 69 6c 6c git. This will
0380: 20 74 61 6b 65 20 73 6f 6d 65 20 74 69 6d 65 2c take some time,
0390: 20 62 65 20 70 61 74 69 65 6e 74 21 22 0d 0a 6d be patient!"..m
03a0: 6b 64 69 72 20 24 34 0d 0a 63 64 20 24 34 0d 0a kdir $4..cd $4..
03b0: 63 76 73 20 2d 64 20 24 32 20 6c 6f 67 69 6e 0d cvs -d $2 login.
03c0: 0a 67 69 74 20 63 76 73 69 6d 70 6f 72 74 20 2d .git cvsimport -
03d0: 76 20 2d 64 20 24 32 20 24 33 20 7c 7c 20 64 69 v -d $2 $3 || di
03e0: 65 20 22 55 6e 61 62 6c 65 20 74 6f 20 69 6d 70 e "Unable to imp
03f0: 6f 72 74 20 74 6f 20 67 69 74 22 0d 0a 0d 0a 65 ort to git"....e
0400: 63 68 6f 20 22 49 6d 70 6f 72 74 69 6e 67 20 66 cho "Importing f
0410: 72 6f 6d 20 67 69 74 20 74 6f 20 66 6f 73 73 69 rom git to fossi
0420: 6c 2e 20 20 54 68 69 73 20 77 69 6c 6c 20 61 6c l. This will al
0430: 73 6f 20 74 61 6b 65 20 73 6f 6d 65 20 74 69 6d so take some tim
0440: 65 2c 20 73 61 64 6c 79 22 0d 0a 0d 0a 28 0d 0a e, sadly"....(..
0450: 67 69 74 20 66 61 73 74 2d 65 78 70 6f 72 74 20 git fast-export
0460: 2d 2d 66 75 6c 6c 2d 74 72 65 65 20 2d 2d 61 6c --full-tree --al
0470: 6c 20 7c 20 66 6f 73 73 69 6c 20 69 6d 70 6f 72 l | fossil impor
0480: 74 20 2d 2d 67 69 74 20 2e 2e 2f 24 34 2e 66 6f t --git ../$4.fo
0490: 73 73 69 6c 20 7c 7c 20 64 69 65 20 22 55 6e 61 ssil || die "Una
04a0: 62 6c 65 20 74 6f 20 69 6d 70 6f 72 74 20 69 6e ble to import in
04b0: 74 6f 20 66 6f 73 73 69 6c 22 0d 0a 29 0d 0a 0d to fossil"..)...
04c0: 0a 65 63 68 6f 20 22 44 6f 6e 65 21 2e 22 0d 0a .echo "Done!."..
04d0: 66 6f 73 73 69 6c 20 75 73 65 72 20 6e 65 77 20 fossil user new
04e0: 24 31 20 2d 52 20 2e 2e 2f 24 34 2e 66 6f 73 73 $1 -R ../$4.foss
04f0: 69 6c 0d 0a 66 6f 73 73 69 6c 20 75 73 65 72 20 il..fossil user
0500: 63 61 70 61 62 69 6c 69 74 69 65 73 20 24 31 20 capabilities $1
0510: 27 76 27 20 2d 52 20 2e 2e 2f 24 34 2e 66 6f 73 'v' -R ../$4.fos
0520: 73 69 6c 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e sil..</verbatim>
0530: 0d 0a 3c 70 3e 0d 0a 49 6e 20 74 68 65 20 65 6e ..<p>..In the en
0540: 64 20 79 6f 75 20 77 65 6c 6c 20 68 61 76 65 20 d you well have
0550: 61 20 64 69 72 65 63 74 6f 72 79 20 77 69 74 68 a directory with
0560: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 72 67 the name of arg
0570: 75 6d 65 6e 74 34 20 28 63 6f 6e 74 61 69 6e 69 ument4 (containi
0580: 6e 67 20 74 68 65 20 67 69 74 20 72 65 70 6f 73 ng the git repos
0590: 69 74 6f 72 79 29 20 61 6e 64 20 61 20 66 69 6c itory) and a fil
05a0: 65 20 63 61 6c 6c 65 64 20 61 72 67 75 6d 65 6e e called argumen
05b0: 74 34 2e 66 6f 73 73 69 6c 20 77 69 74 68 20 74 t4.fossil with t
05c0: 68 65 20 6e 65 77 20 66 6f 73 73 69 6c 20 72 65 he new fossil re
05d0: 70 6f 73 69 74 6f 72 79 2e 0d 0a 3c 70 3e 0d 0a pository...<p>..
05e0: 45 78 61 6d 70 6c 65 3a 0d 0a 3c 76 65 72 62 61 Example:..<verba
05f0: 74 69 6d 3e 0d 0a 73 68 20 63 76 73 32 66 6f 73 tim>..sh cvs2fos
0600: 73 69 6c 6e 65 77 20 68 79 70 6e 6f 74 6f 61 64 silnew hypnotoad
0610: 20 3a 70 73 65 72 76 65 72 3a 61 6e 6f 6e 79 6d :pserver:anonym
0620: 6f 75 73 40 74 6c 73 2e 63 76 73 2e 73 6f 75 72 ous@tls.cvs.sour
0630: 63 65 66 6f 72 67 65 2e 6e 65 74 3a 2f 63 76 73 ceforge.net:/cvs
0640: 72 6f 6f 74 2f 74 6c 73 20 74 6c 73 20 74 6c 73 root/tls tls tls
0650: 0d 0a 2a 20 50 72 6f 6d 70 74 73 20 66 6f 72 20 ..* Prompts for
0660: 43 56 53 20 50 61 73 73 77 6f 72 64 2a 0d 0a 3c CVS Password*..<
0670: 69 3e 4c 6f 74 73 20 6f 66 20 61 63 74 69 76 69 i>Lots of activi
0680: 74 79 3c 2f 69 3e 0d 0a 44 6f 6e 65 21 2e 0d 0a ty</i>..Done!...
0690: 63 6f 6e 74 61 63 74 2d 69 6e 66 6f 3a 20 53 65 contact-info: Se
06a0: 61 6e 20 57 6f 6f 64 73 0d 0a 70 61 73 73 77 6f an Woods..passwo
06b0: 72 64 3a 20 0d 0a 52 65 74 79 70 65 20 6e 65 77 rd: ..Retype new
06c0: 20 70 61 73 73 77 6f 72 64 3a 20 0d 0a 3c 2f 76 password: ..</v
06d0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 70 3e 0d 0a 49 erbatim>..<p>..I
06e0: 66 20 49 20 6c 73 20 74 68 65 20 64 69 72 65 63 f I ls the direc
06f0: 74 6f 72 79 3a 0d 0a 3c 70 3e 0d 0a 3c 76 65 72 tory:..<p>..<ver
0700: 62 61 74 69 6d 3e 0d 0a 6c 73 0d 0a 63 76 73 32 batim>..ls..cvs2
0710: 66 6f 73 73 69 6c 2e 73 68 0d 0a 74 63 6c 76 66 fossil.sh..tclvf
0720: 73 2e 66 6f 73 73 69 6c 0d 0a 74 63 6c 76 66 73 s.fossil..tclvfs
0730: 2f 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a /..</verbatim>..
0740: 0a 5a 20 61 31 64 62 63 66 33 64 39 65 39 62 37 .Z a1dbcf3d9e9b7
0750: 39 61 37 33 63 33 66 30 39 34 62 36 31 35 32 38 9a73c3f094b61528
0760: 64 37 61 0a d7a.