[Aptitude-svn-commit] r4177 - in branches/aptitude-0.3/aptitude: .
src/generic src/generic/problemresolver
Daniel Burrows
dburrows at costa.debian.org
Thu Sep 22 19:22:40 UTC 2005
Author: dburrows
Date: Thu Sep 22 19:22:37 2005
New Revision: 4177
Modified:
branches/aptitude-0.3/aptitude/ChangeLog
branches/aptitude-0.3/aptitude/src/generic/problemresolver/problemresolver.h
branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc
Log:
Make approving and rejecting an action mutually exclusive.
Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog (original)
+++ branches/aptitude-0.3/aptitude/ChangeLog Thu Sep 22 19:22:37 2005
@@ -1,5 +1,11 @@
2005-09-22 Daniel Burrows <dburrows at debian.org>
+ * src/generic/problemresolver/problemresolver.h, src/generic/resolver_manager.cc:
+
+ Make approving and rejecting an action mutually exclusive:
+ actions that are approved are automatically un-rejected, and
+ vice versa.
+
* src/generic/problemresolver/problemresolver.h:
Allow mandated versions to be ignored in favor of other mandated
Modified: branches/aptitude-0.3/aptitude/src/generic/problemresolver/problemresolver.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/problemresolver/problemresolver.h (original)
+++ branches/aptitude-0.3/aptitude/src/generic/problemresolver/problemresolver.h Thu Sep 22 19:22:37 2005
@@ -2065,6 +2065,7 @@
void reject_version(const version &ver)
{
user_rejected.insert(ver);
+ unmandate_version(ver);
}
/** Cancel any rejection of ver, allowing the resolver to once
@@ -2080,6 +2081,7 @@
void mandate_version(const version &ver)
{
user_mandated.insert(ver);
+ unreject_version(ver);
}
void unmandate_version(const version &ver)
@@ -2113,6 +2115,7 @@
assert(d.is_soft());
user_hardened.insert(d);
+ unforce_break(d);
}
/** Un-harden (soften?) the given dependency. */
@@ -2145,11 +2148,11 @@
{
assert(d.is_soft());
- unharden(d);
-
for(typename dep::solver_iterator si = d.solvers_begin();
!si.end(); ++si)
reject_version(*si);
+
+ unharden(d);
}
/** The given soft dependency must be forced-broken; allow it to be
@@ -2157,7 +2160,7 @@
*/
void unforce_break(const dep &d)
{
- assert(is_forced_broken(d));
+ assert(d.is_soft());
for(typename dep::solver_iterator si = d.solvers_begin();
!si.end(); ++si)
Modified: branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc (original)
+++ branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc Thu Sep 22 19:22:37 2005
@@ -707,6 +707,9 @@
assert(resolver);
resolver->reject_version(ver);
+
+ l.release();
+ state_changed();
}
void resolver_manager::unreject_version(const aptitude_resolver_version &ver)
@@ -742,6 +745,9 @@
assert(resolver);
resolver->mandate_version(ver);
+
+ l.release();
+ state_changed();
}
void resolver_manager::unmandate_version(const aptitude_resolver_version &ver)
@@ -776,6 +782,9 @@
assert(resolver);
resolver->harden(dep);
+
+ l.release();
+ state_changed();
}
void resolver_manager::unharden_dep(const aptitude_resolver_dep &dep)
@@ -810,6 +819,9 @@
assert(resolver);
resolver->force_break(dep);
+
+ l.release();
+ state_changed();
}
void resolver_manager::unforce_break_dep(const aptitude_resolver_dep &dep)
More information about the Aptitude-svn-commit
mailing list