text: public virtual void PrunePacked(){ObjectDirectory objdb = ((ObjectDirectory)repo.ObjectDatabase);ICollection<PackFile> packs = objdb.GetPacks();FilePath objects = repo.ObjectsDirectory;string[] fanout = objects.List();if (fanout != null && fanout.Length > 0){pm.BeginTask(JGitText.Get().pruneLoosePackedObjects, fanout.Length);try{foreach (string d in fanout){pm.Update(1);if (d.Length != 2){continue;}string[] entries = new FilePath(objects, d).List();if (entries == null){continue;}foreach (string e in entries){if (e.Length != Constants.OBJECT_ID_STRING_LENGTH - 2){continue;}ObjectId id;try{id = ObjectId.FromString(d + e);}catch (ArgumentException){continue;}bool found = false;foreach (PackFile p in packs){if (p.HasObject(id)){found = true;break;}}if (found){FileUtils.Delete(objdb.FileFor(id), FileUtils.RETRY | FileUtils.SKIP_MISSING | FileUtils.IGNORE_ERRORS);}}}}finally{pm.EndTask();}}}