Re: [fossil-users] how to find a delta manifest?
The creation of delta manifest has to be activated explicitly, IIRC. Also, this is AFAIK not exposed on the command line, but requires some SQL to flip some config value in the fossil repository itself. I believe it was done to keep backward compat with most existing repositories managed by older versions of fossil (which do not understand delta manifests). The feature was introduced via Joerg Sonnenberger evaluating fossil for BSD a project with a very large history and directory, and fixing the scaling problems he ran into. On Sat, Aug 17, 2013 at 11:36 AM, Stephan Beal sgb...@googlemail.com wrote: On Sat, Aug 17, 2013 at 6:50 PM, Stephan Beal sgb...@googlemail.com wrote: http://core.tcl.tk/tcl/artifact/5f37dcc36468eaa8 i deconstructed the fossil repo and found not a single B card(!). i aborted the deconstruct of the tcl repo at 11% and already had 9521 one of them. What makes tcl so special in this regard? -- Andreas Kupries Senior Tcl Developer Code to Cloud: Smarter, Safer, Fasterâ„¢ F: 778.786.1133 andre...@activestate.com http://www.activestate.com Learn about Stackato for Private PaaS: http://www.activestate.com/stackato Tcl'2013, Sep 23-27, New Orleans, LA, USA @ http://www.tcl.tk/community/tcl2013/ EuroTcl'2013, July 6-7, Munich, GER ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
In the mean time the checkin command has a -delta flag to force one... and then you can't get rid of them, it seems. i think they are a nice optimization, now that i have gotten to know them a bit. (sent from a mobile device - please excuse brevity, typos, and top-posting) - stephan beal http://wanderinghorse.net On Aug 19, 2013 6:31 PM, Andreas Kupries andre...@activestate.com wrote: The creation of delta manifest has to be activated explicitly, IIRC. Also, this is AFAIK not exposed on the command line, but requires some SQL to flip some config value in the fossil repository itself. I believe it was done to keep backward compat with most existing repositories managed by older versions of fossil (which do not understand delta manifests). The feature was introduced via Joerg Sonnenberger evaluating fossil for BSD a project with a very large history and directory, and fixing the scaling problems he ran into. On Sat, Aug 17, 2013 at 11:36 AM, Stephan Beal sgb...@googlemail.com wrote: On Sat, Aug 17, 2013 at 6:50 PM, Stephan Beal sgb...@googlemail.com wrote: http://core.tcl.tk/tcl/artifact/5f37dcc36468eaa8 i deconstructed the fossil repo and found not a single B card(!). i aborted the deconstruct of the tcl repo at 11% and already had 9521 one of them. What makes tcl so special in this regard? -- Andreas Kupries Senior Tcl Developer Code to Cloud: Smarter, Safer, Fasterâ„¢ F: 778.786.1133 andre...@activestate.com http://www.activestate.com Learn about Stackato for Private PaaS: http://www.activestate.com/stackato Tcl'2013, Sep 23-27, New Orleans, LA, USA @ http://www.tcl.tk/community/tcl2013/ EuroTcl'2013, July 6-7, Munich, GER ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sat, Aug 17, 2013 at 8:36 PM, Stephan Beal sgb...@googlemail.com wrote: On Sat, Aug 17, 2013 at 6:50 PM, Stephan Beal sgb...@googlemail.com wrote: http://core.tcl.tk/tcl/artifact/5f37dcc36468eaa8 i deconstructed the fossil repo and found not a single B card(!). i aborted the deconstruct of the tcl repo at 11% and already had 9521 one of them. What makes tcl so special in this regard? It's about backwards compatibility. Fossil will not generate delta manifest on commit unless there already are delta manifest on the repository or you force it on the command line. The TCL repository was probably converted with a Fossil version that had delta manifest support. I guess that almost all Fossil binaries in use now understand B cards, but as no one has committed to the Fossil repository with the --delta option yet, you will not find any delta manifest in it. Delta manifests are quite interesting because they follow the same design concepts as Mercurial's delta storage. I have already mentioned it, but I have a Fossil branch that can generate delta manifests on import. However, I still don't have any place to publish it. Regards. -- Isaac Jurado The noblest pleasure is the joy of understanding Leonardo da Vinci ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sun, Aug 18, 2013 at 10:53 AM, Isaac Jurado dipto...@gmail.com wrote: It's about backwards compatibility. Fossil will not generate delta manifest on commit unless there already are delta manifest on the repository or you force it on the command line. i had no idea there was a --delta option to commit - thanks for that tip. I guess that almost all Fossil binaries in use now understand B cards, but as no one has committed to the Fossil repository with the --delta option yet, you will not find any delta manifest in it. i don't want to be the first one to try ;), but i will use it on my the libfossil repo for testing. Delta manifests are quite interesting because they follow the same design concepts as Mercurial's delta storage. I have already mentioned it, but I have a Fossil branch that can generate delta manifests on import. However, I still don't have any place to publish it. i don't yet understand the benefit of a delta manifest except that they save a few hundred (or thousand) lines of F-cards. Do you know if it's possible to have a delta of a delta, or is a delta always from a non-delta manifest? Parts of the code treat them as if there can be any number of them (recursive cleanup in manifest_destroy()), but some parts seem to imply that a delta cannot derive from a delta (manifest_file_next()). If you have a repo with deltas, may i have a copy of it? It would be very useful for testing my delta manifest code. :-? -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sun, Aug 18, 2013 at 01:59:14PM +0200, Stephan Beal wrote: i don't yet understand the benefit of a delta manifest except that they save a few hundred (or thousand) lines of F-cards. Exactly. This sums up a lot if you look at something like http://pkgsrc.sonnenberger.org. You can fetch a copy from ftp://ftp.netbsd.org/pub/NetBSD/misc/repositories/fossil/pkgsrc.fossil or various mirrors near you. Joerg ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sun, Aug 18, 2013 at 2:04 PM, Joerg Sonnenberger jo...@britannica.bec.de wrote: On Sun, Aug 18, 2013 at 01:59:14PM +0200, Stephan Beal wrote: i don't yet understand the benefit of a delta manifest except that they save a few hundred (or thousand) lines of F-cards. Exactly. This sums up a lot if you look at something like http://pkgsrc.sonnenberger.org. You can fetch a copy from ftp://ftp.netbsd.org/pub/NetBSD/misc/repositories/fossil/pkgsrc.fossil or various mirrors near you. Ah, you and TCL are to blame ;). Yeah, i can see the benefit for that scale of repo - a couple hundred lines of code is worth that (i don't think that the delta handling actually takes up more than a couple routines). Now that i have a delta in my sandbox repo, testing can move along. My thanks to you and Isaac for the help. [stephan@host:~/cvs/fossil/f2]$ ./f-resolve current 11f79a13dce4005d5446622f27801255b19989ea1769 current [stephan@host:~/cvs/fossil/f2]$ ./f-acat current | ./f-mfparse -f=- -r Parsing this manifest: - MARKER: f-mfparse.c:43:test_parse_1(): Manifest type=MANIFEST, rid=1769, uuid=11f79a13dce4005d5446622f27801255b19989ea MARKER: f-mfparse.c:47:test_parse_1(): Trying to fetch baseline manifest [20b54357ebd080aa541fb8725fe687a22f054f8f] MARKER: f-mfparse.c:49:test_parse_1(): rc=FSL_RC_OK, Baseline=0x190c910 MARKER: f-mfparse.c:64:test_parse_1(): 88 files seen in manifest(s). MARKER: f-mfparse.c:71:test_parse_1(): Trying to re-calculate R-card: original=[6f94927663f297a98d2b5ed40a0f9298] MARKER: f-mfparse.c:76:test_parse_1(): unshuffle rc=FSL_RC_OK MARKER: f-mfparse.c:80:test_parse_1(): Re-calculated R-card: [6f94927663f297a98d2b5ed40a0f9298] Round-trip re-generated manifest (type=MANIFEST) from input file: B 20b54357ebd080aa541fb8725fe687a22f054f8f C it\sturns\sout\scommit\ssupports\sa\s--delta\soption\sand\si\sneed\sa\sdelta\smanifest\sfor\stesting,\sso\shere's\sa\scomment-only\spatch\sfor\sdelta\stesting. D 2013-08-18T12:10:24.622 F src/fsl_mf.c 60a24107e694f255f7d3077714cf403ebaa40f68 P 20b54357ebd080aa541fb8725fe687a22f054f8f R 6f94927663f297a98d2b5ed40a0f9298 U stephan Z aa128fb1baae44e252d16e5b1ae2e76e Dumping mf to file [mf.out] [stephan@host:~/cvs/fossil/f2]$ sha1sum mf.out 11f79a13dce4005d5446622f27801255b19989ea mf.out :-D -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sun, Aug 18, 2013 at 1:59 PM, Stephan Beal sgb...@googlemail.com wrote: On Sun, Aug 18, 2013 at 10:53 AM, Isaac Jurado dipto...@gmail.com wrote: It's about backwards compatibility. Fossil will not generate delta manifest on commit unless there already are delta manifest on the repository or you force it on the command line. i had no idea there was a --delta option to commit - thanks for that tip. I guess that almost all Fossil binaries in use now understand B cards, but as no one has committed to the Fossil repository with the --delta option yet, you will not find any delta manifest in it. i don't want to be the first one to try ;), but i will use it on my the libfossil repo for testing. Delta manifests are quite interesting because they follow the same design concepts as Mercurial's delta storage. I have already mentioned it, but I have a Fossil branch that can generate delta manifests on import. However, I still don't have any place to publish it. i don't yet understand the benefit of a delta manifest except that they save a few hundred (or thousand) lines of F-cards. Do you know if it's possible to have a delta of a delta, or is a delta always from a non-delta manifest? Parts of the code treat them as if there can be any number of them (recursive cleanup in manifest_destroy()), but some parts seem to imply that a delta cannot derive from a delta (manifest_file_next()). As far as I've seen, delta manifest cannot be chained. There is a formula in the commit code that determines if a delta manifest is worth using or not. Therefore, when the parent of a delta manifest is also a delta manifest, it will contain the F cards from the parent, plus its own. If you have a repo with deltas, may i have a copy of it? It would be very useful for testing my delta manifest code. I tested my improved import branch with the Django git repository, which turned out contain a couple of very interesting cases I wasn't even aware of when developing the first patches. These imported repositories weight almost 200MB, so I think it is better that I manage to publish my branch so you can import whatever you want. -- Isaac Jurado The noblest pleasure is the joy of understanding Leonardo da Vinci ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sun, Aug 18, 2013 at 10:02 PM, Isaac Jurado dipto...@gmail.com wrote: As far as I've seen, delta manifest cannot be chained. There is a formula in the commit code that determines if a delta manifest is worth using or not. Therefore, when the parent of a delta manifest is also a delta manifest, it will contain the F cards from the parent, plus its own. i've just finished porting add_mlink() and that code seems like it could handle recursion (most of the code does), but i'm glad to get a confirmation that i don't need to worry about recursion there. i guess i can go replace some of those loops with assertions. If you have a repo with deltas, may i have a copy of it? It would be very useful for testing my delta manifest code. I tested my improved import branch with the Django git repository, which turned out contain a couple of very interesting cases I wasn't even aware of when developing the first patches. These imported repositories weight almost 200MB, so I think it is better that I manage to publish my branch so you can import whatever you want. Since you told me about the --delta commit flag, i've got all the baselines/deltas i need now, but thank you :). -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sat, Aug 17, 2013 at 12:06 PM, Stephan Beal sgb...@googlemail.comwrote: Hi, all, i'm looking for food for a test app and i'm trying to find a way to discover which manifests are delta manifests (i need some for testing). i naively assumed that most manifests would be deltas, but searching through my timeline i have yet to find a manifest link with a B card. Is there a query i can use to discover the RIDs or UUIDs of delta manifest blobs? I think the Tcl/Tk repositories at http://core.tcl.tk/ are full of delta manifests. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sat, Aug 17, 2013 at 6:34 PM, Richard Hipp d...@sqlite.org wrote: I think the Tcl/Tk repositories at http://core.tcl.tk/ are full of delta manifests. Thanks :). Cloning started, but this one will take a while (i need the clone because i'm testing the traversal of baseline manifests). They've got a pretty timeline: http://core.tcl.tk/tcl/timeline?y=ci You were right - i hit one on the first try! http://core.tcl.tk/tcl/artifact/5f37dcc36468eaa8 -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On Sat, Aug 17, 2013 at 6:50 PM, Stephan Beal sgb...@googlemail.com wrote: http://core.tcl.tk/tcl/artifact/5f37dcc36468eaa8 i deconstructed the fossil repo and found not a single B card(!). i aborted the deconstruct of the tcl repo at 11% and already had 9521 one of them. What makes tcl so special in this regard? -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] how to find a delta manifest?
On 08/17/2013 02:36 PM, Stephan Beal wrote: On Sat, Aug 17, 2013 at 6:50 PM, Stephan Beal sgb...@googlemail.com mailto:sgb...@googlemail.com wrote: http://core.tcl.tk/tcl/artifact/5f37dcc36468eaa8 i deconstructed the fossil repo and found not a single B card(!). i aborted the deconstruct of the tcl repo at 11% and already had 9521 one of them. What makes tcl so special in this regard? -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ The effects of cvs2fossil, perhaps? Tcl's history goes back long before its use of Fossil. -- 73 de ke9tv/2, Kevin ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users