anchor.diff:      dockerfile.run('pub', args: ['get']);
     }
   
  -  Set<Project> _pathDependentProjects(ProjectDependencies projectDependencies) {
  -    final depMap = new Map.fromIterable(projectDependencies.allDependencies,
  -        key: (project) => project.name);
  -
  -    final allProjects = concat(
  -        [[projectDependencies.project], projectDependencies.allDependencies]);
  -
  -    final pathKeys = allProjects.expand((Project project) {
  -      final deps = project.pubspec.dependencies;
  -      return deps.keys.where(
  -          (key) => deps[key] is PathReference && depMap.keys.contains(key));
  -    });
  -
  -    return pathKeys.map((key) => depMap[key]).toSet();
  -  }
  +//  Set<Project> _pathDependentProjects(ProjectDependencies projectDependencies) {
  +//    final depMap = new Map.fromIterable(projectDependencies.allDependencies,
  +//        key: (project) => project.name);
  +//
  +//    final allProjects = concat(
  +//        [[projectDependencies.project], projectDependencies.allDependencies]);
  +//
  +//    final pathKeys = allProjects.expand((Project project) {
  +//      final deps = project.pubspec.dependencies;
  +//      return deps.keys.where(
  +//          (key) => deps[key] is PathReference && depMap.keys.contains(key));
  +//    });
  +//
  +//    return pathKeys.map((key) => depMap[key]).toSet();
  +//  }
   
     void _setupForPrivateGit(bool setupForPrivateGit, Dockerfile dockerfile) {
       if (setupForPrivateGit) {
  
positive.code:     final serverProjectDeps = graph.forProject(serverProjectName);
      final clientProjectDeps = graph.forProject(clientProjectName);
  
      final serverPathDependentProjects =
          _pathDependentProjects(serverProjectDeps);
      final clientPathDependentProjects =
          _pathDependentProjects(clientProjectDeps);
  
      final omitClient = omitClientWhenPathDependencies &&
          clientPathDependentProjects.isNotEmpty;
  
      final pathDependentProjects = omitClient
          ? serverPathDependentProjects
          : concat([serverPathDependentProjects, clientPathDependentProjects])
              .toSet();
  
  //    if (serverGitRef != null)
  
      final pathHandler = new _PathHandler(
          rootDirectory.path, targetRootPath, pathDependentProjects.isNotEmpty);
  
      final dockerfile = new Dockerfile();
  
      dockerfile.from('google/dart', tag: dartVersion);
  
      _setupForPrivateGit(setupForPrivateGit, dockerfile);
  
      pathDependentProjects.forEach((prj) {
        final dir = prj.installDirectory.path;
        dockerfile.addDir(
            pathHandler.sourcePath(dir), pathHandler.targetPath(dir));
      });
  
      final serverFiles =
          new _TopLevelProjectFiles(dockerfile, serverProjectDeps, pathHandler);
  
      final clientFiles =
          new _TopLevelProjectFiles(dockerfile, clientProjectDeps, pathHandler);
  
      serverFiles.addPubspecFiles();
      if (!omitClient) {
        clientFiles.addPubspecFiles();
      }
      serverFiles.pubGet();
      if (!omitClient) {
        clientFiles.pubGet();
      }
      serverFiles.addRemainder();
      if (!omitClient) {
        clientFiles.addRemainder();
      }
  
      dockerfile.envs(environment);
  
  
negative.code:     addHelper.add(pubspecLock);
    }
  
    String get workDir => pathHandler.targetPath(dirPath);
  
    void pubGet() {
      dockerfile.workDir(workDir);
      dockerfile.run('pub', args: ['get']);
    }
  
    void pubGetOffline() {
      dockerfile.workDir(workDir);
      dockerfile.run('pub', args: ['get', '--offline']);
    }
  
  