anchor.diff:  }
   
   Future removePackage(String packageName) async {
  -  await dbService.withTransaction((Transaction T) async {
  +  await withRetryTransaction(dbService, (tx) async {
       final deletes = <Key>[];
       final Key packageKey = dbService.emptyKey.append(Package, id: packageName);
  -    final package = (await T.lookup([packageKey])).first as Package;
  +    final package = (await tx.lookup([packageKey])).first as Package;
       if (package == null) {
         print('Package $packageName does not exists.');
       } else {
         deletes.add(packageKey);
       }
   
  -    final versionsQuery = T.query<PackageVersion>(packageKey);
  +    final versionsQuery = tx.query<PackageVersion>(packageKey);
       final versions = await versionsQuery.run().toList();
       final List<Version> versionNames =
           versions.map((v) => v.semanticVersion).toList();
  
positive.code:     }
  
      bool updatePackage = false;
      if (package.latestVersion == version) {
        package.latestVersionKey = null;
        updatePackage = true;
      }
      if (package.latestDevVersion == version) {
        package.latestDevVersionKey = null;
        updatePackage = true;
      }
  
negative.code: }
  
  Future removePackageVersion(String packageName, String version) async {
    await withRetryTransaction(dbService, (tx) async {
      final Key packageKey = dbService.emptyKey.append(Package, id: packageName);
      final package = (await tx.lookup([packageKey])).first as Package;
      if (package == null) {
        print('Package $packageName does not exist.');
      }
  
      final versionsQuery = tx.query<PackageVersion>(packageKey);
      final versions = await versionsQuery.run().toList();
      final versionNames = versions.map((v) => v.version).toList();
      if (versionNames.contains(version)) {
        final deletes = [packageKey.append(PackageVersion, id: version)];
        tx.queueMutations(deletes: deletes);
      } else {
        print('Package $packageName does not have a version $version.');
      }
  
  