Browse Source

Plan 9 from Bell Labs 2003-11-12

David du Colombier 20 years ago
parent
commit
8d132d6166

+ 38 - 37
dist/replica/plan9.db

@@ -26,7 +26,7 @@
 386/bin/8l - 775 sys sys 1064598018 107653
 386/bin/9660srv - 775 sys sys 1064598019 104963
 386/bin/aan - 775 sys sys 1064598020 128816
-386/bin/acid - 775 sys sys 1064598022 378064
+386/bin/acid - 775 sys sys 1068558062 379803
 386/bin/acme - 775 sys sys 1068385791 417693
 386/bin/ape - 20000000775 sys sys 1016944144 0
 386/bin/ape/basename - 775 sys sys 1048744993 132430
@@ -188,7 +188,7 @@
 386/bin/cpu - 775 sys sys 1068385797 138633
 386/bin/crop - 775 sys sys 1064598115 115337
 386/bin/date - 775 sys sys 1064598116 43706
-386/bin/db - 775 sys sys 1064598118 323381
+386/bin/db - 775 sys sys 1068558068 325118
 386/bin/dc - 775 sys sys 1064598118 97623
 386/bin/dd - 775 sys sys 1064598118 45991
 386/bin/deroff - 775 sys sys 1064598119 72954
@@ -295,7 +295,7 @@
 386/bin/join - 775 sys sys 1064598245 114856
 386/bin/jpg - 775 sys sys 1068385803 173300
 386/bin/kprof - 775 sys sys 1064598247 101656
-386/bin/ktrace - 775 sys sys 1064598247 114883
+386/bin/ktrace - 775 sys sys 1068558079 115884
 386/bin/lens - 775 sys sys 1064598248 122791
 386/bin/lex - 775 sys sys 1064598249 97280
 386/bin/lnfs - 775 sys sys 1064598250 100511
@@ -328,7 +328,7 @@
 386/bin/netstat - 775 sys sys 1064598268 81135
 386/bin/news - 775 sys sys 1064598268 70266
 386/bin/nfs - 775 sys sys 1064598270 316973
-386/bin/nm - 775 sys sys 1064598271 122981
+386/bin/nm - 775 sys sys 1068558088 123128
 386/bin/nntpfs - 775 sys sys 1064598272 162969
 386/bin/ns - 775 sys sys 1064598273 63582
 386/bin/p - 775 sys sys 1064598274 63537
@@ -346,7 +346,7 @@
 386/bin/ppm - 775 sys sys 1068385805 147658
 386/bin/pr - 775 sys sys 1064598283 76323
 386/bin/primes - 775 sys sys 1064598284 39022
-386/bin/prof - 775 sys sys 1068385805 106495
+386/bin/prof - 775 sys sys 1068558090 106673
 386/bin/proof - 775 sys sys 1064598286 176186
 386/bin/ps - 775 sys sys 1064598286 64385
 386/bin/pwd - 775 sys sys 1068385805 37108
@@ -356,15 +356,15 @@
 386/bin/rdbfs - 775 sys sys 1064598290 170393
 386/bin/read - 775 sys sys 1064598290 56294
 386/bin/replica - 20000000775 sys sys 1018321168 0
-386/bin/replica/applychanges - 775 sys sys 1064598291 98815
-386/bin/replica/applylog - 775 sys sys 1064598292 99672
+386/bin/replica/applychanges - 775 sys sys 1068558248 98445
+386/bin/replica/applylog - 775 sys sys 1068558249 99090
 386/bin/replica/changes - 775 sys sys 1020319082 42
-386/bin/replica/compactdb - 775 sys sys 1064598292 77679
+386/bin/replica/compactdb - 775 sys sys 1068558249 77099
 386/bin/replica/pull - 775 sys sys 1020319083 39
 386/bin/replica/push - 775 sys sys 1020319083 39
 386/bin/replica/scan - 775 sys sys 1020319083 39
 386/bin/replica/setupdirs - 775 sys sys 1020319083 44
-386/bin/replica/updatedb - 775 sys sys 1064598293 95708
+386/bin/replica/updatedb - 775 sys sys 1068558250 95126
 386/bin/resample - 775 sys sys 1064598294 120124
 386/bin/rio - 775 sys sys 1064598297 303363
 386/bin/rm - 775 sys sys 1064598298 59786
