Megatest

Hex Artifact Content
Login

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.