Artifact
dca81e254d91f1e297d75502df10d08fccf69681:
Ticket change
[dca81e254d]
- Ticket [c3971eac71]
fossil breaks if HOME points to read-only directory status still Open with 2 other changes
by
drh
2010-04-21 23:38:41.
0000: 44 20 32 30 31 30 2d 30 34 2d 32 31 54 32 33 3a D 2010-04-21T23:
0010: 33 38 3a 34 31 0a 4a 20 63 6f 6d 6d 65 6e 74 20 38:41.J comment
0020: 54 72 79 5c 73 74 68 65 5c 73 66 6f 6c 6c 6f 77 Try\sthe\sfollow
0030: 69 6e 67 3a 5c 72 5c 6e 5c 72 5c 6e 3c 70 72 65 ing:\r\n\r\n<pre
0040: 3e 5c 72 5c 6e 65 78 70 6f 72 74 5c 73 48 4f 4d >\r\nexport\sHOM
0050: 45 3d 2f 5c 72 5c 6e 63 64 5c 73 2f 74 6d 70 5c E=/\r\ncd\s/tmp\
0060: 72 5c 6e 66 6f 73 73 69 6c 5c 73 6e 65 77 5c 73 r\nfossil\snew\s
0070: 74 65 73 74 2e 66 6f 73 73 69 6c 5c 72 5c 6e 3c test.fossil\r\n<
0080: 2f 70 72 65 3e 5c 72 5c 6e 5c 72 5c 6e 54 68 65 /pre>\r\n\r\nThe
0090: 5c 73 66 6f 6c 6c 6f 77 69 6e 67 5c 73 6d 65 73 \sfollowing\smes
00a0: 73 61 67 65 5c 73 69 73 5c 73 70 72 6f 64 75 63 sage\sis\sproduc
00b0: 65 64 3a 5c 72 5c 6e 5c 72 5c 6e 3c 70 72 65 3e ed:\r\n\r\n<pre>
00c0: 5c 72 5c 6e 66 6f 73 73 69 6c 3a 5c 73 53 51 4c \r\nfossil:\sSQL
00d0: 49 54 45 5f 43 41 4e 54 4f 50 45 4e 3a 5c 73 63 ITE_CANTOPEN:\sc
00e0: 61 6e 6e 6f 74 5c 73 6f 70 65 6e 5c 73 66 69 6c annot\sopen\sfil
00f0: 65 5c 73 61 74 5c 73 73 6f 75 72 63 65 5c 73 6c e\sat\ssource\sl
0100: 69 6e 65 5c 73 32 36 32 39 34 5c 72 5c 6e 66 6f ine\s26294\r\nfo
0110: 73 73 69 6c 3a 5c 73 75 6e 61 62 6c 65 5c 73 74 ssil:\sunable\st
0120: 6f 5c 73 6f 70 65 6e 5c 73 64 61 74 61 62 61 73 o\sopen\sdatabas
0130: 65 5c 73 66 69 6c 65 5c 72 5c 6e 5c 72 5c 6e 49 e\sfile\r\n\r\nI
0140: 66 5c 73 79 6f 75 5c 73 68 61 76 65 5c 73 72 65 f\syou\shave\sre
0150: 63 65 6e 74 6c 79 5c 73 75 70 64 61 74 65 64 5c cently\supdated\
0160: 73 79 6f 75 72 5c 73 66 6f 73 73 69 6c 5c 73 65 syour\sfossil\se
0170: 78 65 63 75 74 61 62 6c 65 2c 5c 73 79 6f 75 5c xecutable,\syou\
0180: 73 6d 69 67 68 74 5c 72 5c 6e 6e 65 65 64 5c 73 smight\r\nneed\s
0190: 74 6f 5c 73 72 75 6e 5c 73 22 66 6f 73 73 69 6c to\srun\s"fossil
01a0: 5c 73 61 6c 6c 5c 73 72 65 62 75 69 6c 64 22 5c \sall\srebuild"\
01b0: 73 74 6f 5c 73 62 72 69 6e 67 5c 73 74 68 65 5c sto\sbring\sthe\
01c0: 73 72 65 70 6f 73 69 74 6f 72 79 5c 72 5c 6e 73 srepository\r\ns
01d0: 63 68 65 6d 61 73 5c 73 75 70 5c 73 74 6f 5c 73 chemas\sup\sto\s
01e0: 64 61 74 65 2e 5c 72 5c 6e 3c 2f 70 72 65 3e 5c date.\r\n</pre>\
01f0: 72 5c 6e 5c 72 5c 6e 54 68 69 73 5c 73 65 78 61 r\n\r\nThis\sexa
0200: 6d 70 6c 65 5c 73 61 73 73 75 6d 65 73 5c 73 74 mple\sassumes\st
0210: 68 61 74 5c 73 74 68 65 5c 73 6c 6f 67 67 65 64 hat\sthe\slogged
0220: 5c 73 69 6e 5c 73 75 73 65 72 5c 73 64 6f 65 73 \sin\suser\sdoes
0230: 5c 73 6e 6f 74 5c 73 68 61 76 65 5c 73 77 72 69 \snot\shave\swri
0240: 74 65 5c 73 61 63 63 65 73 73 5c 73 74 6f 5c 73 te\saccess\sto\s
0250: 2f 5c 73 62 75 74 5c 73 64 6f 65 73 5c 73 68 61 /\sbut\sdoes\sha
0260: 76 65 5c 73 77 72 69 74 65 5c 73 61 63 63 65 73 ve\swrite\sacces
0270: 73 5c 73 74 6f 5c 73 2f 74 6d 70 2e 5c 72 5c 6e s\sto\s/tmp.\r\n
0280: 54 68 69 73 5c 73 69 73 5c 73 61 5c 73 63 6f 6e This\sis\sa\scon
0290: 74 72 69 76 65 64 5c 73 65 78 61 6d 70 6c 65 5c trived\sexample\
02a0: 73 74 68 61 74 5c 73 64 65 6d 6f 6e 73 74 72 61 sthat\sdemonstra
02b0: 74 65 73 5c 73 74 68 65 5c 73 70 72 6f 62 6c 65 tes\sthe\sproble
02c0: 6d 3b 5c 73 74 68 65 5c 73 61 63 74 75 61 6c 5c m;\sthe\sactual\
02d0: 73 70 72 6f 62 6c 65 6d 5c 73 77 61 73 5c 73 65 sproblem\swas\se
02e0: 6e 63 6f 75 6e 74 65 72 65 64 5c 73 77 68 69 6c ncountered\swhil
02f0: 65 5c 73 61 74 74 65 6d 70 74 69 6e 67 5c 73 74 e\sattempting\st
0300: 6f 5c 73 75 73 65 5c 73 66 6f 73 73 69 6c 5c 73 o\suse\sfossil\s
0310: 77 68 65 6e 5c 73 72 75 6e 6e 69 6e 67 5c 73 61 when\srunning\sa
0320: 73 5c 73 61 6e 6f 74 68 65 72 5c 73 75 73 65 72 s\sanother\suser
0330: 5c 73 28 76 69 61 5c 73 73 75 64 6f 29 2c 5c 73 \s(via\ssudo),\s
0340: 62 75 74 5c 73 77 69 74 68 5c 73 74 68 65 5c 73 but\swith\sthe\s
0350: 6f 6c 64 5c 73 76 61 6c 75 65 5c 73 6f 66 5c 73 old\svalue\sof\s
0360: 48 4f 4d 45 5c 73 28 74 68 65 5c 73 64 65 66 61 HOME\s(the\sdefa
0370: 75 6c 74 5c 73 73 75 64 6f 5c 73 62 65 68 61 76 ult\ssudo\sbehav
0380: 69 6f 72 5c 73 6f 66 5c 73 70 72 65 73 65 72 76 ior\sof\spreserv
0390: 69 6e 67 5c 73 74 68 65 5c 73 6f 72 69 67 69 6e ing\sthe\sorigin
03a0: 61 6c 5c 73 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 al\senvironment)
03b0: 2e 5c 72 5c 6e 5c 72 5c 6e 49 66 5c 73 69 6e 73 .\r\n\r\nIf\sins
03c0: 74 65 61 64 5c 73 48 4f 4d 45 5c 73 70 6f 69 6e tead\sHOME\spoin
03d0: 74 73 5c 73 74 6f 5c 73 61 6e 6f 74 68 65 72 5c ts\sto\sanother\
03e0: 73 75 73 65 72 27 73 5c 73 64 69 72 65 63 74 6f suser's\sdirecto
03f0: 72 79 5c 73 74 68 61 74 5c 73 68 61 73 5c 73 61 ry\sthat\shas\sa
0400: 5c 73 2e 66 6f 73 73 69 6c 2c 5c 73 62 75 74 5c \s.fossil,\sbut\
0410: 73 74 68 65 5c 73 63 75 72 72 65 6e 74 5c 73 75 sthe\scurrent\su
0420: 73 65 72 5c 73 64 6f 65 73 5c 73 6e 6f 74 5c 73 ser\sdoes\snot\s
0430: 68 61 76 65 5c 73 77 72 69 74 65 5c 73 61 63 63 have\swrite\sacc
0440: 65 73 73 5c 73 74 6f 5c 73 69 74 5c 73 61 6e 64 ess\sto\sit\sand
0450: 5c 73 79 6f 75 5c 73 61 74 74 65 6d 70 74 5c 73 \syou\sattempt\s
0460: 74 6f 5c 73 63 6c 6f 6e 65 5c 73 28 69 6e 73 74 to\sclone\s(inst
0470: 65 61 64 5c 73 6f 66 5c 73 6a 75 73 74 5c 73 6e ead\sof\sjust\sn
0480: 65 77 29 5c 73 79 6f 75 5c 73 67 65 74 3a 5c 72 ew)\syou\sget:\r
0490: 5c 6e 5c 72 5c 6e 3c 76 65 72 62 61 74 69 6d 3e \n\r\n<verbatim>
04a0: 5c 72 5c 6e 66 6f 73 73 69 6c 3a 5c 73 53 51 4c \r\nfossil:\sSQL
04b0: 49 54 45 5f 52 45 41 44 4f 4e 4c 59 3a 5c 73 73 ITE_READONLY:\ss
04c0: 74 61 74 65 6d 65 6e 74 5c 73 61 62 6f 72 74 73 tatement\saborts
04d0: 5c 73 61 74 5c 73 31 39 3a 5c 73 5b 49 4e 53 45 \sat\s19:\s[INSE
04e0: 52 54 5c 73 4f 52 5c 73 49 47 4e 4f 52 45 5c 73 RT\sOR\sIGNORE\s
04f0: 49 4e 54 4f 5c 73 5c 72 5c 6e 67 6c 6f 62 61 6c INTO\s\r\nglobal
0500: 5f 63 6f 6e 66 69 67 28 6e 61 6d 65 2c 76 61 6c _config(name,val
0510: 75 65 29 56 41 4c 55 45 53 28 27 72 65 70 6f 3a ue)VALUES('repo:
0520: 2f 74 6d 70 2f 66 6f 6f 2e 66 6f 73 27 2c 31 29 /tmp/foo.fos',1)
0530: 5d 5c 73 61 74 74 65 6d 70 74 5c 73 74 6f 5c 73 ]\sattempt\sto\s
0540: 77 72 69 74 65 5c 73 61 5c 73 72 65 61 64 6f 6e write\sa\sreadon
0550: 6c 79 5c 73 64 61 74 61 62 61 73 65 5c 72 5c 6e ly\sdatabase\r\n
0560: 66 6f 73 73 69 6c 3a 5c 73 61 74 74 65 6d 70 74 fossil:\sattempt
0570: 5c 73 74 6f 5c 73 77 72 69 74 65 5c 73 61 5c 73 \sto\swrite\sa\s
0580: 72 65 61 64 6f 6e 6c 79 5c 73 64 61 74 61 62 61 readonly\sdataba
0590: 73 65 5c 72 5c 6e 49 4e 53 45 52 54 5c 73 4f 52 se\r\nINSERT\sOR
05a0: 5c 73 49 47 4e 4f 52 45 5c 73 49 4e 54 4f 5c 73 \sIGNORE\sINTO\s
05b0: 67 6c 6f 62 61 6c 5f 63 6f 6e 66 69 67 28 6e 61 global_config(na
05c0: 6d 65 2c 76 61 6c 75 65 29 56 41 4c 55 45 53 28 me,value)VALUES(
05d0: 27 72 65 70 6f 3a 2f 74 6d 70 2f 66 6f 6f 2e 66 'repo:/tmp/foo.f
05e0: 6f 73 27 2c 31 29 5c 72 5c 6e 5c 72 5c 6e 49 66 os',1)\r\n\r\nIf
05f0: 5c 73 79 6f 75 5c 73 68 61 76 65 5c 73 72 65 63 \syou\shave\srec
0600: 65 6e 74 6c 79 5c 73 75 70 64 61 74 65 64 5c 73 ently\supdated\s
0610: 79 6f 75 72 5c 73 66 6f 73 73 69 6c 5c 73 65 78 your\sfossil\sex
0620: 65 63 75 74 61 62 6c 65 2c 5c 73 79 6f 75 5c 73 ecutable,\syou\s
0630: 6d 69 67 68 74 5c 72 5c 6e 6e 65 65 64 5c 73 74 might\r\nneed\st
0640: 6f 5c 73 72 75 6e 5c 73 22 66 6f 73 73 69 6c 5c o\srun\s"fossil\
0650: 73 61 6c 6c 5c 73 72 65 62 75 69 6c 64 22 5c 73 sall\srebuild"\s
0660: 74 6f 5c 73 62 72 69 6e 67 5c 73 74 68 65 5c 73 to\sbring\sthe\s
0670: 72 65 70 6f 73 69 74 6f 72 79 5c 72 5c 6e 73 63 repository\r\nsc
0680: 68 65 6d 61 73 5c 73 75 70 5c 73 74 6f 5c 73 64 hemas\sup\sto\sd
0690: 61 74 65 2e 5c 72 5c 6e 66 6f 73 73 69 6c 3a 5c ate.\r\nfossil:\
06a0: 73 53 51 4c 49 54 45 5f 45 52 52 4f 52 3a 5c 73 sSQLITE_ERROR:\s
06b0: 73 74 61 74 65 6d 65 6e 74 5c 73 61 62 6f 72 74 statement\sabort
06c0: 73 5c 73 61 74 5c 73 32 3a 5c 73 5b 52 4f 4c 4c s\sat\s2:\s[ROLL
06d0: 42 41 43 4b 5d 5c 73 63 61 6e 6e 6f 74 5c 73 72 BACK]\scannot\sr
06e0: 6f 6c 6c 62 61 63 6b 5c 73 2d 5c 73 6e 6f 5c 73 ollback\s-\sno\s
06f0: 74 72 61 6e 73 61 63 74 69 6f 6e 5c 73 69 73 5c transaction\sis\
0700: 73 61 63 74 69 76 65 5c 72 5c 6e 3c 2f 76 65 72 sactive\r\n</ver
0710: 62 61 74 69 6d 3e 5c 72 5c 6e 5c 72 5c 6e 49 5c batim>\r\n\r\nI\
0720: 73 77 61 73 5c 73 65 78 70 65 63 74 69 6e 67 5c swas\sexpecting\
0730: 73 66 6f 73 73 69 6c 5c 73 74 6f 5c 73 77 6f 72 sfossil\sto\swor
0740: 6b 5c 73 77 68 65 74 68 65 72 5c 73 6f 72 5c 73 k\swhether\sor\s
0750: 6e 6f 74 5c 73 69 74 5c 73 63 61 6e 5c 73 6d 75 not\sit\scan\smu
0760: 63 6b 5c 73 61 72 6f 75 6e 64 5c 73 77 69 74 68 ck\saround\swith
0770: 5c 73 7e 2f 2e 66 6f 73 73 69 6c 2e 5c 73 5c 73 \s~/.fossil.\s\s
0780: 76 69 6d 5c 73 77 6f 72 6b 73 5c 73 77 68 65 74 vim\sworks\swhet
0790: 68 65 72 5c 73 6f 72 5c 73 6e 6f 74 5c 73 69 74 her\sor\snot\sit
07a0: 5c 73 63 61 6e 5c 73 77 72 69 74 65 5c 73 74 6f \scan\swrite\sto
07b0: 5c 73 7e 2f 2e 76 69 6d 69 6e 66 6f 5c 73 28 61 \s~/.viminfo\s(a
07c0: 6c 74 68 6f 75 67 68 5c 73 69 74 5c 73 64 6f 65 lthough\sit\sdoe
07d0: 73 5c 73 63 6f 6d 70 6c 61 69 6e 5c 73 69 66 5c s\scomplain\sif\
07e0: 73 69 74 5c 73 63 61 6e 27 74 29 2e 0a 4a 20 72 sit\scan't)..J r
07f0: 65 73 6f 6c 75 74 69 6f 6e 20 4f 70 65 6e 0a 4b esolution Open.K
0800: 20 63 33 39 37 31 65 61 63 37 31 61 31 62 64 30 c3971eac71a1bd0
0810: 31 63 63 32 65 34 37 62 38 63 31 66 32 64 31 30 1cc2e47b8c1f2d10
0820: 39 62 35 34 64 35 35 37 34 0a 55 20 64 72 68 0a 9b54d5574.U drh.
0830: 5a 20 61 39 37 30 63 64 66 38 33 38 63 66 36 39 Z a970cdf838cf69
0840: 34 35 31 65 38 35 34 34 38 35 61 32 63 30 34 65 451e854485a2c04e
0850: 63 30 0a c0.