@@ -379,7 +379,7 @@
 386/bin/sha1sum - 775 sys sys 1064598307 59333
 386/bin/size - 775 sys sys 1064598308 76047
 386/bin/sleep - 775 sys sys 1038443184 3423
-386/bin/snap - 775 sys sys 1064598310 288474
+386/bin/snap - 775 sys sys 1068558112 289953
 386/bin/snapfs - 775 sys sys 1064598312 360074
 386/bin/sniffer - 775 sys sys 1038443185 99028
 386/bin/snoopy - 775 sys sys 1068385806 153816
@@ -412,7 +412,7 @@
 386/bin/topng - 775 sys sys 1064598333 137721
 386/bin/toppm - 775 sys sys 1064598335 164939
 386/bin/touch - 775 sys sys 1064598335 62963
-386/bin/tprof - 775 sys sys 1064598337 273320
+386/bin/tprof - 775 sys sys 1068558117 275057
 386/bin/tr - 775 sys sys 1064598338 60290
 386/bin/troff - 775 sys sys 1048745077 352988
 386/bin/troff2html - 775 sys sys 1064598338 80782
@@ -459,30 +459,31 @@
 386/bin/vacfs - 775 sys sys 1064598373 177702
 386/bin/venti - 20000000775 sys sys 947360466 0
 386/bin/venti/buildindex - 775 sys sys 1064598374 160540
-386/bin/venti/checkarenas - 775 sys sys 1064598375 164405
+386/bin/venti/checkarenas - 775 sys sys 1068558263 164862
 386/bin/venti/checkindex - 775 sys sys 1064598376 161346
 386/bin/venti/clumpstats - 775 sys sys 1064598377 150452
 386/bin/venti/conf - 775 sys sys 1056364399 1506
 386/bin/venti/copy - 775 sys sys 1064598378 104558
-386/bin/venti/findscore - 775 sys sys 1064598379 131327
+386/bin/venti/findscore - 775 sys sys 1068558264 131782
 386/bin/venti/fmtarenas - 775 sys sys 1064598380 132572
 386/bin/venti/fmtindex - 775 sys sys 1064598381 150815
 386/bin/venti/fmtisect - 775 sys sys 1064598382 150699
-386/bin/venti/rdarena - 775 sys sys 1064598383 131051
+386/bin/venti/rdarena - 775 sys sys 1068558264 131508
 386/bin/venti/read - 775 sys sys 1064598384 100831
 386/bin/venti/sync - 775 sys sys 1064598384 99981
-386/bin/venti/syncindex - 775 sys sys 1064598386 175875
-386/bin/venti/venti - 775 sys sys 1064598387 251676
-386/bin/venti/verifyarena - 775 sys sys 1064598388 104568
-386/bin/venti/wrarena - 775 sys sys 1064598390 181861
+386/bin/venti/syncindex - 775 sys sys 1068558265 176332
+386/bin/venti/venti - 775 sys sys 1068558266 252180
+386/bin/venti/verifyarena - 775 sys sys 1068558266 105025
+386/bin/venti/wrarena - 775 sys sys 1068558267 182318
 386/bin/venti/write - 775 sys sys 1064598391 100783
 386/bin/vncs - 775 sys sys 1064598394 442530
 386/bin/vncv - 775 sys sys 1064598395 270632
 386/bin/vt - 775 sys sys 1064598396 171298
 386/bin/vtdump - 775 sys sys 1064598398 161142
 386/bin/wc - 775 sys sys 1064598399 42148
-386/bin/webcookies - 775 sys sys 1064598400 162860
-386/bin/webfs - 775 sys sys 1068385812 352221
+386/bin/webcookies - 775 sys sys 1068558171 162995
+386/bin/webfs - 775 sys sys 1068558224 352388
+386/bin/webfsget - 775 sys sys 1068558178 39356
 386/bin/wikifs - 775 sys sys 1064598403 197449
 386/bin/winwatch - 775 sys sys 1064598404 141476
 386/bin/xd - 775 sys sys 1064598404 62556
@@ -504,12 +505,12 @@
 386/lib - 20000000775 sys sys 1016826328 0
 386/lib/ape - 20000000775 sys sys 944969312 0
 386/lib/ape/lib9.a - 664 sys sys 1038237538 6378
