Я хочу посмотреть, насколько репозиторий изменился за последний месяц на стороне сервера gitlab.
cd /path/to/my/bare/repo.git/
git --git-dir . diff --shortstat "@{1 month ago}"
fatal: Unable to read log 'logs/refs/heads/master': No such file or directory
Однако он отлично работает в рабочей ветке с локальной проверкой.
Есть ли способ сделать это без особых хлопот?
Чтобы избежать проблемы XY: я хочу запустить статистику через сотни репозиториев на сервере Gitlab.
--git-dir
? - person NoDataFound   schedule 03.09.2014cd /path/to/bare/repo.git ; git diff --shortstat '@{1 month ago}'
должно работать. - person knittl   schedule 03.09.2014git --git-dir /path/to/my/bare/repo.git/ branch -a
? - person marbu   schedule 03.09.2014* master
- person λq_   schedule 03.09.2014This operation must be run in a work tree
. Я бы не сказал, что это невозможно (gitk показывает разницу в голом репо, но я думаю, что он использует SHA1 коммитов для создания разницы!). - person NoDataFound   schedule 03.09.2014strace git log
, он действительно сканирует множество SHA1, ноgit diff
требуетlogs/refs/heads/master
- person λq_   schedule 03.09.2014