anchor.diff:      errorExit('Invalid argument: --branch must be specified.');
     }
   
  -  final String tempDirArg = parsedArguments['temp_dir'] as String;
  +  final String? tempDirArg = parsedArguments['temp_dir'] as String?;
     Directory tempDir;
     bool removeTempDir = false;
     if (tempDirArg == null || tempDirArg.isEmpty) {
  
positive.code:     exit(exitCode);
    }
  
    final String revision = parsedArguments['revision'] as String;
    if (!parsedArguments.wasParsed('revision')) {
      errorExit('Invalid argument: --revision must be specified.');
    }
    if (revision.length != 40) {
      errorExit('Invalid argument: --revision must be the entire hash, not just a prefix.');
    }
  
negative.code: 
    final bool publish = parsedArguments['publish'] as bool;
    final bool dryRun = parsedArguments['dry_run'] as bool;
    final Branch branch = Branch.values.byName(parsedArguments['branch'] as String);
    final ArchiveCreator creator = ArchiveCreator(
      tempDir,
      outputDir,
  