anchor.diff:      if (parentFolder.exists) {
         Folder executionFolder =
             parentFolder.getChildAssumingFolder(pluginFolder.shortName);
  -      return _computePaths(executionFolder);
  +      return _computePaths(executionFolder, pubCommand: 'upgrade');
       }
       Folder executionFolder = pluginFolder.copyTo(parentFolder);
  -    return _computePaths(executionFolder, runPub: true);
  +    return _computePaths(executionFolder, pubCommand: 'get');
     }
   
     /**
  
positive.code:         reason ??= 'File "${packagesFile.path}" does not exist.';
          packagesFile = null;
        }
      } else if (!packagesFilePreExists) {
        if (workspace != null) {
          packagesFile =
              _createPackagesFile(pluginFolder, workspace.packageUriResolver);
  
negative.code:     }
      String reason;
      File packagesFile = pluginFolder.getChildAssumingFile('.packages');
      if (pubCommand != null) {
        String vmPath = Platform.executable;
        String pubPath = path.join(path.dirname(vmPath), 'pub');
        if (Platform.isWindows) {
          // Process.run requires the `.bat` suffix on Windows
          pubPath = '$pubPath.bat';
        }
        ProcessResult result = Process.runSync(pubPath, <String>[pubCommand],
            stderrEncoding: utf8,
            stdoutEncoding: utf8,
            workingDirectory: pluginFolder.path,
            environment: {_pubEnvironmentKey: _getPubEnvironmentValue()});
        if (result.exitCode != 0) {
          StringBuffer buffer = new StringBuffer();
          buffer.writeln('Failed to run pub $pubCommand');
          buffer.writeln('  pluginFolder = ${pluginFolder.path}');
          buffer.writeln('  exitCode = ${result.exitCode}');
          buffer.writeln('  stdout = ${result.stdout}');
  