pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/devel/monotone Fix a regression introduced between 0.2...
details: https://anonhg.NetBSD.org/pkgsrc/rev/16834a8764c8
branches: trunk
changeset: 518895:16834a8764c8
user: dan <dan%pkgsrc.org@localhost>
date: Fri Sep 22 11:14:05 2006 +0000
description:
Fix a regression introduced between 0.29 and 0.30 detected when
handling large repositories like NetBSD src. Problem found by riz@,
fix from mainline a:njs/d:2006-09-22T07:01:26, tested by me.
bump rev to nb1
ChangeLog:
2006-09-21 Nathaniel Smith <njs%pobox.com@localhost>
* lru_writeback_cache.hh (clean_insert): Correct the cache
overflow logic so as to _actually_ never remove the last element.
Add an invariant to verify this.
(insert_dirty): Add an invariant here too.
diffstat:
devel/monotone/Makefile | 3 ++-
devel/monotone/distinfo | 3 ++-
devel/monotone/patches/patch-ab | 32 ++++++++++++++++++++++++++++++++
3 files changed, 36 insertions(+), 2 deletions(-)
diffs (63 lines):
diff -r ba506919fa3a -r 16834a8764c8 devel/monotone/Makefile
--- a/devel/monotone/Makefile Fri Sep 22 07:08:15 2006 +0000
+++ b/devel/monotone/Makefile Fri Sep 22 11:14:05 2006 +0000
@@ -1,9 +1,10 @@
-# $NetBSD: Makefile,v 1.28 2006/09/18 15:36:34 jmmv Exp $
+# $NetBSD: Makefile,v 1.29 2006/09/22 11:14:05 dan Exp $
#
DISTNAME= monotone-0.30
CATEGORIES= devel
MASTER_SITES= http://monotone.ca/downloads/
+PKGREVISION= 1
MAINTAINER= jmmv%NetBSD.org@localhost
HOMEPAGE= http://monotone.ca/
diff -r ba506919fa3a -r 16834a8764c8 devel/monotone/distinfo
--- a/devel/monotone/distinfo Fri Sep 22 07:08:15 2006 +0000
+++ b/devel/monotone/distinfo Fri Sep 22 11:14:05 2006 +0000
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.21 2006/09/20 13:10:10 jmmv Exp $
+$NetBSD: distinfo,v 1.22 2006/09/22 11:14:06 dan Exp $
SHA1 (monotone-0.30.tar.gz) = e78356dcaa7f5cd2e8c7e6371a375369ab6feca7
RMD160 (monotone-0.30.tar.gz) = d58fe36d9f0686ec6be47dc2f39ec3f7ba2d40d9
Size (monotone-0.30.tar.gz) = 4663418 bytes
SHA1 (patch-aa) = 73f5a3066c7f82de8178c6f00848db12b60aa6ae
+SHA1 (patch-ab) = b65dc4ca12bd753ad433cbb15ac19fb8592db939
diff -r ba506919fa3a -r 16834a8764c8 devel/monotone/patches/patch-ab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/monotone/patches/patch-ab Fri Sep 22 11:14:05 2006 +0000
@@ -0,0 +1,32 @@
+$NetBSD: patch-ab,v 1.3 2006/09/22 11:14:06 dan Exp $
+
+--- lru_writeback_cache.hh 4ac60f38211fc4ef11ee1f968bfb88fee5446937
++++ lru_writeback_cache.hh c2fa384b9b29d6c5162fad70ebe96e6479b8aa3e
+@@ -212,19 +212,24 @@ public:
+ {
+ // Remove the last element.
+ liter = _list.end();
+- // Unless it's the only element (i.e., the one we just inserted) -- we
+- // never empty ourselves out completely
++ I(liter != _list.begin());
++ --liter;
++ // liter now points to the last element. If the last element is also
++ // the first element -- i.e., the list has only one element, and we
++ // know that it's the one we just inserted -- then never mind, we
++ // never want to empty ourselves out completely.
+ if (liter == _list.begin())
+ break;
+- --liter;
+ this->_remove(liter->first);
+ }
++ I(exists(key));
+ }
+
+ inline void insert_dirty(Key const & key, const Data & data)
+ {
+ insert_clean(key, data);
+ safe_insert(_dirty, key);
++ I(is_dirty(key));
+ }
+
+ private:
Home |
Main Index |
Thread Index |
Old Index