-386/lib/ape/libap.a - 664 sys sys 1050868859 796804
-386/lib/ape/libbsd.a - 664 sys sys 1064598462 177652
-386/lib/ape/libl.a - 664 sys sys 1050868860 9214
-386/lib/ape/libnet.a - 664 sys sys 1050868860 16878
-386/lib/ape/libregexp.a - 664 sys sys 1050868861 47234
-386/lib/ape/libv.a - 664 sys sys 1050868861 19540
+386/lib/ape/libap.a - 664 sys sys 1068558290 804974
+386/lib/ape/libbsd.a - 664 sys sys 1068558290 179718
+386/lib/ape/libl.a - 664 sys sys 1068558290 9450
+386/lib/ape/libnet.a - 664 sys sys 1068558291 16996
+386/lib/ape/libregexp.a - 664 sys sys 1068558291 47642
+386/lib/ape/libv.a - 664 sys sys 1068558291 19718
 386/lib/lib9p.a - 664 sys sys 1068385833 80602
 386/lib/libString.a - 664 sys sys 1068385833 22324
 386/lib/libauth.a - 664 sys sys 1068385834 56258
@@ -527,7 +528,7 @@
 386/lib/libhttpd.a - 664 sys sys 1068385841 98914
 386/lib/libip.a - 664 sys sys 1068385841 34340
 386/lib/libl.a - 664 sys sys 1068385841 5412
-386/lib/libmach.a - 664 sys sys 1068385843 743792
+386/lib/libmach.a - 664 sys sys 1068558293 748290
 386/lib/libmemdraw.a - 664 sys sys 1068385844 292604
 386/lib/libmemlayer.a - 664 sys sys 1068385845 47650
 386/lib/libmp.a - 664 sys sys 1068385845 77924
@@ -3303,7 +3304,7 @@ sys/doc/venti/venti.pdf - 755 sys sys 1020384352 139090
 sys/doc/venti/venti.ps - 664 sys sys 1019852320 2012620
 sys/games - 20000000775 sys sys 952648872 0
 sys/games/lib - 20000000775 sys sys 952648879 0
-sys/games/lib/fortunes - 664 sys sys 1067720544 246645
+sys/games/lib/fortunes - 664 sys sys 1068558042 246774
 sys/include - 20000000775 sys sys 1016902416 0
 sys/include/9p.h - 664 sys sys 1044836327 4309
 sys/include/String.h - 664 sys sys 1055701304 1291
@@ -3455,7 +3456,7 @@ sys/lib/dist/cmd/mkfile - 664 sys sys 1018641017 259
 sys/lib/dist/cmd/tailfsrv.c - 664 sys sys 1018469727 258
 sys/lib/dist/cmd/touchfs.c - 664 sys sys 1018469727 1120
 sys/lib/dist/cmd/unbflz.c - 664 sys sys 1018469727 1688
-sys/lib/dist/logcompress.awk - 664 sys sys 1019526213 185
+sys/lib/dist/logcompress.awk - 664 sys sys 1068558028 298
 sys/lib/dist/logtime.awk - 664 sys sys 1019526213 38
 sys/lib/dist/mkfile - 664 sys sys 1032058298 2308
 sys/lib/dist/pc - 20000000775 sys sys 1018721419 0
@@ -4972,14 +4973,14 @@ sys/man/8/cpurc - 664 sys sys 971455510 1275
 sys/man/8/cron - 664 sys sys 1063858596 1867
 sys/man/8/dhcpd - 664 sys sys 1032654987 5237
 sys/man/8/drawterm - 664 sys sys 958419689 2458
-sys/man/8/fossilcons - 664 sys sys 1066098118 14880
+sys/man/8/fossilcons - 664 sys sys 1068591368 14975
 sys/man/8/fs - 664 sys sys 1055701170 15029
 sys/man/8/fsconfig - 664 sys sys 1045501600 8142
 sys/man/8/httpd - 664 sys sys 1065640802 6426
 sys/man/8/init - 664 sys sys 944959679 1430
 sys/man/8/ipconfig - 664 sys sys 1060189415 5050
 sys/man/8/ipserv - 664 sys sys 1063855796 4337
-sys/man/8/kfscmd - 664 sys sys 1022010519 4492
+sys/man/8/kfscmd - 664 sys sys 1068569797 4515
 sys/man/8/listen - 664 sys sys 1045501609 3740
 sys/man/8/lp - 664 sys sys 954614702 2491
 sys/man/8/mk9660 - 664 sys sys 1045501618 3940
