comparison.txt
author mpm@selenic.com
Sun, 03 Jul 2005 13:32:59 -0800
changeset 599 765182a4c843
parent 139 17e66e1a0382
child 1308 2073e5a71008
permissions -rw-r--r--
[PATCH] Add RSS support to hgweb -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] Add RSS support to hgweb From: Goffredo Baroncelli <kreijack@libero.it> with the two small patches below, now hgweb can act as feed source. Two kinds ofobjects can be tracked: the changelong and the files. This can be useful if anyone would track the changes of a file ( and because git has it, mercurial have to has ). To check the changelog the url is http://127.0.0.1:8000/pippo.pluto?cmd=changelog;style=rss To check a file ( the mercurial/hgweb.py for examples ) the url is http://127.0.0.1:8000/?cmd=filelog;file=mercurial/hgweb.py;filenode=0;style=rss The first patch adds a new filter for the template: the filter is named rfc822date, and translates the date from the touple format to a rfc822 style date. The second patch adds the templates needed to create the rss pages. Tested with akgregator ( kde ). [tweaked by mpm: add Content-type: text/xml add support for URL to header() add header with link and content type add RSS links on the normal pages] manifest hash: 170c03d50490d7160097f59abdde1a5073d2ba82 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCyFmLywK+sNU5EO8RApkrAKCYF/vZ3DwdMXPBds2LxGEX8+tK5QCfTeOc ZhPN8Xjt2cD3wMbNXMcoNSo= =COlM -----END PGP SIGNATURE-----

                    Mercurial      git                     BK (*)
storage             revlog delta   compressed revisions    SCCS weave
storage naming      by filename    by revision hash        by filename
merge               file DAGs      changeset DAG           file DAGs?
consistency         SHA1           SHA1                    CRC
signable?           yes            yes                     no       

retrieve file tip   O(1)           O(1)                    O(revs)
add rev             O(1)           O(1)                    O(revs)
find prev file rev  O(1)           O(changesets)           O(revs)
annotate file       O(revs)        O(changesets)           O(revs)
find file changeset O(1)           O(changesets)           ?

checkout            O(files)       O(files)                O(revs)?
commit              O(changes)     O(changes)              ?
                    6 patches/s    6 patches/s             slow
diff working dir    O(changes)     O(changes)              ?
                    < 1s           < 1s                    ?
tree diff revs      O(changes)     O(changes)              ?
                    < 1s           < 1s                    ?
hardlink clone      O(files)       O(revisions)            O(files)

find remote csets   O(log new)     rsync: O(revisions)     ?
                                   git-http: O(changesets)
pull remote csets   O(patch)       O(modified files)       O(patch)

repo growth         O(patch)       O(revisions)            O(patch)
 kernel history     300M           3.5G?                   250M?
lines of code       2500           6500 (+ cogito)         ??

* I've never used BK so this is just guesses