anchor.diff:            .map((HostedPackageVersions versions) => versions.latest.version);
   
         if (latestPublishedVersionOpt is Some) {
  -        // hosted package
  -        // check if version has changed
  -        //   if not then check diff from version tag
  -        //     if different then ERROR. hosted packages must be manually bumped
  -
           final latestPublishedVersion = latestPublishedVersionOpt.get();
  -        final currentPubspecVersion = project.pubspec.version;
           if (latestPublishedVersion < currentPubspecVersion) {
  -          // ok can publish
  -
             await _pub.publish().process(project);
           } else {
  -          final hasChangesSinceLastPublish = (await commitCountSince(
  -                  gitDir, currentPubspecVersion.toString())) >
  -              0;
  +          final hasChangesSinceLastPublish =
  +              await _hasCommitsSince(gitDir, latestPublishedVersion);
   
             if (hasChangesSinceLastPublish /* &&
                 latestPublishedVersion == currentPubspecVersion */
  
positive.code: import 'package:option/option.dart';
  import 'package:jefe/src/pub/pub_version.dart';
  import 'package:pub_semver/pub_semver.dart';
  
  Logger _log = new Logger('jefe.project.commands.git.feature.impl');
  
  
negative.code:             // nothing to do here as nothing has changed.
            }
          }
        } else {
          // handle git dependency
          final Option<Version> releaseVersionOpt = await _getReleaseVersion(
              latestTaggedVersion, currentPubspecVersion, gitDir, type);
          ////// TODO: need to fold the hosted handling into this. Both cases
          /// need the git flow & tag stuff
          if (releaseVersionOpt is Some) {
            final releaseVersion = releaseVersionOpt.get();
            await _gitFeature
                .releaseStart(releaseVersion.toString())
                .process(project);
            await project
                .updatePubspec(project.pubspec.copy(version: releaseVersion));
            await _pubSpec.setToHostedDependencies().process(project,
                dependencies: dependencies);
            await _git
                .commit('releasing version $releaseVersion')
                .process(project);
            await _gitFeature
                .releaseFinish(releaseVersion.toString())
                .process(project);
            await _git.push().process(project);
          }
        }
      });
    }
  
  