@@ -7156,7 +7157,7 @@ sys/src/cmd/disk/kfs/9p1lib.c - 664 sys sys 1015009187 7102
 sys/src/cmd/disk/kfs/9p2.c - 664 sys sys 1065916867 34556
 sys/src/cmd/disk/kfs/all.h - 664 sys sys 944960883 67
 sys/src/cmd/disk/kfs/auth.c - 664 sys sys 1037136028 2137
-sys/src/cmd/disk/kfs/chk.c - 664 sys sys 1017166328 10120
+sys/src/cmd/disk/kfs/chk.c - 664 sys sys 1068569643 10339
 sys/src/cmd/disk/kfs/con.c - 664 sys sys 1022008487 12770
 sys/src/cmd/disk/kfs/console.c - 664 sys sys 1017679313 5501
 sys/src/cmd/disk/kfs/dat.c - 664 sys sys 1015009188 2290
@@ -7305,7 +7306,7 @@ sys/src/cmd/fossil/9auth.c - 664 sys sys 1061530721 3393
 sys/src/cmd/fossil/9dir.c - 664 sys sys 1042005502 1995
 sys/src/cmd/fossil/9excl.c - 664 sys sys 1042005502 1887
 sys/src/cmd/fossil/9fid.c - 664 sys sys 1045600016 5521
-sys/src/cmd/fossil/9fsys.c - 664 sys sys 1061530721 29881
+sys/src/cmd/fossil/9fsys.c - 664 sys sys 1068591358 29979
 sys/src/cmd/fossil/9lstn.c - 664 sys sys 1042005503 2865
 sys/src/cmd/fossil/9p.c - 664 sys sys 1066098096 21486
 sys/src/cmd/fossil/9ping.c - 664 sys sys 1042005503 1563
@@ -7320,11 +7321,11 @@ sys/src/cmd/fossil/archive.c - 664 sys sys 1061530723 9109
 sys/src/cmd/fossil/build - 664 sys sys 1042005505 449
 sys/src/cmd/fossil/buildsh - 775 sys sys 1042005505 561
 sys/src/cmd/fossil/bwatch.c - 664 sys sys 1042005505 6754
-sys/src/cmd/fossil/cache.c - 664 sys sys 1063859017 43398
+sys/src/cmd/fossil/cache.c - 664 sys sys 1068526660 43049
 sys/src/cmd/fossil/conf.rc - 775 sys sys 1055703747 1407
 sys/src/cmd/fossil/dat.h - 664 sys sys 1061530727 7851
 sys/src/cmd/fossil/deadlock - 775 sys sys 1042005506 413
-sys/src/cmd/fossil/disk.c - 664 sys sys 1063855195 5815
+sys/src/cmd/fossil/disk.c - 664 sys sys 1068526661 6336
 sys/src/cmd/fossil/dump.c - 664 sys sys 1042005506 1340
 sys/src/cmd/fossil/epoch.c - 664 sys sys 1045600021 997
 sys/src/cmd/fossil/error.c - 664 sys sys 1042005507 1367
@@ -7333,7 +7334,7 @@ sys/src/cmd/fossil/file.c - 664 sys sys 1066848926 28000
 sys/src/cmd/fossil/flchk.c - 664 sys sys 1061530720 14296
 sys/src/cmd/fossil/flfmt.c - 664 sys sys 1061530720 10358
 sys/src/cmd/fossil/flproto - 664 sys sys 1042005508 210
-sys/src/cmd/fossil/fns.h - 664 sys sys 1055703743 3039
+sys/src/cmd/fossil/fns.h - 664 sys sys 1068526660 3077
 sys/src/cmd/fossil/fossil-acid - 664 sys sys 1042005508 3965
 sys/src/cmd/fossil/fossil.c - 664 sys sys 1061530719 2112
 sys/src/cmd/fossil/fs.c - 664 sys sys 1061530725 21071
@@ -7344,7 +7345,7 @@ sys/src/cmd/fossil/mkfile - 664 sys sys 1055703730 1842
 sys/src/cmd/fossil/nobwatch.c - 664 sys sys 1042005509 329
 sys/src/cmd/fossil/pack.c - 664 sys sys 1061530726 4682
 sys/src/cmd/fossil/periodic.c - 664 sys sys 1061530726 1087
