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"  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 
> wrote:
> > On Sat, Aug 17, 2013 at 6:50 PM, Stephan Beal 
> 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-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  wrote:
> On Sat, Aug 17, 2013 at 6:50 PM, Stephan Beal  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-18 Thread Stephan Beal
On Sun, Aug 18, 2013 at 10:02 PM, Isaac Jurado  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?

2013-08-18 Thread Isaac Jurado
On Sun, Aug 18, 2013 at 1:59 PM, Stephan Beal  wrote:
> On Sun, Aug 18, 2013 at 10:53 AM, Isaac Jurado  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 2:04 PM, Joerg Sonnenberger  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 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 10:53 AM, Isaac Jurado  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 Isaac Jurado
On Sat, Aug 17, 2013 at 8:36 PM, Stephan Beal  wrote:
>
> On Sat, Aug 17, 2013 at 6:50 PM, Stephan Beal  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-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 > 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


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  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 Stephan Beal
On Sat, Aug 17, 2013 at 6:34 PM, Richard Hipp  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 Richard Hipp
On Sat, Aug 17, 2013 at 12:06 PM, Stephan Beal wrote:

> 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


[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