Commit | Line | Data |
---|---|---|
170f576b CM |
1 | """Access to the GIT base directory |
2 | """ | |
3 | ||
4 | __copyright__ = """ | |
5 | Copyright (C) 2006, Catalin Marinas <catalin.marinas@gmail.com> | |
6 | ||
7 | This program is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License version 2 as | |
9 | published by the Free Software Foundation. | |
10 | ||
11 | This program is distributed in the hope that it will be useful, | |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with this program; if not, write to the Free Software | |
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
19 | """ | |
20 | ||
21 | import os | |
f0de3f92 | 22 | from stgit.run import * |
170f576b CM |
23 | |
24 | # GIT_DIR value cached | |
25 | __base_dir = None | |
26 | ||
27 | def get(): | |
28 | """Return the .git directory location | |
29 | """ | |
30 | global __base_dir | |
31 | ||
32 | if not __base_dir: | |
33 | if 'GIT_DIR' in os.environ: | |
34 | __base_dir = os.environ['GIT_DIR'] | |
35 | else: | |
f0de3f92 | 36 | try: |
1576d681 | 37 | __base_dir = Run('git', 'rev-parse', '--git-dir').output_one_line() |
f0de3f92 KH |
38 | except RunException: |
39 | __base_dir = '' | |
170f576b CM |
40 | |
41 | return __base_dir | |
608961c2 YD |
42 | |
43 | def clear_cache(): | |
44 | """Clear the cached location of .git | |
45 | """ | |
46 | global __base_dir | |
47 | __base_dir = None |