Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Nov 6, 2013
  1. @evanphx
Commits on Nov 5, 2013
  1. @evanphx

    Add simple explain system

    evanphx authored
    Conflicts:
    
    	lib/rubygems/dependency_resolver.rb
  2. @evanphx
Commits on Oct 26, 2013
  1. @drbrain

    Prevent unbounded growth of conflicts

    drbrain authored
    Previously the conflicts list could grow without size, filled with
    duplicate conflicts.  Now it is checked for matching conflicts before a
    new one is added.
  2. @drbrain
  3. @drbrain

    Try all possibles from a state

    drbrain authored
    When a state was found for a conflict, only the first possible was
    tried.  The remaining possibles were discarded.
    
    This meant that the resolver could not search all possible
    configurations of gems.
    
    Part of #699
  4. @drbrain
  5. @drbrain

    Use only DependencyResolutionError#message

    drbrain authored
    The message now contains the confict explanation
Commits on Oct 25, 2013
  1. @drbrain

    Add missing InstalledSpecification#set

    drbrain authored
    This prevented pretty_print from working correctly.
  2. @drbrain

    Extract DependencyResolver#activation_request

    drbrain authored
    This moves all ActivationRequest creation to one call site.
    
    Strangely, it requires a change to
    test_raises_when_possibles_are_exhausted, but the change seems
    acceptable.
    
    @evanphx should review this commit.
  3. @drbrain

    Include other possible names in ActivationRequest

    drbrain authored
    This will improve debugging messaging.
  4. @drbrain

    Improve variable names in resolve_for

    drbrain authored
    "possible" is now "matching" and "all_possible" is now "all".
  5. @drbrain

    Re-extract DependencyResolver#find_possible

    drbrain authored
    This was removed by @a0f0de7 but I have restored it.
  6. @drbrain

    Add #689 to History.txt

    drbrain authored
  7. @drbrain
  8. @drbrain

    Add failing test for bug #698

    drbrain authored
    We do not have any lock on the specifications directory, so we should
    not assume that this is the only process modifying the contents of the
    directory.
  9. @drbrain
  10. @drbrain

    Merge pull request #698 from tmacedo/remove_raise_on_spec_removal

    drbrain authored
    Remove bogus raise in Specification::remove_spec
  11. @tmacedo

    Remove raise on specification removal

    tmacedo authored
    The gemspec is removed from the filesystem prior to removing from the
    Specification list, so there is an order dependence here.
  12. @drbrain
Commits on Oct 24, 2013
  1. @drbrain

    Mention #695 bug fix in History.txt

    drbrain authored
  2. @drbrain
  3. @drbrain

    Use IndexError for ruby 1.8

    drbrain authored
    Which does not have KeyError.
  4. @drbrain

    Refactor resetting gems to a method

    drbrain authored
    This makes it more clear what we're doing with Specification::dirs=
  5. @drbrain

    Use user-provided directories in `gem server`

    drbrain authored
    Previously Gem::Server would reset the gem list for certain requests.
    This was designed to always provide the latest installed gems for
    installation.
    
    When the --dir option was used, resetting the gem list would also revert
    to the standard gem directories.  This meant the user-provided
    directories would always be ignored.
    
    Now the reset includes the gem directories the user provided to
    eliminate this problem.
    
    Fixes #696
  6. @drbrain

    Remove TODO from Specification::dirs=

    drbrain authored
    I don't know why we need to remove callers from dirs= so I am removing
    this TODO.
    
    Also, its accompanying "ugh"
  7. @drbrain

    Warn on over-strict pessimistic dependencies

    drbrain authored
    When a user builds a gem with ~> 1.2.3 or similar, RubyGems warns if the
    dependency may be overly strict and recommends a better dependency.
  8. @drbrain

    Add "user request" as conflict explanation

    drbrain authored
    When the gem is explicitly chosen by the user (via `gem install` and
    friends or from a Gemfile) the explanation would say nothing useful
    following "via".  Now it says where the dependency came from.
  9. @drbrain

    Improve DependencyResolutionError#message

    drbrain authored
    By default, the message did not include the reasons for the exception.
    Now it does.
Commits on Oct 22, 2013
  1. @evanphx
Commits on Oct 21, 2013
  1. @evanphx
  2. @evanphx
  3. @evanphx
Commits on Oct 20, 2013
  1. @drbrain

    Try all states when resolving dependencies

    drbrain authored
    DependencyResolver#find_conflict_state chose only the state with a
    matching dependency and ignored all other states.
    
    This meant that if there was another state that would result in
    successful resolution of the states the resolver would never try it.
    
    Now find_conflict_state prefers selecting a state with a matching
    dependency, but returns the first state if that did not work out.  This
    allows the resolver to backtrack successfully.
    
    @evanphx should review this commit.
  2. @drbrain

    Simplify find_conflict_state

    drbrain authored
    For some reason this changes the exceptions raised by the resolver
    because it follows a different path.  I'm unsure what to make of it, but
    it still raises exceptions in the correct place, just not
    Gem::ImpossibleDependenciesError.
    
    @evanphx should review this commit.
Something went wrong with that request. Please try again.