Rev 5354: Refactor config dir check. in file:///home/vila/src/bzr/bugs/525571-lock-bazaar-conf-files/

Vincent Ladeuil v.ladeuil+lp at free.fr
Wed Jul 21 17:35:14 BST 2010


At file:///home/vila/src/bzr/bugs/525571-lock-bazaar-conf-files/

------------------------------------------------------------
revno: 5354
revision-id: v.ladeuil+lp at free.fr-20100721163514-e491wd00fdgbp8sp
parent: v.ladeuil+lp at free.fr-20100721161727-agtcf9n5r8wmvahr
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: lockable-config-files
timestamp: Wed 2010-07-21 18:35:14 +0200
message:
  Refactor config dir check.
  
  * bzrlib/tests/test_config.py:
  (TestLockableConfig.create_config)
  (TestLocationConfig.get_branch_config)
  (TestBranchConfigItems.get_branch_config): Delete useless call.
  
  * bzrlib/config.py:
  (IniBasedConfig._write_config_file): Ensure the config dir exist.
  (GlobalConfig._set_option, LocationConfig.set_user_option):
  Delegate config dir check to _write_config_file.
-------------- next part --------------
=== modified file 'bzrlib/config.py'
--- a/bzrlib/config.py	2010-07-21 16:17:27 +0000
+++ b/bzrlib/config.py	2010-07-21 16:35:14 +0000
@@ -511,6 +511,8 @@
     def _write_config_file(self):
         if self.file_name is None:
             raise AssertionError('We cannot save, self.file_name is None')
+        conf_dir = os.path.dirname(self.file_name)
+        ensure_config_dir_exists(conf_dir)
         atomic_file = atomicfile.AtomicFile(self.file_name)
         self._get_parser().write(atomic_file)
         atomic_file.commit()
@@ -553,8 +555,6 @@
     def _set_option(self, option, value, section):
         # FIXME: RBC 20051029 This should refresh the parser and also take a
         # file lock on bazaar.conf.
-        conf_dir = os.path.dirname(self.file_name)
-        ensure_config_dir_exists(conf_dir)
         if self._parser is not None:
             self._parser.reload()
         self._get_parser().setdefault(section, {})[option] = value
@@ -679,8 +679,6 @@
             self._parser.reload()
         # FIXME: RBC 20051029 This should refresh the parser and also take a
         # file lock on locations.conf.
-        conf_dir = os.path.dirname(self.file_name)
-        ensure_config_dir_exists(conf_dir)
         location = self.location
         if location.endswith('/'):
             location = location[:-1]

=== modified file 'bzrlib/tests/test_config.py'
--- a/bzrlib/tests/test_config.py	2010-07-21 16:17:27 +0000
+++ b/bzrlib/tests/test_config.py	2010-07-21 16:35:14 +0000
@@ -417,7 +417,6 @@
         self.config = self.create_config(self._content)
 
     def create_config(self, content):
-        config.ensure_config_dir_exists()
         c = self.config_class(_content=content)
         c._write_config_file()
         return c
@@ -1012,7 +1011,6 @@
         if global_config is None:
             global_config = sample_config_text
 
-        config.ensure_config_dir_exists()
         my_global_config = config.GlobalConfig(_content=global_config)
         my_global_config._write_config_file()
         my_location_config = config.LocationConfig(
@@ -1090,12 +1088,10 @@
         my_branch = FakeBranch(location)
         if global_config is not None:
             my_global_config = config.GlobalConfig(_content=global_config)
-            config.ensure_config_dir_exists()
             my_global_config._write_config_file()
         if location_config is not None:
             my_location_config = config.LocationConfig(my_branch.base,
                                                        _content=location_config)
-            config.ensure_config_dir_exists()
             my_location_config._write_config_file()
         my_config = config.BranchConfig(my_branch)
         if branch_data_config is not None:



More information about the bazaar-commits mailing list