anchor.diff:    }
   
     Future releaseStart(String releaseName) async =>
  -      gitFlowReleaseStart(await _project.gitDir, releaseName);
  +      gitFlowReleaseStart(_gitDir, releaseName);
   
     Future releaseFinish(String releaseName) async {
  -    var gitDir = await _project.gitDir;
  +    var gitDir = _gitDir;
       await gitFlowReleaseFinish(gitDir, releaseName);
       await gitTag(gitDir, releaseName);
       await gitPush(gitDir);
  
positive.code:   }
  
    Future<FeatureNames> fetchCurrentProjectsFeatureNames() async {
      final gitDir = await _project.gitDir;
      final results = await Future
          .wait([gitFlowFeatureNames(gitDir), gitFlowCurrentFeatureName(gitDir)]);
  
  
negative.code:         // TODO: could check the branch is correctly based off develop
          _log.info('${_project.name} already on correct feature branch');
        } else {
          return gitCheckout(_gitDir, '$featureBranchPrefix$featureName');
        }
      } else {
        return gitFlowFeatureStart(_gitDir, featureName);
      }
    }
  
    Future featureFinish(String featureName,
        {bool excludeOnlyCommitIf(Commit commit): _dontExclude}) async {
      final GitDir gitDir = _gitDir;
      final Map<String, Commit> commits =
          await gitDir.getCommits('$developBranchName..HEAD');
      _log.info('found ${commits.length} commits on feature branch');
  