/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/workingtree_4.py

  • Committer: INADA Naoki
  • Date: 2011-05-17 00:45:09 UTC
  • mfrom: (5875 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5891.
  • Revision ID: songofacandy@gmail.com-20110517004509-q58negjbdjh7t6u1
mergeĀ fromĀ lp:bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
76
76
 
77
77
class DirStateWorkingTree(InventoryWorkingTree):
78
78
 
 
79
    _DEFAULT_WORTH_SAVING_LIMIT = 10
 
80
 
79
81
    def __init__(self, basedir,
80
82
                 branch,
81
83
                 _control_files=None,
229
231
        local_path = self.bzrdir.get_workingtree_transport(None
230
232
            ).local_abspath('dirstate')
231
233
        self._dirstate = dirstate.DirState.on_file(local_path,
232
 
            self._sha1_provider())
 
234
            self._sha1_provider(), self._worth_saving_limit())
233
235
        return self._dirstate
234
236
 
235
237
    def _sha1_provider(self):
244
246
        else:
245
247
            return None
246
248
 
 
249
    def _worth_saving_limit(self):
 
250
        """How many hash changes are ok before we must save the dirstate.
 
251
 
 
252
        :return: an integer. -1 means never save.
 
253
        """
 
254
        config = self.branch.get_config()
 
255
        val = config.get_user_option('bzr.workingtree.worth_saving_limit')
 
256
        if val is None:
 
257
            val = self._DEFAULT_WORTH_SAVING_LIMIT
 
258
        else:
 
259
            try:
 
260
                val = int(val)
 
261
            except ValueError, e:
 
262
                trace.warning('Invalid config value for'
 
263
                              ' "bzr.workingtree.worth_saving_limit"'
 
264
                              ' value %r is not an integer.'
 
265
                              % (val,))
 
266
                val = self._DEFAULT_WORTH_SAVING_LIMIT
 
267
        return val
 
268
 
247
269
    def filter_unversioned_files(self, paths):
248
270
        """Filter out paths that are versioned.
249
271
 
860
882
                rollback_rename()
861
883
                raise
862
884
            result.append((from_rel, to_rel))
863
 
            state._dirblock_state = dirstate.DirState.IN_MEMORY_MODIFIED
 
885
            state._mark_modified()
864
886
            self._make_dirty(reset_inventory=False)
865
887
 
866
888
        return result
1867
1889
                                       identifier))
1868
1890
        return self._repository.iter_files_bytes(repo_desired_files)
1869
1891
 
1870
 
    def get_symlink_target(self, file_id):
 
1892
    def get_symlink_target(self, file_id, path=None):
1871
1893
        entry = self._get_entry(file_id=file_id)
1872
1894
        parent_index = self._get_parent_index()
1873
1895
        if entry[1][parent_index][0] != 'l':