Re: [fossil-users] how to find a delta manifest?

2013-08-19 Thread Andreas Kupries
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?

2013-08-19 Thread Stephan Beal
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?

2013-08-18 Thread Isaac Jurado
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?

2013-08-18 Thread Stephan Beal
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?

2013-08-18 Thread Joerg Sonnenberger
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?

2013-08-18 Thread Stephan Beal
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?

2013-08-18 Thread Isaac Jurado
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?

2013-08-18 Thread Stephan Beal
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


[fossil-users] how to find a delta manifest?

2013-08-17 Thread Stephan Beal
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?

-- 
- 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?

2013-08-17 Thread Richard Hipp
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?

2013-08-17 Thread Stephan Beal
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?

2013-08-17 Thread Stephan Beal
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?

2013-08-17 Thread Kevin Kenny

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