anchor.diff:        _setupForPrivateGit(setupForPrivateGit, dockerfile);
   
         final serverFiles = new _TopLevelProjectFiles(
  -        dockerfile, serverProjectDeps, rootDirectory.path, targetRootPath);
  +          dockerfile, serverProjectDeps, rootDirectory.path, targetRootPath);
   
         final clientFiles = new _TopLevelProjectFiles(
  -        dockerfile, clientProjectDeps, rootDirectory.path, targetRootPath);
  +          dockerfile, clientProjectDeps, rootDirectory.path, targetRootPath);
   
         final omitClient =
  -        omitClientWhenPathDependencies && clientFiles.hasPathDependencies;
  +          omitClientWhenPathDependencies && clientFiles.hasPathDependencies;
   
         final excludedDependencies = serverFiles.addAll();
         if (!omitClient) {
  
positive.code: 
  import 'package:dockerfile/dockerfile.dart';
  import 'package:jefe/src/git/git.dart';
  import 'package:jefe/src/project/project.dart';
  import 'package:jefe/src/project/docker_commands.dart';
  import 'package:jefe/src/project_commands/project_command.dart' show executeTask;
  import 'package:logging/logging.dart';
  import 'package:path/path.dart' as p;
  import 'package:pubspec/pubspec.dart';
  import 'package:quiver/iterables.dart';
  import 'package:jefe/src/project/jefe_project.dart';
  
  Logger _log = new Logger('jefe.project.commands.docker.impl');
  
  
  abstract class DockerCommandsImpl implements DockerCommands {
    factory DockerCommandsImpl(JefeProjectGraph graph, {bool multiProject: true}) {
      // no distinction between multi and single project docker. Always operates
      // at one level
      return new _DockerCommandsMultiProjectImpl(graph);
  
negative.code:       }
  
        final pathHandler = new _PathHandler(
            rootDirectory.path,
            targetRootPath,
            serverFiles.hasPathDependencies &&
                (omitClient || clientFiles.hasPathDependencies));
  
        dockerfile.envs(environment);
  
  