Artifact
c87edf48f4d903864533c8fe9db4a0bc4221e69c:
0000: 23 21 2f 62 69 6e 2f 62 61 73 68 0a 0a 77 69 6b #!/bin/bash..wik
0010: 69 6e 61 6d 65 3d 24 31 0a 46 4f 53 53 49 4c 42 iname=$1.FOSSILB
0020: 49 4e 3d 66 6f 73 73 69 6c 0a 0a 69 66 20 5b 20 IN=fossil..if [
0030: 78 22 24 77 69 6b 69 6e 61 6d 65 22 20 3d 3d 20 x"$wikiname" ==
0040: 22 78 22 20 5d 3b 74 68 65 6e 0a 20 20 65 63 68 "x" ];then. ech
0050: 6f 20 22 55 73 61 67 65 3a 20 76 69 77 69 6b 69 o "Usage: viwiki
0060: 20 77 69 6b 69 70 61 67 65 6e 61 6d 65 22 0a 20 wikipagename".
0070: 20 65 78 69 74 0a 66 69 0a 0a 24 46 4f 53 53 49 exit.fi..$FOSSI
0080: 4c 42 49 4e 20 73 79 6e 63 0a 0a 77 69 6b 69 74 LBIN sync..wikit
0090: 6d 70 66 69 6c 65 3d 60 6d 6b 74 65 6d 70 20 2f mpfile=`mktemp /
00a0: 74 6d 70 2f 24 7b 55 53 45 52 7d 5f 77 69 6b 69 tmp/${USER}_wiki
00b0: 65 64 69 74 2e 58 58 58 58 58 58 58 60 0a 69 66 edit.XXXXXXX`.if
00c0: 20 21 20 24 46 4f 53 53 49 4c 42 49 4e 20 77 69 ! $FOSSILBIN wi
00d0: 6b 69 20 65 78 70 6f 72 74 20 22 24 77 69 6b 69 ki export "$wiki
00e0: 6e 61 6d 65 22 20 32 3e 20 2f 64 65 76 2f 6e 75 name" 2> /dev/nu
00f0: 6c 6c 20 20 31 3e 20 24 77 69 6b 69 74 6d 70 66 ll 1> $wikitmpf
0100: 69 6c 65 20 3b 74 68 65 6e 0a 20 20 20 20 63 61 ile ;then. ca
0110: 74 20 2f 64 65 76 2f 6e 75 6c 6c 20 3e 20 24 77 t /dev/null > $w
0120: 69 6b 69 74 6d 70 66 69 6c 65 0a 20 20 20 20 77 ikitmpfile. w
0130: 69 6b 69 70 61 67 65 73 74 61 74 65 3d 27 6e 65 ikipagestate='ne
0140: 77 27 0a 65 6c 73 65 0a 20 20 20 20 77 69 6b 69 w'.else. wiki
0150: 70 61 67 65 73 74 61 74 65 3d 27 65 78 69 73 74 pagestate='exist
0160: 69 6e 67 27 0a 66 69 0a 0a 69 66 20 5b 20 78 22 ing'.fi..if [ x"
0170: 24 45 44 49 54 4f 52 22 20 3d 3d 20 22 78 22 20 $EDITOR" == "x"
0180: 5d 3b 74 68 65 6e 0a 09 45 44 49 54 4f 52 3d 22 ];then..EDITOR="
0190: 67 76 69 6d 20 2d 66 22 0a 66 69 0a 0a 65 63 68 gvim -f".fi..ech
01a0: 6f 20 24 45 44 49 54 4f 52 20 7c 20 67 72 65 70 o $EDITOR | grep
01b0: 20 2d 71 20 2d 65 20 67 76 69 6d 0a 69 73 47 76 -q -e gvim.isGv
01c0: 69 6d 3d 24 3f 0a 0a 65 63 68 6f 20 24 45 44 49 im=$?..echo $EDI
01d0: 54 4f 52 20 7c 20 67 72 65 70 20 2d 71 20 2d 65 TOR | grep -q -e
01e0: 20 27 67 76 69 6d 2e 2a 2d 66 27 0a 68 61 73 46 'gvim.*-f'.hasF
01f0: 3d 24 3f 0a 0a 69 66 20 5b 5b 20 24 69 73 47 76 =$?..if [[ $isGv
0200: 69 6d 20 3d 3d 20 30 20 26 26 20 24 68 61 73 46 im == 0 && $hasF
0210: 20 21 3d 20 30 20 5d 5d 3b 20 74 68 65 6e 0a 09 != 0 ]]; then..
0220: 45 44 49 54 4f 52 3d 22 24 45 44 49 54 4f 52 20 EDITOR="$EDITOR
0230: 2d 66 22 0a 66 69 0a 0a 24 45 44 49 54 4f 52 20 -f".fi..$EDITOR
0240: 24 77 69 6b 69 74 6d 70 66 69 6c 65 0a 0a 69 66 $wikitmpfile..if
0250: 20 5b 20 24 77 69 6b 69 70 61 67 65 73 74 61 74 [ $wikipagestat
0260: 65 20 3d 3d 20 27 6e 65 77 27 20 5d 3b 74 68 65 e == 'new' ];the
0270: 6e 0a 20 20 24 46 4f 53 53 49 4c 42 49 4e 20 77 n. $FOSSILBIN w
0280: 69 6b 69 20 63 72 65 61 74 65 20 22 24 77 69 6b iki create "$wik
0290: 69 6e 61 6d 65 22 20 24 77 69 6b 69 74 6d 70 66 iname" $wikitmpf
02a0: 69 6c 65 0a 65 6c 73 65 0a 20 20 24 46 4f 53 53 ile.else. $FOSS
02b0: 49 4c 42 49 4e 20 77 69 6b 69 20 63 6f 6d 6d 69 ILBIN wiki commi
02c0: 74 20 22 24 77 69 6b 69 6e 61 6d 65 22 20 24 77 t "$wikiname" $w
02d0: 69 6b 69 74 6d 70 66 69 6c 65 0a 66 69 0a 0a 24 ikitmpfile.fi..$
02e0: 46 4f 53 53 49 4c 42 49 4e 20 73 79 6e 63 0a 0a FOSSILBIN sync..
02f0: 72 6d 20 2d 66 20 24 77 69 6b 69 74 6d 70 66 69 rm -f $wikitmpfi
0300: 6c 65 0a le.