Как получить информацию о git-репо, используя абсолютные пути

я пишу несколько скриптов, чтобы получить информацию о репозиториях git, которые яМы настроены на месте. Это лучше всего объяснить на простом примере:

machine:~ anon$ mkdir test
machine:~ anon$ cd test
machine:test anon$ mkdir myrepo
machine:test anon$ cd myrepo/
machine:myrepo anon$ git init
Initialized empty Git repository in /Users/anon/test/myrepo/.git/
machine:myrepo anon$ echo this is a test >> test.txt
machine:myrepo anon$ git add test.txt 
machine:myrepo anon$ git commit -m "first commit"
[master (root-commit) d9b8bf0] first commit
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt
machine:myrepo anon$ git status
# On branch master
nothing to commit (working directory clean)
machine:myrepo anon$ git log
commit d9b8bf02d5ff8b214d3ac44308c53ee6c8bcaac5
Author: Anon Ymus 
Date:   Mon Feb 3 13:22:17 2014 +0000

    first commit
machine:myrepo anon$ cd ~
machine:~ anon$ git status ${HOME}/test/myrepo/
fatal: Not a git repository (or any of the parent directories): .git

Я могу получить информацию о моем репо, только если рабочий каталог находится в git репо.

Я мог бы изменить мои сценарии, чтобы изменить рабочие каталоги на git-репозиторий, а затем обратно. Но я бы предпочел избежать этого, если это возможно, потому что мои скрипты предназначены для работы как для SVN, так и для GIT. Например, с командами SVN, такими как:

svn info /this/is/a/fullpath

работает нормально, независимо от того, какой путь или рабочий каталог, поэтому я бы предпочел решение, которое отображает как можно ближе к этому для согласованности.

Заранее спасибо :)

Ответы на вопрос(1)

Ваш ответ на вопрос