Depodan sonra hangi hesapların depolanmasından sonra herhangi bir hesaplama gerektirmeyen bir ölçüm kullanarak en son etkin olan bazı metrikler almak istiyorum. Bu nedenle, son işlemlerin sayısının en son değiştirildiği. Bir dosyanın yaşını, gitme koşullarına göre getir
Yani sahip Fikir böylece:file_list = subprocess.Popen(['git', 'ls-files'])
(files, _) = proc.communicate()
missing_ages = files
ages = {f: -1 for f in old_ages}
commits_proc = subprocess.Popen(['git', 'ref-list', '--all', '--pretty=format:""'])
(commits, _) = commits_proc.communicate()
age = 0
for commit_sha in [s.split(' ')[1] for s in commits]
commit_list = subprocess.Popen('some', 'git', 'command')
commit_files = commit_list.communicate()
for file in commit_files
if file in missing_ages
ages[file] = age
missing_ages.remove(file)
age += 1
İhtiyacım olan işlemek verilen kendi sha dosyaların listesini almak için olmayan bir porselen git komuttur. Bir taahhüt dosyaları değişiklikleri listelemek mümkün, ama kararlı değil
Tüm dosya ağacı başvuruda bulunmuyor mu? Bir dosyanın değiştirilip değiştirilmediğini belirlemek için bitişik varlıklar fark etmeniz gerekir, –
Bu doğrudur, ancak örneğin bir dosyada dosya değişikliklerini listeleyebilen 'git show --stat' vardır. Kararlı ve ayrıca ayrıştırmak yerine daha fazla bilgi içerir –
EdJoJob
'git show' basitçe ebeveyn (ler) ine karşı bir farklılığı (birden fazla ebeveyn ile birleştiğinde kombine fark) yapar. Değişiklikleri tespit etmek için aynı şeyi yapmalısınız (belki sizin için git yapmalısınız, ör., Git diff-tree - ad durumu). – torek