Hex Artifact Content
Not logged in

Artifact 87e8121fcba9acec81c5d6b57563849d4fb5e572:

Attachment "bug-privacy_loss.sh" to ticket [e29ea5912a] added by chi 2010-11-18 20:01:58.
0000: 23 21 2f 62 69 6e 2f 73 68 0a 0a 6d 6b 64 69 72  #!/bin/sh..mkdir
0010: 20 70 72 69 76 61 63 79 5f 6c 6f 73 74 0a 63 64   privacy_lost.cd
0020: 20 70 72 69 76 61 63 79 5f 6c 6f 73 74 0a 0a 66   privacy_lost..f
0030: 6f 73 73 69 6c 20 6e 65 77 20 6f 72 69 67 69 6e  ossil new origin
0040: 2e 66 6f 73 73 69 6c 0a 66 6f 73 73 69 6c 20 6f  .fossil.fossil o
0050: 70 65 6e 20 6f 72 69 67 69 6e 2e 66 6f 73 73 69  pen origin.fossi
0060: 6c 0a 0a 65 63 68 6f 20 22 49 6e 69 74 69 61 6c  l..echo "Initial
0070: 20 66 69 6c 65 22 20 3e 20 72 65 61 64 6d 65 2e   file" > readme.
0080: 74 78 74 0a 66 6f 73 73 69 6c 20 61 64 64 20 72  txt.fossil add r
0090: 65 61 64 6d 65 2e 74 78 74 0a 66 6f 73 73 69 6c  eadme.txt.fossil
00a0: 20 63 69 20 2d 66 20 2d 6d 20 22 49 6e 69 74 69   ci -f -m "Initi
00b0: 61 6c 20 6e 6f 6e 2d 70 72 69 76 61 74 65 20 63  al non-private c
00c0: 68 65 63 6b 69 6e 22 0a 0a 73 6c 65 65 70 20 31  heckin"..sleep 1
00d0: 0a 0a 65 63 68 6f 20 22 50 72 69 76 61 74 65 20  ..echo "Private 
00e0: 66 69 6c 65 22 20 3e 20 70 72 69 76 61 74 65 2e  file" > private.
00f0: 74 78 74 0a 66 6f 73 73 69 6c 20 61 64 64 20 70  txt.fossil add p
0100: 72 69 76 61 74 65 2e 74 78 74 0a 66 6f 73 73 69  rivate.txt.fossi
0110: 6c 20 63 69 20 2d 66 20 2d 6d 20 22 46 69 72 73  l ci -f -m "Firs
0120: 74 20 70 72 69 76 61 74 65 20 63 68 65 63 6b 69  t private checki
0130: 6e 22 20 2d 2d 70 72 69 76 61 74 65 0a 0a 66 6f  n" --private..fo
0140: 73 73 69 6c 20 63 6c 6f 73 65 0a 72 6d 20 72 65  ssil close.rm re
0150: 61 64 6d 65 2e 74 78 74 20 70 72 69 76 61 74 65  adme.txt private
0160: 2e 74 78 74 0a 0a 66 6f 73 73 69 6c 20 63 6c 6f  .txt..fossil clo
0170: 6e 65 20 6f 72 69 67 69 6e 2e 66 6f 73 73 69 6c  ne origin.fossil
0180: 20 6f 72 69 67 69 6e 5f 63 6c 6f 6e 65 2e 66 6f   origin_clone.fo
0190: 73 73 69 6c 0a 0a 66 6f 73 73 69 6c 20 6f 70 65  ssil..fossil ope
01a0: 6e 20 6f 72 69 67 69 6e 5f 63 6c 6f 6e 65 2e 66  n origin_clone.f
01b0: 6f 73 73 69 6c 0a 0a 5b 20 21 20 2d 65 20 72 65  ossil..[ ! -e re
01c0: 61 64 6d 65 2e 74 78 74 20 5d 20 26 26 20 65 63  adme.txt ] && ec
01d0: 68 6f 20 22 4f 55 43 48 3a 20 77 68 65 72 65 20  ho "OUCH: where 
01e0: 69 73 20 72 65 61 64 6d 65 2e 74 78 74 20 67 6f  is readme.txt go
01f0: 6e 65 3f 22 0a 5b 20 2d 65 20 70 72 69 76 61 74  ne?".[ -e privat
0200: 65 2e 74 78 74 20 5d 20 26 26 20 65 63 68 6f 20  e.txt ] && echo 
0210: 22 4f 55 43 48 3a 20 77 68 79 20 69 73 20 70 72  "OUCH: why is pr
0220: 69 76 61 74 65 2e 74 78 74 20 77 69 74 68 69 6e  ivate.txt within
0230: 20 63 6c 6f 6e 65 3f 22 0a 0a 66 6f 73 73 69 6c   clone?"..fossil
0240: 20 63 6c 6f 73 65 0a 72 6d 20 72 65 61 64 6d 65   close.rm readme
0250: 2e 74 78 74 20 70 72 69 76 61 74 65 2e 74 78 74  .txt private.txt
0260: 0a 0a 6d 6b 64 69 72 20 64 65 63 6f 6e 73 74 72  ..mkdir deconstr
0270: 75 63 74 65 64 0a 66 6f 73 73 69 6c 20 64 65 63  ucted.fossil dec
0280: 6f 6e 73 74 72 75 63 74 20 2d 52 20 6f 72 69 67  onstruct -R orig
0290: 69 6e 2e 66 6f 73 73 69 6c 20 64 65 63 6f 6e 73  in.fossil decons
02a0: 74 72 75 63 74 65 64 0a 66 6f 73 73 69 6c 20 72  tructed.fossil r
02b0: 65 63 6f 6e 73 74 72 75 63 74 20 72 65 63 6f 6e  econstruct recon
02c0: 2e 66 6f 73 73 69 6c 20 64 65 63 6f 6e 73 74 72  .fossil deconstr
02d0: 75 63 74 65 64 0a 0a 5b 20 2d 64 20 64 65 63 6f  ucted..[ -d deco
02e0: 6e 73 74 72 75 63 74 65 64 20 5d 20 26 26 20 72  nstructed ] && r
02f0: 6d 20 2d 72 66 20 64 65 63 6f 6e 73 74 72 75 63  m -rf deconstruc
0300: 74 65 64 0a 5b 20 21 20 2d 65 20 72 65 63 6f 6e  ted.[ ! -e recon
0310: 2e 66 6f 73 73 69 6c 20 5d 20 26 26 20 65 63 68  .fossil ] && ech
0320: 6f 20 22 4f 55 43 48 3a 20 57 68 65 72 65 20 69  o "OUCH: Where i
0330: 73 20 6d 79 20 72 65 63 6f 6e 73 74 72 75 63 74  s my reconstruct
0340: 65 64 20 72 65 70 6f 73 69 74 6f 72 79 3f 22 0a  ed repository?".
0350: 0a 66 6f 73 73 69 6c 20 6f 70 65 6e 20 72 65 63  .fossil open rec
0360: 6f 6e 2e 66 6f 73 73 69 6c 0a 0a 5b 20 21 20 2d  on.fossil..[ ! -
0370: 65 20 72 65 61 64 6d 65 2e 74 78 74 20 5d 20 26  e readme.txt ] &
0380: 26 20 65 63 68 6f 20 22 4f 55 43 48 3a 20 77 68  & echo "OUCH: wh
0390: 65 72 65 20 69 73 20 72 65 61 64 6d 65 2e 74 78  ere is readme.tx
03a0: 74 20 67 6f 6e 65 3f 22 0a 5b 20 21 20 2d 65 20  t gone?".[ ! -e 
03b0: 70 72 69 76 61 74 65 2e 74 78 74 20 5d 20 26 26  private.txt ] &&
03c0: 20 65 63 68 6f 20 22 4f 55 43 48 3a 20 77 68 65   echo "OUCH: whe
03d0: 72 65 20 69 73 20 70 72 69 76 61 74 65 2e 74 78  re is private.tx
03e0: 74 20 67 6f 6e 65 3f 22 0a 0a 66 6f 73 73 69 6c  t gone?"..fossil
03f0: 20 63 6c 6f 73 65 0a 72 6d 20 72 65 61 64 6d 65   close.rm readme
0400: 2e 74 78 74 20 70 72 69 76 61 74 65 2e 74 78 74  .txt private.txt
0410: 0a 0a 66 6f 73 73 69 6c 20 63 6c 6f 6e 65 20 72  ..fossil clone r
0420: 65 63 6f 6e 2e 66 6f 73 73 69 6c 20 72 65 63 6f  econ.fossil reco
0430: 6e 5f 63 6c 6f 6e 65 2e 66 6f 73 73 69 6c 0a 0a  n_clone.fossil..
0440: 66 6f 73 73 69 6c 20 6f 70 65 6e 20 72 65 63 6f  fossil open reco
0450: 6e 5f 63 6c 6f 6e 65 2e 66 6f 73 73 69 6c 0a 0a  n_clone.fossil..
0460: 5b 20 21 20 2d 65 20 72 65 61 64 6d 65 2e 74 78  [ ! -e readme.tx
0470: 74 20 5d 20 26 26 20 65 63 68 6f 20 22 4f 55 43  t ] && echo "OUC
0480: 48 3a 20 77 68 65 72 65 20 69 73 20 72 65 61 64  H: where is read
0490: 6d 65 2e 74 78 74 20 67 6f 6e 65 3f 22 0a 5b 20  me.txt gone?".[ 
04a0: 2d 65 20 70 72 69 76 61 74 65 2e 74 78 74 20 5d  -e private.txt ]
04b0: 20 26 26 20 65 63 68 6f 20 22 4f 55 43 48 3a 20   && echo "OUCH: 
04c0: 77 68 79 20 69 73 20 70 72 69 76 61 74 65 2e 74  why is private.t
04d0: 78 74 20 77 69 74 68 69 6e 20 63 6c 6f 6e 65 3f  xt within clone?
04e0: 22 0a 0a 66 6f 73 73 69 6c 20 63 6c 6f 73 65 0a  "..fossil close.
04f0: 72 6d 20 72 65 61 64 6d 65 2e 74 78 74 20 70 72  rm readme.txt pr
0500: 69 76 61 74 65 2e 74 78 74 0a 0a 72 6d 20 6f 72  ivate.txt..rm or
0510: 69 67 69 6e 2e 66 6f 73 73 69 6c 20 6f 72 69 67  igin.fossil orig
0520: 69 6e 5f 63 6c 6f 6e 65 2e 66 6f 73 73 69 6c 20  in_clone.fossil 
0530: 72 65 63 6f 6e 2e 66 6f 73 73 69 6c 20 72 65 63  recon.fossil rec
0540: 6f 6e 5f 63 6c 6f 6e 65 2e 66 6f 73 73 69 6c 0a  on_clone.fossil.
0550: 0a 63 64 20 2e 2e 0a 72 6d 64 69 72 20 70 72 69  .cd ...rmdir pri
0560: 76 61 63 79 5f 6c 6f 73 74 0a 0a 65 78 69 74 20  vacy_lost..exit 
0570: 30 0a                                            0.