anchor.diff:      addSubcommand(PackagesGetCommand('get', false));
       addSubcommand(PackagesGetCommand('upgrade', true));
       addSubcommand(PackagesTestCommand());
  -    addSubcommand(PackagesPublishCommand());
  +    addSubcommand(PackagesForwardCommand('publish', 'Publish the current package to pub.dartlang.org', requiresPubspec: true));
       addSubcommand(PackagesForwardCommand('downgrade', 'Downgrade packages in a Flutter project', requiresPubspec: true));
       addSubcommand(PackagesForwardCommand('deps', 'Print package dependencies', requiresPubspec: true));
       addSubcommand(PackagesForwardCommand('run', 'Run an executable from a package', requiresPubspec: true));
  
positive.code:     await pub.interactively(<String>[_commandName, ...argResults.rest], stdio: globals.stdio);
      return FlutterCommandResult.success();
    }
  
  }
  
  class PackagesPassthroughCommand extends FlutterCommand {
  
negative.code:   }
  }
  
  class PackagesForwardCommand extends FlutterCommand {
    PackagesForwardCommand(this._commandName, this._description, {bool requiresPubspec = false}) {
      if (requiresPubspec) {
        requiresPubspecYaml();
      }
    }
  
    @override
    ArgParser argParser = ArgParser.allowAnything();
  
    final String _commandName;
    final String _description;
  
  