Versioning SPI module enables Source Code Management (SCM or Versioning) modules to fully integrate into the IDE workflow. Mostly it is a facade over existing friend APIs (masterfs). Registration: SCM module extends VersioningSystem and registers itself via default Lookup: it puts "org.netbeans.modules.versioning.spi.VersioningSystem" file in its META-INF/services folder. VersioningSPI Enables Source Code Management (SCM or Versioning) modules to fully integrate into the IDE workflow.
make it possible for Versioning Systems to fire visibility changes for a list of files instead of one unspecific change event.
ContextAwareAction-s provided via
are created with a context containing the selected nodes in a files editor history tab. Those nodes than will have
HistoryEntry and files in their lookup.
VCSHistoryProvider.HistoryEntry.getParent() to provide the
VCSHistoryProvider.HistoryEntry representing the parent of the given revision.
VCSHistoryProvider makes it possible for versionig systems to
provide information about a files history which is then used in that files editor history tab.
isExcluded states that a given folder is excluded from version control completely.
All version control systems should respect the return value and consider such folders to be unversioned.
Main and Popup Menu usecases come from the UI spec available here: Versioning UI spec
No special requirements here.
Read more about the implementation in the answers to architecture questions.