0
Я хотел бы иметь следующий скрипт запустить, когда «статус мерзавец» побежал без параметров:Как спрятать встроенные команды git?
#!/usr/bin/env python
import subprocess
o = subprocess.check_output("git -c color.status=always status", shell=True)
started = False
done = False
for line in o.split('\n'):
line = line.rstrip('\r\n')
if line.strip() == '' and not done:
if started:
started = False
done = True
started = True
print(line)
continue
if started and 'modified: ' in line:
filename = line.split('modified:')[1].strip().split('\x1b')[0]
p = subprocess.Popen(["git", "diff", filename], stdout=subprocess.PIPE)
out = subprocess.check_output("diffstat", stdin=p.stdout).split('|')[1]
print('%s %s' % (line.rstrip(), out.split('\n')[0]))
else:
print(line)
Как я могу добиться этого?
Будет ли это обрабатывать ситуации, когда я даю 'git status' аргумент, и я предпочел бы, чтобы он просто управлял ванильным git-статусом? – d33tah
Нет. Я немного улучшу его, всего лишь мгновение. – SzG
@SzG 'git' будет смотреть только в пространстве псевдонима для команд, которые еще не распознаются как встроенные. Это может работать с некоторыми более старыми версиями 'git' (до того, как все подкоманды стали встроенными), но не в более поздних версиях (проверенных в моей текущей системе с' git' 2.1.1). – twalberg