|   | 1 | = Trac Links = | 
                  
                          |   | 2 | As you might have guessed, TracLinks are a very fundamental feature of Trac. | 
                  
                          |   | 3 |  | 
                  
                          |   | 4 | They allow hyperlinking between Trac entities (tickets, reports, changesets, Wiki | 
                  
                          |   | 5 | pages, milestones and source files) from anywhere WikiFormatting is used. | 
                  
                          |   | 6 |  | 
                  
                          |   | 7 | TracLinks are generally of the form '''type:id''' (where ''id'' represents the | 
                  
                          |   | 8 | number, name or path of the item) though some frequently used kinds of items | 
                  
                          |   | 9 | also have short-hand notations. | 
                  
                          |   | 10 |  | 
                  
                          |   | 11 | Some examples: | 
                  
                          |   | 12 |  * Tickets: '''!#1''' or '''!ticket:1''' | 
                  
                          |   | 13 |  * Reports: '''!{1}''' or '''!report:1''' | 
                  
                          |   | 14 |  * Changesets: '''!r1''', '''![1]''' or '''!changeset:1''' | 
                  
                          |   | 15 |  * Revision log: '''!r1:3''', '''![1:3]''' or '''!log:#1:3''' | 
                  
                          |   | 16 |  * Wiki pages: '''CamelCase''' or '''!wiki:CamelCase''' | 
                  
                          |   | 17 |  * Milestones: '''!milestone:1.0''' | 
                  
                          |   | 18 |  * Attachment: '''!attachment:ticket:944:attachment.1073.diff''' | 
                  
                          |   | 19 |  * Files: '''!source:trunk/COPYING''' | 
                  
                          |   | 20 |  * A specific file revision: '''!source:/trunk/COPYING#200''' | 
                  
                          |   | 21 | Display: | 
                  
                          |   | 22 |  * Tickets: #1 or ticket:1 | 
                  
                          |   | 23 |  * Reports: {1} or report:1 | 
                  
                          |   | 24 |  * Changesets: r1, [1] or changeset:1 | 
                  
                          |   | 25 |  * Differences: r1:3, [1:3] or log:#1:3 | 
                  
                          |   | 26 |  * Wiki pages: CamelCase or wiki:CamelCase | 
                  
                          |   | 27 |  * Milestones: milestone:1.0 | 
                  
                          |   | 28 |  * Files: source:trunk/COPYING | 
                  
                          |   | 29 |  * Attachment: attachment:ticket:944:attachment.1073.diff | 
                  
                          |   | 30 |  * A specific file revision: source:/trunk/COPYING#200 | 
                  
                          |   | 31 |  | 
                  
                          |   | 32 | '''Note:''' The wiki:CamelCase form is rarely used, but it can be convenient to refer to | 
                  
                          |   | 33 | pages whose names do not follow WikiPageNames rules, i.e., single words, | 
                  
                          |   | 34 | non-alphabetic characters, etc. | 
                  
                          |   | 35 |  | 
                  
                          |   | 36 | Trac links using the full (non-shorthand) notation can also be given a custom | 
                  
                          |   | 37 | link title like this: | 
                  
                          |   | 38 |  | 
                  
                          |   | 39 | {{{ | 
                  
                          |   | 40 | [ticket:1 This is a link to ticket number one]. | 
                  
                          |   | 41 | }}} | 
                  
                          |   | 42 |  | 
                  
                          |   | 43 | Display: [ticket:1 This is a link to ticket number one]. | 
                  
                          |   | 44 |  | 
                  
                          |   | 45 | If the title is be omitted, only the id (the part after the colon) is displayed: | 
                  
                          |   | 46 |  | 
                  
                          |   | 47 | {{{ | 
                  
                          |   | 48 | [ticket:1] | 
                  
                          |   | 49 | }}} | 
                  
                          |   | 50 |  | 
                  
                          |   | 51 | Display: [ticket:1] | 
                  
                          |   | 52 |  | 
                  
                          |   | 53 | It might seem a simple enough concept at a glance, but actually allows quite a complex network of information. In practice, it's very intuitive and simple to use, and we've found the "link trail" extremely helpful to better understand what's happening in a project or why a particular change was made. | 
                  
                          |   | 54 |  | 
                  
                          |   | 55 | == attachement: links == | 
                  
                          |   | 56 |  | 
                  
                          |   | 57 | The link syntax for attachments is as follows: | 
                  
                          |   | 58 |  * !attachment:the_file.txt creates a link to the attachment the_file.txt of the current object | 
                  
                          |   | 59 |  * !attachment:wiki:MyPage:the_file.txt creates a link to the attachment the_file.txt of the !MyPage wiki page | 
                  
                          |   | 60 |  * !attachment:ticket:753:the_file.txt creates a link to the attachment the_file.txt of the ticket 753 !attachment:wiki:MyPage:the_file.txt | 
                  
                          |   | 61 |  | 
                  
                          |   | 62 | == source: links == | 
                  
                          |   | 63 |  | 
                  
                          |   | 64 | The default behavior for a source:/some/path link is to open the directory browser  | 
                  
                          |   | 65 | if the path points to a directory and otherwise open the log view.  | 
                  
                          |   | 66 | It's also possible to link directly to a specific revision of a file like this: source:/some/file@123  | 
                  
                          |   | 67 | or like this to link to the latest revision: source:/some/file@latest. | 
                  
                          |   | 68 | If the revision is specified, one can even link to a specific line number: !source:/some/file@123#L10  | 
                  
                          |   | 69 | [[comment(TODO: remove the ! when Edgewall Trac is upgraded with the support for the line syntax)]] | 
                  
                          |   | 70 |  | 
                  
                          |   | 71 | == Quoting space in TracLinks == | 
                  
                          |   | 72 |  | 
                  
                          |   | 73 | The usual syntax for quoting space is: | 
                  
                          |   | 74 |  | 
                  
                          |   | 75 |  * !attachment:'the file.txt' or | 
                  
                          |   | 76 |  * !attachment:"the file.txt"  | 
                  
                          |   | 77 |  | 
                  
                          |   | 78 | == Where to use TracLinks == | 
                  
                          |   | 79 | You can use TracLinks in: | 
                  
                          |   | 80 |  | 
                  
                          |   | 81 |  * Source code (Subversion) commit messages | 
                  
                          |   | 82 |  * Wiki pages | 
                  
                          |   | 83 |  * Full descriptions for tickets, reports and milestones | 
                  
                          |   | 84 |  | 
                  
                          |   | 85 | and any other text fields explicitly marked as supporting WikiFormatting. | 
                  
                          |   | 86 |  | 
                  
                          |   | 87 | == Escaping Links == | 
                  
                          |   | 88 |  | 
                  
                          |   | 89 | To prevent parsing of a !TracLink, you can escape it by preceding it with a '!' (exclamation mark). | 
                  
                          |   | 90 | {{{ | 
                  
                          |   | 91 |  !NoLinkHere. | 
                  
                          |   | 92 |  ![42] is not a link either. | 
                  
                          |   | 93 | }}} | 
                  
                          |   | 94 |  | 
                  
                          |   | 95 | Display: | 
                  
                          |   | 96 |  !NoLinkHere. | 
                  
                          |   | 97 |  ![42] is not a link either. | 
                  
                          |   | 98 |  | 
                  
                          |   | 99 | ---- | 
                  
                          |   | 100 | See also: WikiFormatting, TracWiki | 
                  
                          |   | 101 |   |