Trac Version Control System API
Trac uses a thin abstraction layer between the Trac application code and the code that accesses concrete version control systems. This layer can be found in the trac.versioncontrol package.
Accessing the Version Control System
You can get access to a concrete Repository implementation using the get_repository() method of the Environment object:
from trac.env import Environment env = Environment('/path/to/projenv') repos = env.get_repository() try: # Do whatever you like with the repository object here finally: repos.close()
From Trac 0.12 env.get_repository() is deprecated, replaced by the RepositoryManager interface. The above code becomes:
from trac.env import Environment from trac.versioncontrol import RepositoryManager env = Environment('/path/to/projenv') repos = RepositoryManager(env).get_repository(None) try: # Do whatever you like with the repository object here finally: repos.close()
To access a repository other than the default pass a reponame in place of None. In class that inherits from Component it is more convenient to use self.env than instantiate Environment manually.
See also: TracDev


