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

  • Committer: Martin von Gagern
  • Date: 2011-05-27 12:01:22 UTC
  • mto: (5939.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5940.
  • Revision ID: martin.vgagern@gmx.net-20110527120122-7f2yvh17wrech14v
Use move instead of rename when adding packs to repository.

A rename might fail (e.g. on sftp) if the target file does exist. This is
because rename is guaranteed to be atomic.  The move operation, on the other
hand, does guarantee deletion of any existing target if possible, so it is
more appropriate here, where we are not dealing with locks but with content
files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2008 Canonical Ltd
 
1
# Copyright (C) 2008, 2009, 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
64
64
        """
65
65
        raise NotImplementedError(self.get_selected_items)
66
66
 
 
67
    def get_single_value(self, path, preference_name):
 
68
        """Get a single preference for a single file.
 
69
        
 
70
        :returns: The string preference value, or None.
 
71
        """
 
72
        for key, value in self.get_selected_items(path, [preference_name]):
 
73
            return value
 
74
        return None
 
75
 
67
76
 
68
77
class _IniBasedRulesSearcher(_RulesSearcher):
69
78
 
74
83
 
75
84
        :param inifile: the name of the file or a sequence of lines.
76
85
        """
77
 
        options = {'encoding': 'utf-8'}
78
 
        self._cfg = configobj.ConfigObj(inifile, options=options)
 
86
        self._cfg = configobj.ConfigObj(inifile, encoding='utf-8')
79
87
        sections = self._cfg.keys()
80
88
        patterns = []
81
89
        self.pattern_to_section = {}