-sys/src/cmd/fossil/source.c - 664 sys sys 1061530726 18771
+sys/src/cmd/fossil/source.c - 664 sys sys 1068591358 18771
 sys/src/cmd/fossil/srcload.c - 664 sys sys 1042005510 4178
 sys/src/cmd/fossil/stdinc.h - 664 sys sys 1042005510 155
 sys/src/cmd/fossil/trunc.c - 664 sys sys 1042005511 280

+ 38 - 0
dist/replica/plan9.log

@@ -12312,3 +12312,41 @@
 1068501731 0 a sys/src/cmd/venti/notes - 664 sys sys 1068500911 4032
 1068521536 0 c sys/src/cmd/venti/dump.c - 664 sys sys 1068520313 1578
 1068521536 1 c sys/src/cmd/venti/xml.c - 664 sys sys 1068520313 2202
+1068526938 0 c sys/src/cmd/fossil/cache.c - 664 sys sys 1068526660 43049
+1068526938 1 c sys/src/cmd/fossil/disk.c - 664 sys sys 1068526661 6336
+1068526938 2 c sys/src/cmd/fossil/fns.h - 664 sys sys 1068526660 3077
+1068559345 0 c 386/bin/acid - 775 sys sys 1068558062 379803
+1068559345 1 c 386/bin/db - 775 sys sys 1068558068 325118
+1068559345 2 c 386/bin/replica/applychanges - 775 sys sys 1068558248 98445
+1068559345 3 c 386/bin/replica/applylog - 775 sys sys 1068558249 99090
+1068559345 4 c 386/bin/replica/compactdb - 775 sys sys 1068558249 77099
+1068559345 5 c 386/bin/replica/updatedb - 775 sys sys 1068558250 95126
+1068559345 6 c 386/bin/snap - 775 sys sys 1068558112 289953
+1068559345 7 c 386/bin/venti/checkarenas - 775 sys sys 1068558263 164862
+1068559345 8 c 386/bin/venti/findscore - 775 sys sys 1068558264 131782
+1068559345 9 c 386/bin/venti/rdarena - 775 sys sys 1068558264 131508
+1068559345 10 c 386/bin/venti/syncindex - 775 sys sys 1068558265 176332
+1068559345 11 c 386/bin/venti/venti - 775 sys sys 1068558266 252180
+1068559345 12 c 386/bin/venti/verifyarena - 775 sys sys 1068558266 105025
+1068559345 13 c 386/bin/venti/wrarena - 775 sys sys 1068558267 182318
+1068559345 14 c 386/bin/webcookies - 775 sys sys 1068558171 162995
+1068559345 15 c 386/bin/ktrace - 775 sys sys 1068558079 115884
+1068559345 16 c 386/bin/nm - 775 sys sys 1068558088 123128
+1068559345 17 c 386/bin/prof - 775 sys sys 1068558090 106673
+1068559345 18 c 386/bin/webfs - 775 sys sys 1068558224 352388
+1068559345 19 c 386/bin/tprof - 775 sys sys 1068558117 275057
+1068559345 20 a 386/bin/webfsget - 775 sys sys 1068558178 39356
+1068559345 21 c 386/lib/ape/libap.a - 664 sys sys 1068558290 804974
+1068559345 22 c 386/lib/ape/libbsd.a - 664 sys sys 1068558290 179718
+1068559345 23 c 386/lib/ape/libl.a - 664 sys sys 1068558290 9450
+1068559345 24 c 386/lib/ape/libnet.a - 664 sys sys 1068558291 16996
+1068559345 25 c 386/lib/ape/libregexp.a - 664 sys sys 1068558291 47642
+1068559345 26 c 386/lib/ape/libv.a - 664 sys sys 1068558291 19718
+1068559345 27 c 386/lib/libmach.a - 664 sys sys 1068558293 748290
+1068559345 28 c sys/games/lib/fortunes - 664 sys sys 1068558042 246774
+1068559345 29 c sys/lib/dist/logcompress.awk - 664 sys sys 1068558028 298
+1068570157 0 c sys/man/8/kfscmd - 664 sys sys 1068569797 4515
+1068570157 1 c sys/src/cmd/disk/kfs/chk.c - 664 sys sys 1068569643 10339
+1068591762 0 c sys/man/8/fossilcons - 664 sys sys 1068591368 14975
+1068591762 1 c sys/src/cmd/fossil/9fsys.c - 664 sys sys 1068591358 29979
+1068591762 2 c sys/src/cmd/fossil/source.c - 664 sys sys 1068591358 18771

