Refactor diffrevs/diffdir into changes
-----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-----
Deal with failed clone/transaction interaction
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Deal with failed clone/transaction interaction
> What is happening is that something in the transaction machinery is
> causing the directory to be completely recreated.
The transaction gets rolled back by its destructor. This is critical
so it happens whenever an exception occurs that unwinds the stack.
Unfortunately, what's happening with clone is we're trying to delete
the directory during exception propagation. And a reference to the
transaction is held in the exception backtrace stack frames so it
still exists until the exception is completely resolved.
So there's no way to do the directory delete inside the exception
handling cleanly.
But we can handle it similarly to the transaction itself: use an
object with a destructor.
manifest hash:
fc38550a20d64d08333f256bbedc312493c1390b
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxDT2ywK+sNU5EO8RAjikAJ0Tej56rAutxQDfYzVbFGtT1sEC5ACgmVds
/fwdQyHn+FwshugqXLemUaM=
=3f78
-----END PGP SIGNATURE-----
[PATCH] Handle 'name firstname <email@server>' correctly in annotate
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Handle 'name firstname <email@server>' correctly in annotate
- From ed.gomez@free.fr
manifest hash:
8af8d6b2afd8caf8e48e5150b91410dea730d41a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxCpzywK+sNU5EO8RAj8tAJ9lIXS7tlgonp6B810QahCZM0NsigCdH8xQ
cRhEGvrKDrTgc4AY9guylDU=
=+sWJ
-----END PGP SIGNATURE-----
[PATCH] Generate correctly XML entities for obfuscated user
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Generate correctly XML entities for obfuscated user
From: Edouard Gomez <ed.gomez@free.fr>
manifest hash:
8e4e2d087ff60020c948d34e724fca99c84a9115
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxCpDywK+sNU5EO8RAs6yAKCy97yrMO6VYlkRIF3diLoGClZSOgCfekPE
ttPsLRoDTH12Tv6omFg6uUA=
=8ZBC
-----END PGP SIGNATURE-----
clone: abort on pre-existing destination directory
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
clone: abort on pre-existing destination directory
manifest hash:
c1c205ea212ed73521cebe0524da364f40ebf387
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxCIjywK+sNU5EO8RArteAKCM7oPK+htBvhz7n0Eo//A1BuGRQwCfY1xL
7denU7OqsKUf9UKKkhbWLB8=
=rhfi
-----END PGP SIGNATURE-----
Hashing speed-up
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hashing speed-up
- From Chris Mason
manifest hash:
c10091676647015b907a3ddce4dc629cb485de36
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxCFmywK+sNU5EO8RAjiEAJ98eBaomWIUtT7DAm5dCbcAOe1I7gCdFl/E
AvepXnn+tLC2Grk9et2sL3M=
=spZz
-----END PGP SIGNATURE-----
Add removing print to TODO
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add removing print to TODO
manifest hash:
42be0c5bc52258bd3399f19257398f02af16c5ee
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCw41HywK+sNU5EO8RAvRIAKCd6o7sSJIXXMZa/i9o1CyIH0GhLgCePs5U
1BkkXUN2RcqfOpDqe6cUIW0=
=aOPc
-----END PGP SIGNATURE-----
Attempt to fix negative revision count from pull
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Attempt to fix negative revision count from pull
manifest hash:
4e8881037d545f4bf76d2c1b06f685b2467cd3a8
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCw4yUywK+sNU5EO8RApUkAKCCYTpBG3Wpu15aVeG0iBWE612S5wCgnSBi
PEfXF4NI2O9AqWijOMBq6aM=
=AyGw
-----END PGP SIGNATURE-----