[StGit PATCH 1/3] Populate the cached config options with the defaults
- From
- Catalin Marinas <catalin.marinas@arm.com>
- Date
- Jan 8, 2010, 12:35 UTC
- Message-ID
- <20100108123559.24161.14842.stgit@pc1117.cambridge.arm.com>
- In-Reply-To
- <20100108123403.24161.3495.stgit@pc1117.cambridge.arm.com>
The patch pre-populates the cached config options with the default values. It also removes an unused option (stgit.extensions).
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com> --- stgit/config.py | 28 ++++++++++++++-------------- 1 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/stgit/config.py b/stgit/config.py index 796f2c9..811138d 100644 --- a/stgit/config.py +++ b/stgit/config.py @@ -28,16 +28,15 @@ class GitConfigException(StgException): class GitConfig: __defaults={ - 'stgit.smtpserver': 'localhost:25', - 'stgit.smtpdelay': '5', - 'stgit.pullcmd': 'git pull', - 'stgit.fetchcmd': 'git fetch', - 'stgit.pull-policy': 'pull', - 'stgit.autoimerge': 'no', - 'stgit.keepoptimized': 'no', - 'stgit.extensions': '.ancestor .current .patched', - 'stgit.shortnr': '5', - 'stgit.pager': 'less' + 'stgit.smtpserver': ['localhost:25'], + 'stgit.smtpdelay': ['5'], + 'stgit.pullcmd': ['git pull'], + 'stgit.fetchcmd': ['git fetch'], + 'stgit.pull-policy': ['pull'], + 'stgit.autoimerge': ['no'], + 'stgit.keepoptimized': ['no'], + 'stgit.shortnr': ['5'], + 'stgit.pager': ['less'] } __cache = None @@ -47,7 +46,7 @@ class GitConfig: done already.""" if self.__cache is not None: return - self.__cache = {} + self.__cache = self.__defaults lines = Run('git', 'config', '--null', '--list' ).discard_exitcode().raw_output() for line in filter(None, lines.split('\0')): @@ -56,9 +55,10 @@ class GitConfig: def get(self, name): self.load() - if name not in self.__cache: - self.__cache[name] = [self.__defaults.get(name, None)] - return self.__cache[name][-1] + try: + return self.__cache[name][-1] + except KeyError: + return None def getall(self, name): self.load()