Вы можете зарегистрировать прослушиватели через JGit для всех репозиториев или отдельных репозиториев следующими способами:
Глобальные прослушиватели уведомлены для всех репозиториев:
org.eclipse.jgit.lib.Repository.getGlobalListenerList().addIndexChangedListener
org.eclipse.jgit.lib.Repository.getGlobalListenerList().addConfigChangedListener
org.eclipse.jgit.lib.Repository.getGlobalListenerList().addRefsChangedListener
Прослушиватели в невидимом хранилище:
org.eclipse.jgit.lib.Repository.getListenerList().addIndexChangedListener
org.eclipse.jgit.lib.Repository.getListenerList().addConfigChangedListener
org.eclipse.jgit.lib.Repository.getListenerList().addRefsChangedListener
Эти слушатели поддерживают события для изменений индекса, изменений в конфигурации репозитория и изменений в ссылках репозитория (ветви, теги и т. Д.).
Вы можете найти все репозиториизарегистрированный в EGit через:
Получить абсолютные пути ко всем репозиториям, присутствующим в EGit, вызвав:
org.eclipse.egit.core.Activator.getDefault().getRepositoryUtil().getConfiguredRepositories()
Вы можете получить дескриптор к определенному объекту репозитория, создав файлдля пути, возвращенного из предыдущего метода, а затем вызовите следующее с этим файлом:
org.eclipse.egit.core.Activator.getDefault().getRepositoryCache().lookupRepository