anchor.diff:            // If it fails for any reason, just treat that as no versions. This
             // will sort this reference higher so that we can traverse into it
             // and report the error more properly.
  +          log.solver("Could not get versions for $ref:\n$error\n\n"
  +              "${getAttachedStackTrace(error)}");
             return new Pair<PackageRef, int>(ref, 0);
           });
         }
  
positive.code:       if (_selected.isEmpty) {
          message = "* start at root";
        } else {
          var versions = _selected.last.map((id) => id.version).toList();
          if (versions.length > 5) {
            versions = versions.take(5).join(', ') + '...';
          } else {
            versions = versions.join(', ');
          }
          message = "* select ${_selected.last.first} (from $versions)";
        }
      } else {
        // Otherwise, indent it under the current selected package.
  
negative.code:   /// Returns a string describing the dependency chain if it does, or `null` if
    /// there is no dependency.
    String _getDependencyPath(PackageId depender, String dependent) {
      // TODO(rnystrom): This is O(n^2) where n is the number of selected
      // packages. Could store the reverse dependency graph to address that. If
      // we do that, we need to make sure it gets correctly rolled back when
      // backtracking occurs.
      var visited = new Set<String>();
  
      walkDeps(PackageId package, String currentPath) {
        if (visited.contains(package.name)) return null;
        visited.add(package.name);
  
        var pubspec = cache.getCachedPubspec(package);
        if (pubspec == null) return null;
  
        for (var dep in pubspec.dependencies) {
          if (dep.name == dependent) return currentPath;
  
          var selected = getSelected(dep.name);
          // Ignore unselected dependencies. We haven't traversed into them yet,
          // so they can't affect backjumping.
          if (selected == null) continue;
  
          var depPath = walkDeps(selected, '$currentPath -> ${dep.name}');
          if (depPath != null) return depPath;
        }
  
        return null;
      }
  
      return walkDeps(depender, depender.name);
    }
  
    /// Logs [message] in the context of the current selected packages. If
  