-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Get "hg serve" to print the URL being served
From: Bryan O'Sullivan <bos@serpentine.com>
If invoked with verbosity, print the URL at which we are serving.
Useful if you bind to any port with "-p 0", and need to know what port
the server is listening on.
manifest hash: d317225606fbd2ec5819e1f266575b0485dfba79
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCyL9hywK+sNU5EO8RAjFQAJoDBRl5VoGIklxA1PdFGCt8Jb3iMQCeILeD
XAwnnSCy/IQ/MDfYf6z7oWI=
=FNVC
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add globals to templater/fixup RSS
This removes a bunch of duplicate header() and footer() bits and makes
url and reponame available to all templates.
Fix up RSS bits to use url
Fix strftime call
manifest hash: 63e616e4c7f517a630d80429336817d64e900b68
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCyLlRywK+sNU5EO8RAj9IAJkBDzMQaOwRmF0q8tRmVRnzHCjShACfSTCj
dbfAWg1crv/mUuRZlWL6Tc4=
=Z331
-----END PGP SIGNATURE-----
-----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-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH 4/5]: cleaning the template parent management in hgweb
From: Goffredo Baroncelli <kreijack@libero.it>
Now the patch remove every use of the tag p1/p2/p1rev/p2rev from the
code ( even+the ones not used ), replacing everywhere with the tag
parent ( even where the previous +tag are not use ), so the
information to the templates is still given.
manifest hash: ede1f299e9201fdad2ecf48e63314350acbb047e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCyEqxywK+sNU5EO8RAjc5AJ9o8AU6/YRuERblO/0kgWwDN4rqQQCgkVj/
UBtzW5x0yD65mK6rb4f+bQk=
=07yG
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Remove all remaining print statements
Convert most prints to ui.warn or ui.write
Pass a write function into transactions
manifest hash: d1b0af7a344fc087a5acfe3ae87b782c20d043e0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCx1Q3ywK+sNU5EO8RAqSTAJwM5t/m+JOlf2ZXOjuItCSdFiubcwCdFm3G
HoicikSYpTgfCj2pIRfyLjo=
=Loqo
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH 3/5]: cleaning the template parent management in hgweb
From: Goffredo Baroncelli <kreijack@libero.it>
the filediff template use the old style p1/p2 and p1rev/p2rev
inteface; the patch removes this old stuff, and update the code to the
new style
manifest hash: 29536b6ee71f03a48bceb7336040070ecd0d2b9e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxvplywK+sNU5EO8RApW4AKCrTLHofr8jELtvNRpoNJHc0sjEfgCfaY2q
/H96T6BMMXA4VLFVxzOBHCo=
=u4El
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH 1/5]: cleaning the template parent management in hgweb
From: Goffredo Baroncelli <kreijack@libero.it>
the template pages contain two entry named #parent1# and #parent2#;
this is no +good because with the template system implemented in hgweb
both the functions can be replaced with only one entry named
"#parent#". The code in hgweb will replace this tag with the
appropriate number of parents (+one, two... or more if and when will
be used ).
The first two patch perform this change in two step:
1) change the code to manage only one entry ( #parent1# )
2) remove any reference to #parent2#, and change both the code and the
templates to rename #parent1# in #parent2#
the last three patchs are clean-up.
The patch are five
- - patch #1:
- - clean the code in order to ignore #parent2# and use only #parent1#
hgweb: chanage the parent1/parent2 code managment
manifest hash: 6ba707904edf176c7269f2d9b80502902e6934c6
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxvivywK+sNU5EO8RAkotAJ4vbR0KE+Jem20rQbaJxy8NRFeyJgCdHy2M
hxmeD9erv17BrSKLGd5QAQI=
=Or/F
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add multiple keyword search to hgweb
People kept pestering me about this one. Now it's done.
If you type a tag/id/rev in the search box, it takes you to that entry
in the changelog.
If you type some other random keywords, it does a case-insensitive
search through the history and returns the most recent N items.
It's not super-fast, but it's serviceable.
manifest hash: e8fa980dee92cf78c04051d3028da9b07a45f3de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxO6JywK+sNU5EO8RArAwAKCq+9qO/OL0mQxa1J7C77Z6AcZoWgCfbiDC
AZ5KllldwBtdRRREn7HH6go=
=sIy0
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Refactor diffrevs/diffdir into changes
Add dirstate.changes to replace most of diffdir
Add localrepository.changes to replace diffrevs/diffdir
This code can now efficiently check for changes in single files, and
often without consulting the manifest. This should eventually make 'hg
diff Makefile' in a large project much faster.
This also fixes a bug where 'hg diff -r tip' failed to account for
files that had been added but not committed yet.
manifest hash: 20fde5d4b4cee49a76bcfe50f2dacf58b1f2258b
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxMxpywK+sNU5EO8RAhzOAJ9VLQJoC+hiRYQtTSPbDhXBEJfQZwCgpDx9
GAwQ9jZHNsgXckBfXNCkJV8=
=hMuc
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hgweb: pull cgitb into CGI script example, where it can easily be disabled
This also eliminates cgitb dumps in the logging output of hg serve
manifest hash: a0aa07a706c2c388c0b49505e2960197f716920c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCsv9DywK+sNU5EO8RAieFAJwOjdfkz7pILNVUTvpMkRa6/OIhIQCgo2TP
I2E4hxQ0N7mTtl45pXEFLsk=
=tG0v
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hgweb: fix deleted file in changeset key error
We simply point to nullid. This is very arguably the correct thing to
do.
manifest hash: c16f1c05a087e5d3274cb84dfd09d048430f0495
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCsPCdywK+sNU5EO8RAuJzAJ9j2Yn7KHceFxYgKvOd5V4fNNLKmQCfTZ9s
jorkRZcX2hdZqRkxM8q8VMk=
=+bEb
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
rework all code using tags
Add three utility functions:
tags(): get (and possibly load) the tags mapping
tagslist(): sort tag,node by revision (aka topologically)
nodetags(): return a list of tags associated with a node (also cached)
Update all the code using tags to use these.
Simplify identify code
make unknown always visible if printed
don't ignore tip pseudo-tag
manifest hash: e6deb4d545ad465be7735f9ec43227bcb5e238c7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCr+HjywK+sNU5EO8RAh4/AJ90cI0WxmvQAj6Lq2ZiG8LmqZan/QCfR8B5
ltu8tOIEHDa8LhfS9wtBu0k=
=pv3t
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hgweb: Fix reloading of index
We were reloading every request because we weren't saving the old
mtime.
manifest hash: 507330727957ff53c48b38f427f0b70469a49271
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCreVpywK+sNU5EO8RAp/YAJ9cXh2II4DGAQtRc58yj4hi49C8jgCfT7bV
22w73T2FiYBjzMk8N8STUVI=
=eghX
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hgweb: watch changelog for changes
Check the mtime of the changelog for updates on each invocation of
run(). For the standalone server, this means you don't need to re-run
it to pick up changes.
manifest hash: 398bdbf03b867df27da9e803a094dd265f62e12c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFConlTywK+sNU5EO8RAljMAKCigJKR2aXabt1kuYeiAl+PZEN1owCeKShZ
oZKfo+I7e967FqI9l7NIPFE=
=pTp6
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
make pull work for multiple heads
add repository.heads()
teach remoterepository and hgweb about heads command
teach getchangegroup about multiple heads
break apart addchangegroup and merge (cleaning up merge saved for later)
after this change, it is now possible to pull and get multiple heads, but
not possible to merge the heads
manifest hash: 86fe3ede296254698fdd4c97df02944993ef2cbb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCn8SZywK+sNU5EO8RAkSvAJ9NOA4UZ3cFyyzymlYBZnV+PpGRcACeLL+R
PFaSgJHGKvxsXpvPYiZA0O0=
=L2Xr
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hgweb: add template filters, template style maps, and raw pages
Template filters:
in templates, you can now specify a chain of filters like
#desc|firstline|escape#
#desc|escape|addbreaks#
#date|age#
to specify how you'd like raw text (or whatever) to be transformed.
Template style maps:
add ;style=foo to a URL and we'll use templates/map-foo if it exists.
Raw output:
Together, these two features make it east to implement raw
downloadable files and patches. Simply link to the same page with
style=raw and present the output as unfiltered text/plain with that
template.
manifest hash: 5954a648b3d6b4e6dc2dcd1975f96b4b0178da2a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCnUMyywK+sNU5EO8RAkKjAJ9h9JElSCbWBPUnL+koCSDxgo38AwCgrccM
0qwyKdh/fUNglICxSh3HBNA=
=Svlo
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hgweb: add view-only support
Turning on hgweb.viewonly prevents pulls. This is a good idea for
machines with limited CPU/bandwidth.
manifest hash: 68d1d04dad83743f3326e8b4f2e51387787f06c0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCm0tnywK+sNU5EO8RAm1fAJ9rNjWOr+e3UosFyauBSEgyie8meACeKwjc
QqbfuXPLg/+TKr2HIrC3DA4=
=i8Yj
-----END PGP SIGNATURE-----
This ought to use package_data but that doesn't exist in Python 2.3.
So we do a hack of install_data and use glob.
This also adds templatepath() to hgweb.py which finds the templates
relative to hgweb.py's location.