~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/smart/repository.py

  • Committer: Patch Queue Manager
  • Date: 2011-11-28 05:07:40 UTC
  • mfrom: (6305.2.7 hpss-pack)
  • Revision ID: pqm@pqm.ubuntu.com-20111128050740-md31i70uhigil8mq
(jelmer) Add HPSS call for ``Repository.pack``. (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1073
1073
    def do_repository_request(self, repository):
1074
1074
        revids = repository.all_revision_ids()
1075
1075
        return SuccessfulSmartServerResponse(("ok", ), "\n".join(revids))
 
1076
 
 
1077
 
 
1078
class SmartServerRepositoryPack(SmartServerRepositoryRequest):
 
1079
    """Pack a repository.
 
1080
 
 
1081
    New in 2.5.
 
1082
    """
 
1083
 
 
1084
    def do_repository_request(self, repository, lock_token, clean_obsolete_packs):
 
1085
        self._repository = repository
 
1086
        self._lock_token = lock_token
 
1087
        if clean_obsolete_packs == 'True':
 
1088
            self._clean_obsolete_packs = True
 
1089
        else:
 
1090
            self._clean_obsolete_packs = False
 
1091
        return None
 
1092
 
 
1093
    def do_body(self, body_bytes):
 
1094
        if body_bytes == "":
 
1095
            hint = None
 
1096
        else:
 
1097
            hint = body_bytes.splitlines()
 
1098
        self._repository.lock_write(token=self._lock_token)
 
1099
        try:
 
1100
            self._repository.pack(hint, self._clean_obsolete_packs)
 
1101
        finally:
 
1102
            self._repository.unlock()
 
1103
        return SuccessfulSmartServerResponse(("ok", ), )