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