/
git-status-subdir.py
42 lines (29 loc) · 1.04 KB
/
git-status-subdir.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/python
import os
from dulwich.repo import Repo
from dulwich import porcelain as git
current_path = '/home/ale/src'
# current_path = os.getcwd()
if not current_path.endswith(os.sep):
current_path = current_path + os.sep
print(current_path)
# print os.walk(current_path).next()[1]
def get_repositories(current_path) :
repositories = {}
for directory in os.walk(current_path).next()[1] :
repository_path = current_path+directory+'/'
if os.path.isdir(repository_path+'.git') :
repositories[directory] = repository_path
return repositories
# repositories = get_repositories(current_path)
def get_immediate_subdirectories(a_dir):
return [name for name in os.listdir(a_dir)
if os.path.isdir(os.path.join(a_dir, name))]
directories = get_immediate_subdirectories(current_path)
for item in directories :
print(item)
path = os.path.join(current_path, item)
print(path)
if os.path.isdir(os.path.join(path, '.git')):
r = Repo(path)
print(git.status(r))