mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
fix checkout message if app release lacks METEOR@
Reflow a word-wrapped message to look better All non-slow 'releases' tests pass now
This commit is contained in:
@@ -949,25 +949,15 @@ Fiber(function () {
|
||||
// Let's do some processing here. If the user/release file specified a
|
||||
// track, we need to display that correctly, and if they didn't, we should
|
||||
// make it clear that we are talking about the default track.
|
||||
var releases = releaseName.split('@');
|
||||
var track;
|
||||
var version;
|
||||
if (releases.length === 1) {
|
||||
track = catalog.DEFAULT_TRACK;
|
||||
version = releases[0];
|
||||
} else {
|
||||
track = releases[0];
|
||||
// Do we forbid '@' sign in release versions? I sure hope so, but let's
|
||||
// be careful.
|
||||
version = releases.slice(1).join("@");
|
||||
}
|
||||
var utils = require('./utils.js');
|
||||
var displayRelease = utils.displayRelease(track, version);
|
||||
var trackAndVersion = utils.splitReleaseName(releaseName);
|
||||
var displayRelease = utils.displayRelease(
|
||||
trackAndVersion[0], trackAndVersion[1]);
|
||||
// Now, let's process this.
|
||||
if (releaseOverride) {
|
||||
Console.error(displayRelease + ": unknown release.");
|
||||
} else if (appDir) {
|
||||
if (track !== catalog.DEFAULT_TRACK) {
|
||||
if (trackAndVersion[0] !== catalog.DEFAULT_TRACK) {
|
||||
displayRelease = "Meteor release " + displayRelease;
|
||||
}
|
||||
if (catalog.refreshFailed) {
|
||||
@@ -979,9 +969,9 @@ Fiber(function () {
|
||||
"release, or go online.");
|
||||
} else {
|
||||
Console.error(
|
||||
"This project says that it uses " + displayRelease + ", but you \n" +
|
||||
"don't have that version of Meteor installed and the Meteor update \n" +
|
||||
"servers don't have it either. Please edit the .meteor/release file in \n" +
|
||||
"This project says that it uses " + displayRelease + ", but you don't have\n" +
|
||||
"that version of Meteor installed and the Meteor update servers\n" +
|
||||
"don't have it either. Please edit the .meteor/release file in\n" +
|
||||
"the project and change it to a valid Meteor release.");
|
||||
}
|
||||
} else {
|
||||
@@ -1332,7 +1322,7 @@ commandName + ": You're not in a Meteor project directory.\n" +
|
||||
if (command.requiresApp && release.current.isCheckout() &&
|
||||
appRelease && appRelease !== "none") {
|
||||
var utils = require("./utils.js");
|
||||
var appReleaseParts = appRelease.split("@");
|
||||
var appReleaseParts = utils.splitReleaseName(appRelease);
|
||||
// For commands that work with apps, if we have overridden the
|
||||
// app's usual release by using a checkout, print a reminder banner.
|
||||
Console.warn(
|
||||
|
||||
@@ -59,7 +59,7 @@ selftest.define("springboard", ['checkout', 'net'], function () {
|
||||
// Suppose you ask for a release that doesn't exist.
|
||||
s.set('METEOR_TEST_FAIL_RELEASE_DOWNLOAD', 'not-found');
|
||||
run = s.run("--release", "weird");
|
||||
run.readErr("weird: unknown release.\n");
|
||||
run.readErr("Meteor weird: unknown release.\n");
|
||||
run.expectEnd();
|
||||
run.expectExit(1);
|
||||
|
||||
@@ -78,15 +78,15 @@ selftest.define("springboard", ['checkout', 'net'], function () {
|
||||
s.write(".meteor/release", "strange");
|
||||
s.set('METEOR_TEST_FAIL_RELEASE_DOWNLOAD', 'not-found');
|
||||
run = s.run();
|
||||
run.matchErr("version strange of Meteor");
|
||||
run.matchErr("valid Meteor release");
|
||||
run.matchErr("uses Meteor strange");
|
||||
run.matchErr("don't have it either");
|
||||
run.expectExit(1);
|
||||
|
||||
// You're offline and project asks for non-cached release.
|
||||
s.set('METEOR_TEST_FAIL_RELEASE_DOWNLOAD', 'offline');
|
||||
run = s.run();
|
||||
run.matchErr("offline");
|
||||
run.matchErr("version strange of Meteor");
|
||||
run.matchErr("it uses Meteor strange");
|
||||
run.matchErr("don't have that version of Meteor installed");
|
||||
run.matchErr("update servers");
|
||||
run.expectExit(1);
|
||||
@@ -201,7 +201,7 @@ selftest.define("checkout", ['checkout'], function () {
|
||||
s.write(".meteor/release", "something");
|
||||
run = s.run("list");
|
||||
run.readErr("=> Running Meteor from a checkout");
|
||||
run.matchErr("project version (something)\n");
|
||||
run.matchErr("project version (Meteor something)\n");
|
||||
run.expectExit(0);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -402,6 +402,22 @@ exports.displayRelease = function (track, version, options) {
|
||||
return track + '@' + version;
|
||||
};
|
||||
|
||||
exports.splitReleaseName = function (releaseName) {
|
||||
var parts = releaseName.split('@');
|
||||
var track, version;
|
||||
if (parts.length === 1) {
|
||||
var catalog = require('./catalog.js');
|
||||
track = catalog.DEFAULT_TRACK;
|
||||
version = parts[0];
|
||||
} else {
|
||||
track = parts[0];
|
||||
// Do we forbid '@' sign in release versions? I sure hope so, but let's
|
||||
// be careful.
|
||||
version = parts.slice(1).join("@");
|
||||
}
|
||||
return [track, version];
|
||||
};
|
||||
|
||||
// Calls cb with each subset of the array "total", with non-decreasing size,
|
||||
// until all subsets have been used or cb returns true. The array passed
|
||||
// to cb may be safely mutated or retained by cb.
|
||||
|
||||
Reference in New Issue
Block a user