Version 21 (modified by 18 years ago) ( diff ) | ,
---|
This page documents the 1.4 (latest stable) release. Documentation for other releases can be found here.
InterTrac Extension for TracLinks
(since 0.10)
Definitions
An InterTrac link is used for referring to a Trac object (Wiki page, changeset, ticket, …) located in another Trac environment.
List of Active InterTrac Prefixes
Prefix | Trac Site |
---|---|
bh | Alias for bloodhound |
bitten | Bitten |
bl | Alias for Babel |
bn | Alias for Bitten |
bt | Alias for Bitten |
demo-1.0 | https://trac.edgewall.org/demo-1.0 |
demo-1.2 | https://trac.edgewall.org/demo-1.2 |
demo-1.3 | https://trac.edgewall.org/demo-1.3 |
demo-1.4 | https://trac.edgewall.org/demo-1.4 |
g | Alias for Genshi |
genshi | Genshi |
h | Alias for TracHacks |
t | Alias for trac |
th | Alias for TracHacks |
trac | The Trac Project |
trachacks | Trac-Hacks Community Site |
Link Syntax
<target_environment>:<TracLinks>
The link is composed by the target environment name,
followed by a colon (e.g. trac:
),
followed by a regular TracLinks, of any flavor.
That target environment name is either the real name of the
environment, or an alias for it.
The aliases are defined in trac.ini
(see below).
The prefix is case insensitive.
For convenience, there's also an alternative short-hand form,
where one can use an alias as an immediate prefix
for the identifier of a ticket, changeset or report:
(e.g. #T234
, [T1508]
, [trac 1508]
, …)
Examples
#! Besides the other environments run by the same server process (called ''sibling'' environments), which are automatically detected, Support for sibling environments has been disabled. See http://thread.gmane.org/gmane.comp.version-control.subversion.trac.devel/157
It is necessary to setup a configuration for the InterTrac facility:
- in order to refer to a remote Trac
- for defining environment aliases
This is done quite simply in an [intertrac]
section
within the trac.ini
file.
Example configuration:
... [intertrac] ## -- Example of setting up an alias: t = trac ## -- Link to an external Trac: trac.title = Edgewall's Trac for Trac trac.url = http://projects.edgewall.com/trac #trac.svn = http://repos.edgewall.com/projects/trac # Hint: .svn information could be used in the future to support svn:externals...
Now, given this configuration, one could create the following links:
- to this InterTrac page:
trac:wiki:InterTrac
→ trac:wiki:InterTract:wiki:InterTrac
→ t:wiki:InterTrac- Keys are case insensitive:
T:wiki:InterTrac
→ T:wiki:InterTrac
- to the ticket #234:
trac:ticket:234
→ trac:ticket:234trac:#234
→ trac:#234 (deprecated)#T234
→ #T234
- to the changeset [1912]:
trac:changeset:1912
→ trac:changeset:1912[T1912]
→ [T1912]
Anything not given as explicit links (intertrac_prefix:module:id) is interpreted by the remote Trac, relying on its quickjump facility. (deprecated)
Note that the examples above are hard coded to appropriate destinations, not processed via InterTrac. Specifically, the format of the links that rely on the remote quickjump are not as they will appear when generated by InterTrac.
It would be great, if these links also work in changeset comments, and source code comments. This would facilitate tickets, which touch multiple source code repositories, and patches which can be applied to multiple trees, which a dedicated trac instance each, as it should be possible by using source code control systems like bazaar-ng and mercurial.
The InterTrac notation is supported everywhere WikiFormatting is supported, or maybe I misunderstood your query? Can you provide a more concrete example of what you're looking for? —CB