1
# Copyright (C) 2006-2007 Jelmer Vernooij <jelmer@samba.org>
2
# 2007 David Allouche <ddaa@ddaa.net>
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; either version 2 of the License, or
7
# (at your option) any later version.
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
# GNU General Public License for more details.
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software
16
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
"""Git cache directory access."""
19
# Shamelessly copied from bzr-svn.
24
from bzrlib.config import config_dir, ensure_config_dir_exists
25
from bzrlib.trace import warning
28
def create_cache_dir():
29
"""Create the top-level bzr-git cache directory.
31
:return: Path to cache directory.
33
ensure_config_dir_exists()
34
cache_dir = os.path.join(config_dir(), 'git-cache')
36
if not os.path.exists(cache_dir):
39
open(os.path.join(cache_dir, "README"), 'w').write(
40
"""This directory contains information cached by the bzr-git plugin.
42
It is used for performance reasons only and can be removed
49
def check_pysqlite_version(sqlite3):
50
"""Check that sqlite library is compatible.
53
if (sqlite3.sqlite_version_info[0] < 3 or
54
(sqlite3.sqlite_version_info[0] == 3 and
55
sqlite3.sqlite_version_info[1] < 3)):
56
warning('Needs at least sqlite 3.3.x')
57
raise bzrlib.errors.BzrError("incompatible sqlite library")
62
check_pysqlite_version(sqlite3)
63
except (ImportError, bzrlib.errors.BzrError), e:
64
from pysqlite2 import dbapi2 as sqlite3
65
check_pysqlite_version(sqlite3)
67
warning('Needs at least Python2.5 or Python2.4 with the pysqlite2 '
69
raise bzrlib.errors.BzrError("missing sqlite library")