Commit Graph

2080 Commits

Author SHA1 Message Date
David Glasser
f7c6f505ac Never springboard to a red pill 2014-08-25 22:49:32 -07:00
David Glasser
0562466ad4 Rename upgraders file to .finished-upgraders
The idea is that dotfiles in .meteor (like .id and .finished-upgraders)
aren't intended to be human-editable, whereas packages, release,
and versions are (although there are commands to edit them too).
2014-08-25 21:21:43 -07:00
David Glasser
bfb8359499 Only choose prerelease package versions if asked
Make sure 'meteor add foo' gives the same constraint to the solver as
'foo' from .meteor/packages: namely, '>=0.0.0' not
'unconstrained' (since the first rules out rcs and the second doesn't)
2014-08-25 19:57:28 -07:00
David Glasser
2ee41fda74 Projects should start with all known upgraders 2014-08-25 17:38:27 -07:00
David Glasser
0bbdc175a5 An extra update message 2014-08-25 17:36:03 -07:00
David Glasser
08f0a3bab0 Fixes to unforced update to not-quite-last release
Make sure that project._ensureDepsUpToDate does not get run mid-update,
since it might decide that various things are not compatible with the
packages in the current release. When the update command runs the
constraint solver explicitly, it passes ignoreProjectDeps, but implicit
calls can lead to an unhappy process.exit.
2014-08-25 17:25:08 -07:00
David Glasser
1eaf87b881 fix typo 2014-08-25 16:46:30 -07:00
David Glasser
166583845e Fix 'meteor update'
We were accidentally considering this equivalent to 'meteor update
--release LATEST', meaning we could not update to an intermediate
release (and that it could update you backwards).
2014-08-25 16:42:41 -07:00
David Glasser
76961d6161 don't crash if wiping packages during release.load 2014-08-25 16:01:17 -07:00
David Glasser
581832d967 Update notices 2014-08-25 15:48:58 -07:00
David Glasser
5ab9a66b29 Fix typo. Now I will make this release twice. 2014-08-25 14:32:25 -07:00
David Glasser
ca7217bc18 patch releases need to be recommended
for them to work with update --patch

or for them to be advertised
2014-08-25 14:13:05 -07:00
David Glasser
106bde8163 First draft of banners and upgraders.
old-banner needs to be manually copied into manifest.json
2014-08-25 14:00:04 -07:00
David Glasser
2e259e61c2 update old test version, sigh 2014-08-25 13:47:08 -07:00
David Glasser
4482427da5 make cli-tests tests 2014-08-25 12:31:37 -07:00
David Glasser
d5e659b5e4 ellipsis instead of truncation for meteor list 2014-08-25 12:14:10 -07:00
David Glasser
0ce077f350 Remove unnecessary colon 2014-08-25 12:07:15 -07:00
David Glasser
231f74bbb6 something more like a real notice 2014-08-25 12:05:30 -07:00
David Glasser
5b92dfd85f "better" error handling for compiler constraints
This before was just an uncaught exception. Now it's exit(1), which is
bad too.  This should just use buildmessage, but for some reason that
doesn't work here.
2014-08-25 11:17:57 -07:00
David Glasser
175fd7c3b4 minor test cleanup 2014-08-25 09:42:21 -07:00
David Glasser
2d5e3bb745 package wipe: work around random files
Fixes #2433.
2014-08-25 09:38:52 -07:00
David Glasser
a247b79aa1 test version bumps, sigh 2014-08-24 21:17:58 -07:00
David Glasser
0a47309ce6 fix change-homepage help 2014-08-24 20:52:00 -07:00
David Glasser
d4280a22eb make "no compatibile build" error not bracketed
this function needs to be rewritten, but not today
2014-08-24 20:18:43 -07:00
David Glasser
9ee39f2807 Add XXX comment to publish-for-arch 2014-08-24 19:54:44 -07:00
David Glasser
24d844a808 consistently handle package server calls
I don't love this idiom but we might as well use it consistently.

This will mean that, eg, errors from the server will not be stack
traces.
2014-08-24 19:51:41 -07:00
David Glasser
ac7915b90b print correct maintainers after add/remove 2014-08-24 19:31:33 -07:00
David Glasser
d30efc2ae8 don't print publish-for-arch warning on failure 2014-08-24 19:01:24 -07:00
David Glasser
08b2625082 METEOR-CORE -> METEOR 2014-08-24 18:46:37 -07:00
David Glasser
3f63c748ac Prevent accidental top-level package creation 2014-08-23 19:51:46 -07:00
David Glasser
95cfa87de1 Use unmigrated flag instead of description check 2014-08-23 16:33:25 -07:00
David Glasser
7fe36fb904 Actually, --show-old 2014-08-23 16:06:32 -07:00
David Glasser
80d271fa24 Rename search/show --show-broken to --include-old 2014-08-23 16:02:23 -07:00
David Glasser
bc8d2e0459 Ensure we find out about newly published *builds*
Reported at
https://github.com/meteor/meteor/issues/2405#issuecomment-53144897

Basically, we were smart enough to refresh if the local cache didn't
know about the *VERSION* but if it knew about the version but not about
the relevant build, we did not refresh.
2014-08-23 15:52:38 -07:00
David Glasser
7c23ca5fde 'curmeteor update' should still update packages 2014-08-23 15:15:37 -07:00
ekatek
ce99e88ee7 some new lines in error output 2014-08-23 13:48:46 -07:00
David Glasser
f37cfafd18 Fix for programs with attributes.json type client 2014-08-22 19:38:24 -07:00
David Glasser
a8e8995c91 Support comments in .meteor/.id file
Make project.rootDir be absolute in 'meteor create'
2014-08-22 18:04:24 -07:00
David Glasser
412033f7c4 Support comments in .meteor/.id 2014-08-22 17:54:44 -07:00
David Glasser
131b73bc71 update tools/tests id files
really, these directories shouldn't have the files, we should copy to a
temp dir...
2014-08-22 17:33:36 -07:00
David Glasser
c4948d8dff rename .meteor/identifier -> .meteor/.id 2014-08-22 17:31:21 -07:00
David Glasser
1ff2c3bae9 Bundle build before creating time-sensitive URL 2014-08-22 12:41:16 -07:00
David Glasser
55d1901729 Remove dormant "no-downgrade constraint" code
Also removes 'update --minor' and 'add --force'.

In the constraint solver, previousSolution (ie, .meteor/versions) was
intended to be used for three purposes:

  (a) The *heuristic* used in the state graph walk to decide what state
      to look at next:
       - VERY STRONGLY prefers not to downgrade *root* dependencies or
         change them to incompatible newer versions
       - Kinda Strongly prefers not to upgrade root dependencies far
       - mildy prefers not to change transitive dependencies (in any
         direction)

  (b) Actual *constraints* are added to the set of constraints we are
      trying to solve, which state that *root* dependencies are not
      to be downgraded.  Additionally, in most invocation contexts,
      constraints are added that say that *root* dependencies are
      not to be upgraded to incompatible versions (1.3.0 -> 2.0.0).
      The only contexts that lack the secondary constraints are
      part of 'update --minor', and 'add --force'.

  (c) A more recent change (past few weeks): When running the constraint
      solver, we actually run the core constraint solving algorithm
      twice. The first time, we add *equality* constraints for all
      of the previous versions.  If that succeeds, great!  We're not
      changing any versions (we may add packages that we didn't have
      before or drop packages that are no longer needed, though).

      Otherwise, we run the constraint solver again without the equality
      constraints.

However, due to a bug introduced in May in 0760ffbc36, (b) actually
*never happened*.  The commit was the one that intended to make the
(b) constraints only be for root dependencies. But the line:

     if (! _.contains(dependencies, uv.name))

is comparing 'uv.name' (something like 'foo#web.browser') to
'dependencies' (a list of things like 'foo'). So in fact, it thinks that
no dependencies are root and doesn't apply the constraints.

That's actually good, because this code is used in many more places than
just 'meteor update', and applying these things as strong constraints
would actually be problematic; eg, it would break 'meteor --release
slightlyolderrelease'!

In addition, the `update --minor` flag was actually not implemented (it
was not in the command declaration).

So for now, we're removing this dead code.  We may reintroduce 'update
--minor' or 'add --force' later.  We trust that the heuristic will do a
decent job of preventing unnecessary downgrades or incompatible upgrades
while still allowing you to run updates to an older version, eg.

(And in the future, we may change 'meteor update' to use the constraint
solver to figure out which release to update to, rather than going for
the latest one that there exists any solution for.)
2014-08-21 23:20:17 -07:00
David Glasser
a4c5009cea fix 'sync local catalog' test
there was an unnecessarily strong ordering assumption
2014-08-21 19:43:54 -07:00
David Glasser
1843ba0cd6 fix help test 2014-08-21 19:37:23 -07:00
David Glasser
1ff35e49fb list-sites sorts its output. fix test. 2014-08-21 19:37:05 -07:00
David Glasser
5fbb8bc9f1 help update for create --package 2014-08-21 18:45:08 -07:00
Emily Stark
3c6c51acd1 Add extra check in stats retrieval in test 2014-08-21 18:31:46 -07:00
Emily Stark
1852e7b2c0 Update test for new package stats format 2014-08-21 18:23:38 -07:00
Emily Stark
81a0a0c7e2 Update to new package stats format 2014-08-21 18:23:38 -07:00