|Re: [jgit-dev] Fwd: Use of RepositoryListener (especially RefsChangedListener)|
On Mon, Jun 3, 2013 at 2:44 PM, Frank Blechschmidt <frable90@xxxxxxxxx> wrote: > Is there an Example how to use RefsChangedListener or any other Listener? > I want to get notified if a user do a pull on a local repository. > > GitListener listener = new GitListener(String name); > Repository localRepo = new FileRepository(gitPath); //gitPath is like > C:\Users\frabl_000\SoCoTestGit\socoLocal\socoLocal\.git > localRepo.getListenerList().addRefsChangedListener(listener); > > Does the onRefsChanged() only get called if you use the localRepo variable > or will it also be called if you modify the repository via command line or > EGit? This isn't magical. The listener is fired when the localRepo instance observes the reference has changed. This can happen because localRepo processed the update to modify the reference, or because localRepo was asked to scan references again because of an invocation to getRefs() that returned the updated reference. If localRepo doesn't make the change and localRepo doesn't read the reference, no notification is fired. > My Goal: > Get notified if the user pull from origin; reset a HashMap which saves if a > file was opened. Should work if the pull was executed using localRepo. Otherwise no, you need to poll periodically to identify the reference you cared about was moved.
Back to the top