+ 1 - 0
sys/games/lib/fortunes

@@ -3991,3 +3991,4 @@ Telegraph is a kind of a very, very long cat. You pull his tail in New York and
 Hi.  My name is %{NAME%}%, I am 25 years of age.  I happen to see your profile on the internet.  Come visit me some more by viewing my site.  Ethel
 As complicated as the semantics of virtual inheritance may seem, its support within the compiler has proven even more complicated.  - Stanley Lippman, Inside the C++ Object Model
 Who needs hallucinatory drugs when we've got quantum physics?
+The essence of XML is this: the problem it solves is not hard, and it does not solve the problem well.  - Phil Wadler, POPL 2003

+ 7 - 1
sys/lib/dist/logcompress.awk

@@ -5,5 +5,11 @@
 
 END{
 	for(i in verb)
-		printf("%s %s %s\n", verb[i]=="d" ? verb[i] : "a", i, data[i]) |"sort +1"
+		if(verb[i] != "d")
+			printf("a %s %s\n", i, data[i]) |"sort +1"
+	close("sort +1")
+	for(i in verb)
+		if(verb[i] == "d")
+			printf("d %s %s\n", i, data[i]) |"sort -r +1"
+	close("sort +1")
 }

+ 9 - 3
sys/man/8/fossilcons

@@ -93,7 +93,7 @@ con /srv/fscons
 .I name
 .B open
 [
-.B -APWr
+.B -APVWr
 ]
 [
 .B -c
@@ -587,8 +587,11 @@ If no
 command is issued before
 .IR open ,
 the default Venti server will be used.
-If the file system is open, the command
-redials the Venti server.
+If the file system is open,
+and was not opened with the
+.B -V
+flag,
+the command redials the Venti server.
 This can be used to reestablish broken connections.
 It is not a good idea to use the command to switch
 between Venti servers, since Fossil does not keep track
@@ -606,6 +609,9 @@ run with no authentication
 .B -P
 run with no permission checking
 .TP
+.B -V
+do not attempt to connect to a Venti server
+.TP
 .B -W
 allow wstat to make arbitrary changes to the user and group fields
 .TP

+ 1 - 1
sys/man/8/kfscmd

@@ -149,7 +149,7 @@ The options are
 fix bad tags and clear the contents of the block.
 .TP
 .B d
-delete redundant references to a block.
+delete redundant references to a block, fix bad UTF filenames.
 .TP
 .B f
 rebuild the list of free blocks.

+ 12 - 1
sys/src/cmd/disk/kfs/chk.c

@@ -282,8 +282,10 @@ static
 int
 fsck(Dentry *d)
 {
+	char *s;
+	Rune r;
 	Iobuf *p;
-	int i, ns, dmod;
+	int l, i, ns, dmod;
 	long a, qpath;
 
 	depth++;
@@ -311,6 +313,15 @@ fsck(Dentry *d)
 		cprint("%s->name (%s) name too large\n", name, d->name);
 		return 0;
 	}
+	for (s = d->name; *s; s += l){
+		l = chartorune(&r, s);
+		if (r == Runeerror)
+			for (i = 0; i < l; i++){
+				s[i] = '_';
+				cprint("%s->name (%s) bad UTF\n", name, d->name);
+				dmod++;
+			}
+	}
 	strcat(name, d->name);
 
 	if(d->mode & DDIR){

+ 7 - 1
sys/src/cmd/fossil/9fsys.c

@@ -1350,7 +1350,13 @@ fsysOpen(char* name, int argc, char* argv[])
 		return 0;
 	}
 
-	if(fsys->session == nil){
+	if(noventi){
+		if(fsys->session){
+			vtClose(fsys->session);
+			fsys->session = nil;
+		}
+	}
+	else if(fsys->session == nil){
 		if(fsys->venti && fsys->venti[0])
 			host = fsys->venti;
 		else

+ 1 - 1
sys/src/cmd/fossil/source.c

@@ -798,9 +798,9 @@ sourceLoadBlock(Source *r, int mode)
 		 */
 		if(r->epoch == r->fs->ehi){
 			b = cacheGlobal(r->fs->cache, r->score, BtDir, r->tag, OReadWrite);
-			assert(r->epoch == b->l.epoch);
 			if(b == nil)
 				return nil;
+			assert(r->epoch == b->l.epoch);
 			return b;
 		}
 		assert(r->parent != nil);