git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[EGIT PATCH 0/9] Repository change listeners

From
Robin Rosenberg <robin.rosenberg@dewire.com>
Date
Jul 10, 2008, 22:40 UTC
Message-ID
<1215729651-26781-1-git-send-email-robin.rosenberg@dewire.com>

We want to make the UI react on changes to the repo, but the parts of the code that makes the changes doesn't know who wants to react on them. This adds a publish-subcribe mechanism, including detection of externally made changes, e.g. by C Git.

-- robin
Robin Rosenberg (9):
  Create a listener structure for changes to refs and index
  Cached modification times for symbolic refs too
  Connect the history page to the refs update subscription mechanism
  Add a method to listen to changes in any repository
  Add a job to periodically scan for repository changes
  Change GitHistoryPage to listen on any repository.
  Add a job to refresh projects when the index changes.
  Make git dectected changes depend on the automatic refresh setting
  Attach the resource decorator to the repository change event
    mechanism
 .../src/org/spearce/egit/ui/Activator.java         |  155 ++++++++++++++++++++
 .../internal/decorators/GitResourceDecorator.java  |   29 ++++-
 .../egit/ui/internal/history/GitHistoryPage.java   |   43 +++++-
 .../src/org/spearce/jgit/lib/GitIndex.java         |    3 +
 .../org/spearce/jgit/lib/IndexChangedEvent.java    |   55 +++++++
 .../src/org/spearce/jgit/lib/RefDatabase.java      |   63 ++++++---
 .../src/org/spearce/jgit/lib/RefsChangedEvent.java |   55 +++++++
 .../src/org/spearce/jgit/lib/Repository.java       |   74 ++++++++++
 .../org/spearce/jgit/lib/RepositoryAdapter.java    |   54 +++++++
 .../spearce/jgit/lib/RepositoryChangedEvent.java   |   64 ++++++++
 .../org/spearce/jgit/lib/RepositoryListener.java   |   63 ++++++++
 11 files changed, 635 insertions(+), 23 deletions(-)
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/IndexChangedEvent.java
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/RefsChangedEvent.java
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/RepositoryAdapter.java
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/RepositoryChangedEvent.java
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/RepositoryListener.java
Next: Robin Rosenberg
Message 1 of 19 in “Repository change listeners”
  1. 0/9 Repository change listenersRobin Rosenberg, Jul 10, 2008
  2. 1/9 Create a listener structure for changes to refs and indexRobin Rosenberg, Jul 10, 2008
  3. 2/9 Cached modification times for symbolic refs tooRobin Rosenberg, Jul 10, 2008
  4. 3/9 Connect the history page to the refs update subscription mechanismRobin Rosenberg, Jul 10, 2008
  5. 4/9 Add a method to listen to changes in any repositoryRobin Rosenberg, Jul 10, 2008
  6. 5/9 Add a job to periodically scan for repository changesRobin Rosenberg, Jul 10, 2008
  7. 6/9 Change GitHistoryPage to listen on any repository.Robin Rosenberg, Jul 10, 2008
  8. 7/9 Add a job to refresh projects when the index changes.Robin Rosenberg, Jul 10, 2008
  9. 8/9 Make git dectected changes depend on the automatic refresh settingRobin Rosenberg, Jul 10, 2008
  10. 9/9 Attach the resource decorator to the repository change event mechanismRobin Rosenberg, Jul 10, 2008
  11. Shawn O. PearceJul 11, 2008
  12. 7/7 Add a job to refresh projects when the index changes.Robin Rosenberg, Jul 11, 2008
  13. Shawn O. PearceJul 11, 2008
  14. 4/4 Add a method to listen to changes in any repositoryRobin Rosenberg, Jul 11, 2008
  15. jgit (was: [PATCH 4/4] Add a method...)Andreas Ericsson, Jul 11, 2008
  16. Robin RosenbergJul 11, 2008
  17. Shawn O. PearceJul 11, 2008
  18. Create a listener structure for changes to refs and indexRobin Rosenberg, Jul 11, 2008
  19. Shawn O. PearceJul 11, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.