/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/smart/branch.py

  • Committer: Martin Pool
  • Date: 2011-05-20 14:46:02 UTC
  • mto: This revision was merged to the branch mainline in revision 5923.
  • Revision ID: mbp@canonical.com-20110520144602-bqli0t6dj01gl0pv
Various pyflakes import fixes.

Some modules were used for subclassing or at module load time, so there is no
point loading them lazily.

Some were not imported when they should be.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006 Canonical Ltd
 
1
# Copyright (C) 2006-2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
17
17
"""Server-side branch related request implmentations."""
18
18
 
19
19
 
20
 
from bzrlib import errors
 
20
from bzrlib import (
 
21
    bencode,
 
22
    errors,
 
23
    )
21
24
from bzrlib.bzrdir import BzrDir
22
25
from bzrlib.smart.request import (
23
26
    FailedSmartServerResponse,
139
142
            self.branch.unlock()
140
143
 
141
144
 
 
145
class SmartServerBranchHeadsToFetch(SmartServerBranchRequest):
 
146
 
 
147
    def do_with_branch(self, branch):
 
148
        """Return the heads-to-fetch for a Branch as two bencoded lists.
 
149
        
 
150
        See Branch.heads_to_fetch.
 
151
 
 
152
        New in 2.4.
 
153
        """
 
154
        must_fetch, if_present_fetch = branch.heads_to_fetch()
 
155
        return SuccessfulSmartServerResponse(
 
156
            (list(must_fetch), list(if_present_fetch)))
 
157
 
 
158
 
142
159
class SmartServerBranchRequestGetStackedOnURL(SmartServerBranchRequest):
143
160
 
144
161
    def do_with_branch(self, branch):
194
211
        return SuccessfulSmartServerResponse(())
195
212
 
196
213
 
 
214
class SmartServerBranchRequestSetConfigOptionDict(SmartServerLockedBranchRequest):
 
215
    """Set an option in the branch configuration.
 
216
    
 
217
    New in 2.2.
 
218
    """
 
219
 
 
220
    def do_with_locked_branch(self, branch, value_dict, name, section):
 
221
        utf8_dict = bencode.bdecode(value_dict)
 
222
        value_dict = {}
 
223
        for key, value in utf8_dict.items():
 
224
            value_dict[key.decode('utf8')] = value.decode('utf8')
 
225
        if not section:
 
226
            section = None
 
227
        branch._get_config().set_option(value_dict, name, section)
 
228
        return SuccessfulSmartServerResponse(())
 
229
 
 
230
 
197
231
class SmartServerBranchRequestSetLastRevision(SmartServerSetTipRequest):
198
232
 
199
233
    def do_tip_change_with_locked_branch(self, branch, new_last_revision_id):
200
234
        if new_last_revision_id == 'null:':
201
 
            branch.set_revision_history([])
 
235
            branch._set_revision_history([])
202
236
        else:
203
237
            if not branch.repository.has_revision(new_last_revision_id):
204
238
                return FailedSmartServerResponse(
205
239
                    ('NoSuchRevision', new_last_revision_id))
206
 
            branch.set_revision_history(branch._lefthand_history(
 
240
            branch._set_revision_history(branch._lefthand_history(
207
241
                new_last_revision_id, None, None))
208
242
        return SuccessfulSmartServerResponse(('ok',))
209
243
 
292
326
        if repo_token == '':
293
327
            repo_token = None
294
328
        try:
295
 
            repo_token = branch.repository.lock_write(token=repo_token)
 
329
            repo_token = branch.repository.lock_write(
 
330
                token=repo_token).repository_token
296
331
            try:
297
 
                branch_token = branch.lock_write(token=branch_token)
 
332
                branch_token = branch.lock_write(
 
333
                    token=branch_token).branch_token
298
334
            finally:
299
335
                # this leaves the repository with 1 lock
300
336
                branch.repository.unlock()