{"action":"created","issue":{"url":"https://api.github.com/repos/conda/conda/issues/2191","repository_url":"https://api.github.com/repos/conda/conda","labels_url":"https://api.github.com/repos/conda/conda/issues/2191/labels{/name}","comments_url":"https://api.github.com/repos/conda/conda/issues/2191/comments","events_url":"https://api.github.com/repos/conda/conda/issues/2191/events","html_url":"https://github.com/conda/conda/pull/2191","id":139086529,"number":2191,"title":"Initial commit: improvements to update behavior","user":{"login":"mcg1969","id":2797735,"avatar_url":"https://avatars.githubusercontent.com/u/2797735?v=3","gravatar_id":"","url":"https://api.github.com/users/mcg1969","html_url":"https://github.com/mcg1969","followers_url":"https://api.github.com/users/mcg1969/followers","following_url":"https://api.github.com/users/mcg1969/following{/other_user}","gists_url":"https://api.github.com/users/mcg1969/gists{/gist_id}","starred_url":"https://api.github.com/users/mcg1969/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcg1969/subscriptions","organizations_url":"https://api.github.com/users/mcg1969/orgs","repos_url":"https://api.github.com/users/mcg1969/repos","events_url":"https://api.github.com/users/mcg1969/events{/privacy}","received_events_url":"https://api.github.com/users/mcg1969/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-03-07T20:35:27Z","updated_at":"2016-03-08T21:35:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/conda/conda/pulls/2191","html_url":"https://github.com/conda/conda/pull/2191","diff_url":"https://github.com/conda/conda/pull/2191.diff","patch_url":"https://github.com/conda/conda/pull/2191.patch"},"body":"Cleaning up the behavior of `conda update`, in particular `conda update --all`. Notes:\r\n\r\n- Because of [this commit](https://github.com/conda/conda/commit/da8dea22e0acdb28dcb76de68b9be1a77df697b3), `anaconda` is being removed from the update list. This is useless now that `conda` verifies that updates remain consistent with the rest of the installed packages.\r\n\r\n- Because of [this commit](https://github.com/conda/conda/commit/1301aae0e3d28623b8d14df46537e7ae6964d6ce), `cli.install.install` has a hard-coded test to prevent accidental/unwanted upgrades from Python 2 to Python 3. That's handled better and more generally by `plan.add_defaults_to_specs`. For example, `add_defaults_to_specs` now does similar version protection for Lua, so it would be nice to have that for `conda update --all`.\r\n\r\n- On the other hand, `plan.add_defaults_to_specs` has a side effect (actually, the hard-coded solution does too): it schedules an update to Python _whether you want it or not_, and whether it is necessary or not (see [this code](https://github.com/conda/conda/blob/master/conda/plan.py#L369-L382)). This commit uses MatchSpec's \"target\" capability to instruct the solver to prefer no upgrade at all.\r\n\r\nAdding this functionality either required importing the `MatchSpec` object into `cli.install` or extending MatchSpec's string parsing capability to handle target versions. I opted to do the latter.\r\n\r\nMore testing and/or discussion is needed here, but I think this is a solid step towards getting `conda update --all` working."},"comment":{"url":"https://api.github.com/repos/conda/conda/issues/comments/193978464","html_url":"https://github.com/conda/conda/pull/2191#issuecomment-193978464","issue_url":"https://api.github.com/repos/conda/conda/issues/2191","id":193978464,"user":{"login":"mcg1969","id":2797735,"avatar_url":"https://avatars.githubusercontent.com/u/2797735?v=3","gravatar_id":"","url":"https://api.github.com/users/mcg1969","html_url":"https://github.com/mcg1969","followers_url":"https://api.github.com/users/mcg1969/followers","following_url":"https://api.github.com/users/mcg1969/following{/other_user}","gists_url":"https://api.github.com/users/mcg1969/gists{/gist_id}","starred_url":"https://api.github.com/users/mcg1969/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcg1969/subscriptions","organizations_url":"https://api.github.com/users/mcg1969/orgs","repos_url":"https://api.github.com/users/mcg1969/repos","events_url":"https://api.github.com/users/mcg1969/events{/privacy}","received_events_url":"https://api.github.com/users/mcg1969/received_events","type":"User","site_admin":false},"created_at":"2016-03-08T21:35:42Z","updated_at":"2016-03-08T21:35:42Z","body":"I don't think this is 4.0.2 urgent, no. I would rather we play with this one a bit in beta."}}