You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by gj...@apache.org on 2012/10/16 17:55:11 UTC

svn commit: r1398858 [30/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templates/ trac/admin/tests/ trac/db/ tr...

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracLinks
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracLinks?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracLinks (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracLinks Tue Oct 16 15:55:00 2012
@@ -109,15 +109,6 @@ TracLinks are a very simple idea, but ac
 
 === Relative links ===
 
-To create a link to a specific anchor in a page, use '#':
-{{{
- [#Relativelinks relative links] or [[#Relativelinks|relative links]]
-}}}
-Displays:
-  [#Relativelinks relative links] or [[#Relativelinks|relative links]]
-
-Hint: when you move your mouse over the title of a section, a '¶' character will be displayed. This is a link to that specific section and you can use this to copy the `#...` part inside a relative link to an anchor.
-
 To create a link to a [trac:SubWiki SubWiki]-page just use a '/':
 {{{
  WikiPage/SubWikiPage or ./SubWikiPage
@@ -150,6 +141,50 @@ part in the resulting URL.
 ''(Changed in 0.11)'' Note that in Trac 0.10, using e.g. `[../newticket]`  may have worked for linking to the `/newticket` top-level URL, but since 0.11, such a link will stay in the wiki namespace and therefore link to a sibling page. 
 See [#Server-relativelinks] for the new syntax.
 
+=== Link anchors ===
+
+To create a link to a specific anchor in a page, use '#':
+{{{
+ [#Linkanchors Link anchors] or [[#Linkanchors|Link anchors]]
+}}}
+  [#Linkanchors Link anchors] or [[#Linkanchors|Link anchors]]
+
+Hint: when you move your mouse over the title of a section, a '¶' character will be displayed. This is a link to that specific section and you can use this to copy the `#...` part inside a relative link to an anchor.
+
+To create a link to the first or last occurrence of a term on a page, use a ''pseudo anchor'' starting with '#/' or '#?':
+{{{
+ [#/Milestone first occurrence of Milestone] or
+ [#?Milestone last occurrence of Milestone]
+}}}
+ [#/Milestone first occurrence of Milestone] or
+ [#?Milestone last occurrence of Milestone]
+This will also highlight all other matches on the linked page. By default only case sensitive matches are considered. To include case insensitive matches append '/i':
+{{{
+ [#/Milestone/i first occurrence of Milestone or milestone] or
+ [#?Milestone/i last occurrence of Milestone or milestone]
+}}}
+ [#/Milestone/i first occurrence of Milestone or milestone] or
+ [#?Milestone/i last occurrence of Milestone or milestone]
+
+''(since Trac 1.0)''
+
+Such anchors can be very useful for linking to specific lines in a file in the source browser:
+{{{
+ [trac:source:tags/trac-0.12/trac/wiki/api.py#L127 Line 127] or
+ [trac:source:tags/trac-0.12/trac/ticket/roadmap.py#L47 Line 47]
+}}}
+ [trac:source:tags/trac-0.12/trac/wiki/api.py#L127 Line 127] or
+ [trac:source:tags/trac-0.12/trac/ticket/roadmap.py#L47 Line 47]
+(Hint: The line numbers displayed in the source browser are links to anchors on the respective lines.)
+
+Since such links become outdated when the file changes, it can be useful to link using a '#/' pseudo anchor instead:
+{{{
+ [trac:source:trunk/trac/wiki/api.py#/IWikiSyntaxProvider IWikiSyntaxProvider] or
+ [trac:source:trunk/trac/env.py#/ISystemInfoProvider ISystemInfoProvider]
+}}}
+ [trac:source:trunk/trac/wiki/api.py#/IWikiSyntaxProvider IWikiSyntaxProvider] or
+ [trac:source:trunk/trac/env.py#/ISystemInfoProvider ISystemInfoProvider]
+
 === InterWiki links ===
 
 Other prefixes can be defined freely and made to point to resources in other Web applications. The definition of those prefixes as well as the URLs of the corresponding Web applications is defined in a special Wiki page, the InterMapTxt page. Note that while this could be used to create links to other Trac environments, there's a more specialized way to register other Trac environments which offers greater flexibility.

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracLogging
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracLogging?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracLogging (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracLogging Tue Oct 16 15:55:00 2012
@@ -1,7 +1,7 @@
 = Trac Logging =
 [[TracGuideToc]]
 
-Trac supports logging of system messages using the standard [http://docs.python.org/lib/module-logging.html logging module] that comes with Python.
+Trac supports logging of system messages using the standard [http://docs.python.org/library/logging.html logging module] that comes with Python.
 
 Logging is configured in the `[logging]` section in [wiki:TracIni#logging-section trac.ini].
 
@@ -29,7 +29,7 @@ Note that starting with Trac 0.11.5 you 
 
 == Log Format ==
 
-Starting with Trac 0.10.4 (see [trac:#2844 #2844]), it is possible to set the output format for log entries. This can be done through the `log_format` option in [wiki:TracIni#logging-section trac.ini]. The format is a string which can contain any of the [http://docs.python.org/lib/node422.html Python logging Formatter variables]. Additonally, the following Trac-specific variables can be used:
+Starting with Trac 0.10.4 (see [trac:#2844 #2844]), it is possible to set the output format for log entries. This can be done through the `log_format` option in [wiki:TracIni#logging-section trac.ini]. The format is a string which can contain any of the [http://docs.python.org/library/logging.html#logrecord-attributes Python logging Formatter variables]. Additonally, the following Trac-specific variables can be used:
  '''$(basename)s''':: The last path component of the current environment.
  '''$(path)s''':: The absolute path for the current environment.
  '''$(project)s''':: The originating project's name.
@@ -47,4 +47,4 @@ log_format = Trac[$(basename)s:$(module)
 }}}
 
 ----
-See also: TracIni, TracGuide, TracEnvironment
+See also: TracIni, TracGuide, TracEnvironment
\ No newline at end of file

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracModPython
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracModPython?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracModPython (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracModPython Tue Oct 16 15:55:00 2012
@@ -211,8 +211,8 @@ In general, if you get server error page
 
 For multiple projects, try restarting the server as well.
 
-===Login Not Working===
-If you've used <Location /> directive, it will override any other directives, as well as <Location /Login>.
+=== Login Not Working ===
+If you've used `<Location />` directive, it will override any other directives, as well as `<Location /login>`.
 The workaround is to use negation expression as follows (for multi project setups):
 {{{
 #!xml

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracModWSGI
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracModWSGI?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracModWSGI (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracModWSGI Tue Oct 16 15:55:00 2012
@@ -359,6 +359,8 @@ Please use either version 1.6, 2.4 or la
 
 ''Note: using mod_wsgi 2.5 and Python 2.6.1 gave an Internal Server Error on my system (Apache 2.2.11 and Trac 0.11.2.1). Upgrading to Python 2.6.2 (as suggested [http://www.mail-archive.com/modwsgi@googlegroups.com/msg01917.html here]) solved this for me[[BR]]-- Graham Shanks''
 
+If you plan to use `mod_wsgi` in embedded mode on Windows or with the MPM worker on Linux, then you'll even need version 0.3.4 or greater (see [trac:#10675] for details).
+
 === Getting Trac to work nicely with SSPI and 'Require Group' ===
 If like me you've set Trac up on Apache, Win32 and configured SSPI, but added a 'Require group' option to your apache configuration, then the SSPIOmitDomain option is probably not working.  If its not working your usernames in trac are probably looking like 'DOMAIN\user' rather than 'user'.
 
@@ -390,13 +392,20 @@ import trac.db.postgres_backend
 trac.db.postgres_backend.PostgreSQLConnection.poolable = False
 }}}
 
+or
+
+{{{
+import trac.db.mysql_backend
+trac.db.mysql_backend.MySQLConnection.poolable = False
+}}}
+
 Now Trac drops the connection after serving a page and the connection count on the database will be kept minimal.
 
 //This is not a recommended approach though. See also the notes at the bottom of the [http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac mod_wsgi's IntegrationWithTrac] wiki page.//
 
 === Other resources
 
-For more troubleshooting tips, see also the [TracModPython#Troubleshooting mod_python troubleshooting] section, as most Apache-related issues are quite similar, plus discussion of potential [http://code.google.com/p/modwsgi/wiki/ApplicationIssues application issues] when using mod_wsgi.
+For more troubleshooting tips, see also the [TracModPython#Troubleshooting mod_python troubleshooting] section, as most Apache-related issues are quite similar, plus discussion of potential [http://code.google.com/p/modwsgi/wiki/ApplicationIssues application issues] when using mod_wsgi. The wsgi page also has a [http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac Integration With Trac] document.
 
 
 ----

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracNotification
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracNotification?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracNotification (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracNotification Tue Oct 16 15:55:00 2012
@@ -30,6 +30,7 @@ These are the available options for the 
  * '''`smtp_enabled`''': Enable email notification.
  * '''`smtp_from`''': Email address to use for ''Sender''-headers in notification emails.
  * '''`smtp_from_name`''': Sender name to use for ''Sender''-headers in notification emails.
+ * '''`smtp_from_author`''': (''since 1.0'') Use the author of a change (the reporter of a new ticket, or the author of a comment) as the `From:` header value in notification e-mails (default: false). If the author hasn't set an e-mail address, `smtp_from` and `smtp_from_name` are used instead.
  * '''`smtp_replyto`''': Email address to use for ''Reply-To''-headers in notification emails.
  * '''`smtp_default_domain`''': (''since 0.10'') Append the specified domain to addresses that do not contain one. Fully qualified addresses are not modified. The default domain is appended to all username/login for which an email address cannot be found from the user settings.
  * '''`smtp_always_cc`''': List of email addresses to always send notifications to. ''Typically used to post ticket changes to a dedicated mailing list.''
@@ -48,7 +49,7 @@ These are the available options for the 
  * '''`ticket_subject_template`''': (''since 0.11'') A [http://genshi.edgewall.org/wiki/Documentation/text-templates.html Genshi text template] snippet used to get the notification subject.
  * '''`email_sender`''': (''since 0.12'') Name of the component implementing `IEmailSender`. This component is used by the notification system to send emails. Trac currently provides the following components:
    * `SmtpEmailSender`: connects to an SMTP server (default).
-   * `SendmailEmailSender`: runs a `sendmail`-compatible executable.   
+   * `SendmailEmailSender`: runs a `sendmail`-compatible executable.
 
 Either '''`smtp_from`''' or '''`smtp_replyto`''' (or both) ''must'' be set, otherwise Trac refuses to send notification mails.
 
@@ -97,7 +98,7 @@ The following variables are available in
 
 === Customizing the e-mail content ===
 
-The notification e-mail content is generated based on `ticket_notify_email.txt` in `trac/ticket/templates`.  You can add your own version of this template by adding a `ticket_notify_email.txt` to the templates directory of your environment. The default looks like this:
+The notification e-mail content is generated based on `ticket_notify_email.txt` in `trac/templates`.  You can add your own version of this template by adding a `ticket_notify_email.txt` to the templates directory of your environment. The default looks like this:
 
 {{{
 $ticket_body_hdr
@@ -169,7 +170,7 @@ Replace the following second row in the 
 $ticket_props
 }}}
 
-with this instead:
+with this instead (''requires Python 2.6 or later''):
 {{{
 --------------------------------------------------------------------------
 {% with
@@ -219,7 +220,12 @@ My Project &lt;http://myproj.example.com
 }}}
 }}}
 
-However, it's not as perfect as an HTML formatted e-mail would be, but presented ticket properties are at least readable...
+**Important**: Only those ticket fields that are listed in `sel` are part of the HTML mail. If you have defined custom ticket fields which shall be part of the mail they have to be added to `sel`, example:
+{{{
+   sel = ['Reporter', ..., 'Keywords', 'Custom1', 'Custom2']
+}}}
+
+However, it's not as perfect as an automatically HTML-formatted e-mail would be, but presented ticket properties are at least readable by default in MS Outlook...
 
 
 == Using GMail as the SMTP relay host ==

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracPermissions
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracPermissions?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracPermissions (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracPermissions Tue Oct 16 15:55:00 2012
@@ -13,12 +13,12 @@ In addition to these privileges, users c
 == Graphical Admin Tab ==
 ''This feature is new in version 0.11.''
 
-To access this tab, a user must have `TRAC_ADMIN privileges`. This can be performed as follows (more on the trac-admin script below):
+To access this tab, a user must have one of the following permissions: `TRAC_ADMIN`, `PERMISSION_ADMIN`, `PERMISSION_ADD`, `PERMISSION_REMOVE`. The permissions can granted using the `trac-admin` command (more on `trac-admin` below):
 {{{
   $ trac-admin /path/to/projenv permission add bob TRAC_ADMIN
 }}}
 
-Then, the user `bob` will be able to see the Admin tab, and can then access the permissions menu. This menu will allow you to perform all the following actions, but from the browser without requiring root access to the server (just the correct permissions for your user account).   '''Use at least one lowercase character in user names, as all-uppercase names are reserved for permissions.'''
+Then, the user `bob` will be able to see the Admin tab, and can then access the permissions menu. This menu will allow you to perform all the following actions, but from the browser without requiring root access to the server (just the correct permissions for your user account). '''Use at least one lowercase character in user names, as all-uppercase names are reserved for permissions.'''
 
  1. [[Image(htdocs:../common/guide/admin.png)]]
  1. [[Image(htdocs:../common/guide/admin-permissions.png)]]
@@ -92,7 +92,7 @@ Attention: the "view tickets" button app
 || `TIMELINE_VIEW` || View the [wiki:TracTimeline timeline] page ||
 || `SEARCH_VIEW` || View and execute [wiki:TracSearch search] queries ||
 || `CONFIG_VIEW` || Enables additional pages on ''About Trac'' that show the current configuration or the list of installed plugins ||
-|| `EMAIL_VIEW` || Shows email addresses even if [trac:wiki:0.11/TracIni trac show_email_addresses configuration option is false] ||
+|| `EMAIL_VIEW` || Shows email addresses even if [wiki:TracIni#trac-section trac show_email_addresses] configuration option is false ||
 
 == Creating New Privileges ==
 

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracReports
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracReports?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracReports (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracReports Tue Oct 16 15:55:00 2012
@@ -1,3 +1,4 @@
+** Note: this page documents the version 1.0 of Trac, see [[0.12/TracReports]] if you need the previous version **
 = Trac Reports =
 [[TracGuideToc]]
 
@@ -69,6 +70,8 @@ All reports support syndication using XM
 
 ''Creating a custom report requires a comfortable knowledge of SQL.''
 
+'''Note that you need to set up [TracPermissions#Reports permissions] in order to see the buttons for adding or editing reports.'''
+
 A report is basically a single named SQL query, executed and presented by
 Trac.  Reports can be viewed and created from a custom SQL expression directly
 in the web interface.
@@ -106,7 +109,6 @@ SELECT id AS ticket, status, severity, p
   ORDER BY priority, time
 }}}
 
----
 
 == Advanced Reports: Dynamic Variables ==
 For more flexible reports, Trac supports the use of ''dynamic variables'' in report SQL statements. 
@@ -146,15 +148,13 @@ SELECT id AS ticket,summary FROM ticket 
 }}}
 
 
-----
-
 
 == Advanced Reports: Custom Formatting ==
 Trac is also capable of more advanced reports, including custom layouts,
 result grouping and user-defined CSS styles. To create such reports, we'll use
 specialized SQL statements to control the output of the Trac report engine.
 
-== Special Columns ==
+=== Special Columns ===
 To format reports, TracReports looks for 'magic' column names in the query
 result. These 'magic' names are processed and affect the layout and style of the 
 final report.
@@ -192,7 +192,8 @@ assumed to be ''formatting hints'', affe
 <span style="border: none; color: #333; background: transparent;  font-size: 85%; background: #e7eeff; border-color: #cde; color: #469">Color 5</span>
 </div>
 }}}
- * '''`__style__`''' — A custom CSS style expression to use for the current row. 
+ * '''`__style__`''' — A custom CSS style expression to use on the `<tr>` element of the current row.
+ * '''`__class__`''' — Zero or more space-separated CSS class names to be set on the `<tr>` element of the current row. These classes are added to the class name derived from `__color__` and the odd / even indicator.
 
 '''Example:''' ''List active tickets, grouped by milestone, group header linked to milestone page, colored by priority''
 {{{
@@ -247,7 +248,68 @@ If you have added custom fields to your 
 
 If you have tickets in the database ''before'' you declare the extra fields in trac.ini, there will be no associated data in the ticket_custom table. To get around this, use SQL's "LEFT OUTER JOIN" clauses. See [trac:TracIniReportCustomFieldSample TracIniReportCustomFieldSample] for some examples.
 
-'''Note that you need to set up permissions in order to see the buttons for adding or editing reports.'''
+=== A note about SQL rewriting #rewriting
+
+Beyond the relatively trivial replacement of dynamic variables, the SQL query is also altered in order to support two features of the reports:
+ 1. [#sort-order changing the sort order]
+ 2. pagination support (limitation of the number of result rows displayed on each page)
+In order to support the first feature, the sort column is inserted in the `ORDER BY` clause in the first position or in the second position if a `__group__` column is specified (an `ORDER BY` clause is created if needed). In order to support pagination, a `LIMIT ... OFFSET ...` clause is appended.
+The query might be too complex for the automatic rewrite to work correctly, resulting in an erroneous query. In this case you still have the possibility to control exactly how the rewrite is done by manually inserting the following tokens:
+ - `@SORT_COLUMN@`, the place where the name of the selected sort column will be inserted,
+ - `@LIMIT_OFFSET@`, the place where the pagination support clause will be added
+Note that if you write them after an SQL comment, `--`, you'll effectively disable rewriting if this is what you want!
+
+Let's take an example, consider the following SQL query:
+{{{
+-- ## 4: Assigned, Active Tickets by Owner ## --
+
+-- 
+-- List assigned tickets, group by ticket owner, sorted by priority.
+-- 
+
+SELECT p.value AS __color__,
+   owner AS __group__,
+   id AS ticket, summary, component, milestone, t.type AS type, severity, time AS created,
+   changetime AS _changetime, description AS _description,
+   reporter AS _reporter
+  FROM ticket t,enum p
+  WHERE status = 'assigned'
+AND p.name=t.priority AND p.type='priority'
+  ORDER BY __group__, p.value, severity, time
+}}}
+
+The automatic rewrite will be the following (4 rows per page, page 2, sorted by `component`):
+{{{
+SELECT p.value AS __color__,
+   owner AS __group__,
+   id AS ticket, summary, component, milestone, t.type AS type, severity, time AS created,
+   changetime AS _changetime, description AS _description,
+   reporter AS _reporter
+  FROM ticket t,enum p
+  WHERE status = 'assigned'
+AND p.name=t.priority AND p.type='priority'
+  ORDER BY __group__ ASC, `component` ASC,  __group__, p.value, severity, time
+ LIMIT 4 OFFSET 4
+}}}
+
+The equivalent SQL query with the rewrite tokens would have been:
+{{{
+SELECT p.value AS __color__,
+   owner AS __group__,
+   id AS ticket, summary, component, milestone, t.type AS type, severity, time AS created,
+   changetime AS _changetime, description AS _description,
+   reporter AS _reporter
+  FROM ticket t,enum p
+  WHERE status = 'assigned'
+AND p.name=t.priority AND p.type='priority'
+  ORDER BY __group__, @SORT_COLUMN@, p.value, severity, time
+@LIMIT_OFFSET@
+}}}
+
+If you want to always sort first by priority and only then by the user selected sort column, simply use the following `ORDER BY` clause:
+{{{
+  ORDER BY __group__, p.value, @SORT_COLUMN@, severity, time
+}}}
 
 ----
 See also: TracTickets, TracQuery, TracGuide, [http://www.sqlite.org/lang_expr.html Query Language Understood by SQLite]

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracRepositoryAdmin
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracRepositoryAdmin?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracRepositoryAdmin (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracRepositoryAdmin Tue Oct 16 15:55:00 2012
@@ -107,6 +107,12 @@ The following examples are complete post
 export PYTHON_EGG_CACHE="/path/to/dir"
 /usr/bin/trac-admin /path/to/env changeset added "$1" "$2"
 }}}
+Note: Ubuntu doesn't seem to like /usr/bin/trac-admin, so just use:
+{{{#!sh
+#!/bin/sh
+export PYTHON_EGG_CACHE="/path/to/dir"
+trac-admin /path/to/env/ changeset added "$1" "$2"
+}}}
 On Windows (`post-commit.cmd`):
 {{{#!application/x-dos-batch
 @C:\Python26\Scripts\trac-admin.exe C:\path\to\env changeset added "%1" "%2"
@@ -135,7 +141,7 @@ REV=$(git rev-parse HEAD)
 trac-admin /path/to/env changeset added <my-repository> $REV
 }}}
 
-For Mercurial, add the following entries to the `.hgrc` file of each repository accessed by Trac (if [trac:TracMercurial] is installed in a Trac `plugins` directory, download [source:plugins/0.13/mercurial-plugin/tracext/hg/hooks.py hooks.py] and place it somewhere accessible):
+For Mercurial, add the following entries to the `.hgrc` file of each repository accessed by Trac (if [trac:TracMercurial] is installed in a Trac `plugins` directory, download [trac:source:mercurial-plugin/tracext/hg/hooks.py hooks.py] and place it somewhere accessible):
 {{{#!ini
 [hooks]
 ; If mercurial-plugin is installed globally
@@ -168,7 +174,7 @@ The following procedure illustrates a ty
  1. Repeat steps 2, 3 and 4 to add other "named" repositories as needed.
 
 == Migration from a single-repository setup (Mercurial) == #MigrationMercurial
-The following procedure illustrates a typical migration from a Mercurial single-repository setup to multiple repositories. Please note that at the time of writing, no initial resynchronization or any hooks are necessary for Mercurial repositories - see #9485 for more information.
+The following procedure illustrates a typical migration from a Mercurial single-repository setup to multiple repositories. Please note that at the time of writing, no initial resynchronization or any hooks are necessary for Mercurial repositories - see [trac:ticket:9485 #9485] for more information.
 
  1. Upgrade to the latest version of the TracMercurial plugin.
  1. Remove the default repository specification from the `[trac] repository_dir` option.

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracRss
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracRss?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracRss (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracRss Tue Oct 16 15:55:00 2012
@@ -23,9 +23,8 @@ Anywhere in Trac where RSS is available,
    * http://www.rssowl.org/ — Open source, Eclipse-based, RSS reader for Linux, Mac and Windows systems that supports https and authenticated feeds.
 
  * ''Linux/BSD/*n*x systems:''
-   * http://pim.kde.org/users.php — [http://kde.org KDE] RSS Reader for Linux/BSD/*n*x systems
    * http://liferea.sourceforge.net/ — Open source GTK2 RSS Reader for Linux
-   * http://akregator.sourceforge.net/ — Open source KDE RSS Reader (part of KDE-PIM)
+   * [http://akregator.sourceforge.net/ Akregator] — Open source KDE RSS Reader (part of KDE-PIM)
 
  * ''Mac OS X systems:''
    * http://ranchero.com/netnewswire/ — An excellent RSS reader for Mac OS X (has both free and pay versions)
@@ -38,9 +37,7 @@ Anywhere in Trac where RSS is available,
    * http://www.sharpreader.net/ — A free RSS Reader written in .NET for Windows
 
  * ''Firefox:''
-   * http://www.mozilla.org/products/firefox/ — Mozilla Firefox supports [http://www.mozilla.org/products/firefox/live-bookmarks.html live bookmarks] using RSS
-   * http://sage.mozdev.org — Sage RSS and Atom feed aggregator for Mozilla Firefox
-   * http://www.wizzrss.com/Welcome.php — WizzRSS Feed Reader for Firefox
+   * http://www.mozilla.org/products/firefox/ — Mozilla Firefox features plenty [https://addons.mozilla.org/en-US/firefox/search/?q=rss&appver=&platform= add-ons] for supporting RSS
 
 ----
 See also: TracGuide, TracTimeline, TracReports, TracBrowser

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracStandalone
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracStandalone?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracStandalone (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracStandalone Tue Oct 16 15:55:00 2012
@@ -1,3 +1,4 @@
+** Note: this page documents the version 1.0 of Trac, see [[0.12/TracStandalone]] if you need the previous version **
 = Tracd =
 
 Tracd is a lightweight standalone Trac web server.
@@ -136,8 +137,8 @@ Another way to share the password file i
 This section describes how to use `tracd` with Apache .htpasswd files.
 
   Note: It is necessary (at least with Python 2.6) to install the fcrypt package in order to
-  decode the htpasswd format.  Trac source code attempt an `import crypt` first, but there
-  is no such package for Python 2.6.
+  decode some htpasswd formats.  Trac source code attempt an `import crypt` first, but there
+  is no such package for Python 2.6. Only `SHA-1` passwords (since Trac 1.0) work without this module.
 
 To create a .htpasswd file use Apache's `htpasswd` command (see [#GeneratingPasswordsWithoutApache below] for a method to create these files without using Apache):
 {{{
@@ -163,11 +164,11 @@ For example:
 
 If you have Apache available, you can use the htdigest command to generate the password file. Type 'htdigest' to get some usage instructions, or read [http://httpd.apache.org/docs/2.0/programs/htdigest.html this page] from the Apache manual to get precise instructions.  You'll be prompted for a password to enter for each user that you create.  For the name of the password file, you can use whatever you like, but if you use something like `users.htdigest` it will remind you what the file contains. As a suggestion, put it in your <projectname>/conf folder along with the [TracIni trac.ini] file.
 
-Note that you can start tracd without the --auth argument, but if you click on the ''Login'' link you will get an error.
+Note that you can start tracd without the `--auth` argument, but if you click on the ''Login'' link you will get an error.
 
 === Generating Passwords Without Apache ===
 
-Basic Authorization can be accomplished via this [http://www.4webhelp.net/us/password.php online HTTP Password generator].  Copy the generated password-hash line to the .htpasswd file on your system.
+Basic Authorization can be accomplished via this [http://aspirine.org/htpasswd_en.html online HTTP Password generator] which also supports `SHA-1`.  Copy the generated password-hash line to the .htpasswd file on your system. Note that Windows Python lacks the "crypt" module that is the default hash type for htpasswd ; Windows Python can grok MD5 password hashes just fine and you should use MD5.
 
 You can use this simple Python script to generate a '''digest''' password file:
 
@@ -213,9 +214,12 @@ Note: If you use the above script you mu
 ==== Using `md5sum`
 It is possible to use `md5sum` utility to generate digest-password file:
 {{{
- $ printf "${user}:trac:${password}" | md5sum - >>user.htdigest
+user=
+realm=
+password=
+path_to_file=
+echo ${user}:${realm}:$(printf "${user}:${realm}:${password}" | md5sum - | sed -e 's/\s\+-//') > ${path_to_file}
 }}}
-and manually delete " -" from the end and add "${user}:trac:" to the start of line from 'to-file'.
 
 == Reference ==
 
@@ -233,18 +237,26 @@ Options:
   -p PORT, --port=PORT  the port number to bind to
   -b HOSTNAME, --hostname=HOSTNAME
                         the host name or IP address to bind to
-  --protocol=PROTOCOL   http|scgi|ajp
+  --protocol=PROTOCOL   http|scgi|ajp|fcgi
   -q, --unquote         unquote PATH_INFO (may be needed when using ajp)
-  --http10              use HTTP/1.0 protocol version (default)
-  --http11              use HTTP/1.1 protocol version instead of HTTP/1.0
+  --http10              use HTTP/1.0 protocol version instead of HTTP/1.1
+  --http11              use HTTP/1.1 protocol version (default)
   -e PARENTDIR, --env-parent-dir=PARENTDIR
                         parent directory of the project environments
   --base-path=BASE_PATH
                         the initial portion of the request URL's "path"
   -r, --auto-reload     restart automatically when sources are modified
   -s, --single-env      only serve a single project without the project list
+  -d, --daemonize       run in the background as a daemon
+  --pidfile=PIDFILE     when daemonizing, file to which to write pid
+  --umask=MASK          when daemonizing, file mode creation mask to use, in
+                        octal notation (default 022)
+  --group=GROUP         the group to run as
+  --user=USER           the user to run as
 }}}
 
+Use the -d option so that tracd doesn't hang if you close the terminal window where tracd was started.
+
 == Tips ==
 
 === Serving static content ===
@@ -325,6 +337,24 @@ Run tracd:
 tracd -p 8101 -r -s proxified --base-path=/project/proxified
 }}}
 
+Note that if you want to install this plugin for all projects, you have to put it in your [TracPlugins#Plugindiscovery global plugins_dir] and enable it in your global trac.ini.
+
+Global config (e.g. `/srv/trac/conf/trac.ini`):
+{{{
+[components]
+remote-user-auth.* = enabled
+[inherit]
+plugins_dir = /srv/trac/plugins
+[trac]
+obey_remote_user_header = true
+}}}
+
+Environment config (e.g. `/srv/trac/envs/myenv`):
+{{{
+[inherit]
+file = /srv/trac/conf/trac.ini
+}}}
+
 === Serving a different base path than / ===
 Tracd supports serving projects with different base urls than /<project>. The parameter name to change this is
 {{{

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSyntaxColoring
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSyntaxColoring?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSyntaxColoring (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSyntaxColoring Tue Oct 16 15:55:00 2012
@@ -35,6 +35,7 @@ In a similar way, a document with the mi
 
 HTML documents are directly rendered only if the `render_unsafe_html` settings are enabled in the TracIni (those settings are present in multiple sections, as there are different security concerns depending where the document comes from). If you want to ensure that an HTML document gets syntax highlighted and not rendered, use the `text/xml` mimetype.
 
+If mimetype such as 'svn:mime-type' is set to 'text/plain', there is no coloring even if file is known type like 'java'.
 
 === List of Languages Supported, by Highlighter #language-supported
 
@@ -48,6 +49,7 @@ This list is only indicative.
 || C               ||  ✓              ||  ✓              ||  ✓  ||
 || C#              ||                 ||  ✓ ^[#a1 (1)]^  ||  ✓  ||
 || C++             ||  ✓              ||  ✓              ||  ✓  ||
+|| CMake           ||  ?              ||  ?              ||  ✓  ||
 || Java            ||  ✓ ^[#a2 (2)]^  ||  ✓              ||  ✓  ||
 || Awk             ||                 ||  ✓              ||     ||
 || Boo             ||                 ||                 ||  ✓  ||

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracTicketsCustomFields
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracTicketsCustomFields?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracTicketsCustomFields (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracTicketsCustomFields Tue Oct 16 15:55:00 2012
@@ -17,11 +17,11 @@ The example below should help to explain
    * label: Descriptive label.
    * value: Default value.
    * order: Sort order placement. (Determines relative placement in forms with respect to other custom fields.)
-   * format: One of:
-     * `plain` for plain text
-     * `wiki` to interpret the content as WikiFormatting (''since 0.11.3'')
-     * `reference` to treat the content as a queryable value (''since 0.13'')
-     * `list` to interpret the content as a list of queryable values, separated by whitespace (''since 0.13'')
+   * format: One of: 
+     * `plain` for plain text 
+     * `wiki` to interpret the content as WikiFormatting (''since 0.11.3'') 
+     * `reference` to treat the content as a queryable value (''since 1.0'') 
+     * `list` to interpret the content as a list of queryable values, separated by whitespace (''since 1.0'')
  * '''checkbox''': A boolean value check box.
    * label: Descriptive label.
    * value: Default value (0 or 1).

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracUnicode
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracUnicode?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracUnicode (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracUnicode Tue Oct 16 15:55:00 2012
@@ -5,9 +5,10 @@ Trac stores all text using UTF-8 encodin
 
 As such, it supports most (all?) commonly used character encodings.
 
-If your encoding is not UTF-8, you can use [wiki:TracModPython mod_python] to handle it.  For example, if your local encoding is gbk, you can set 
-   default_charset = gbk
-in trac.ini.
+If the default encoding in your source code repository is not UTF-8, you can specify it in the [TracIni#trac-section trac.ini], for example:
+{{{
+default_charset = gbk
+}}}
 
 You also must make sure that your [trac:DatabaseBackend database backend] stores its data in UTF-8; otherwise strange things will happen.
 

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracUpgrade
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracUpgrade?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracUpgrade (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracUpgrade Tue Oct 16 15:55:00 2012
@@ -1,6 +1,6 @@
 = Upgrade Instructions =
 [[TracGuideToc]]
-[[PageOutline(2-3,,inline,unnumbered)]]
+[[PageOutline(2-4,,inline,unnumbered)]]
 
 == Instructions ==
 
@@ -73,6 +73,18 @@ Remove above note once #9936 is fixed.
 }}}
 
 === 6. Steps specific to a given Trac version  ===
+==== Upgrading from Trac 0.12 to Trac 1.0 ==== #to1.0
+
+The Trac components for Subversion support are no longer enabled by default. To enable the svn support, you need to make sure the `tracopt.versioncontrol.svn` components are enabled, for example by setting the following in the TracIni:
+{{{
+[components]
+tracopt.versioncontrol.svn.* = enabled
+}}}
+The upgrade procedure should take care of this and change the TracIni appropriately, unless you already had the svn components explicitly disabled.
+
+Another step in the automatic upgrade will change the way the attachments are stored. If you're a bit paranoid, you might want to take a backup of the `attachments` directory before upgrading (but if you are, you already did a full copy of the environment, no?). In case the `attachments` directory contains some files which are //not// attachments, the last step of the migration to the new layout will fail: the deletion of the now unused `attachments` directory can't be done if there are still files and folders in it. You may ignore this error, but better go have a look to these files, move them elsewhere and remove the `attachments` directory manually to cleanup the environment. The attachments themselves are now all located in your environment below the `files/attachments` directory.
+
+
 ==== Upgrading from Trac 0.11 to Trac 0.12 ====
 
 ===== Python 2.3 no longer supported =====

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracWiki
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracWiki?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracWiki (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracWiki Tue Oct 16 15:55:00 2012
@@ -1,3 +1,4 @@
+
 = The Trac Wiki System =
 [[TracGuideToc]]
 
@@ -9,7 +10,7 @@ Editing wiki text is easy, using any web
 The main goal of the wiki is to make editing text easier and ''encourage'' people to contribute and annotate text content for a project. Trac also provides a simple toolbar to make formatting text even easier, and supports the [http://universaleditbutton.org/Universal_Edit_Button universal edit button] of your browser.
 
 The wiki itself does not enforce any structure, but rather resembles a stack of empty sheets of paper, where you can organize information and documentation as you see fit, and later reorganize if necessary. 
-As contributing to a wiki is essentially building an hypertext, 
+As contributing to a wiki is essentially building hypertext, 
 general advice regarding HTML authoring apply here as well.
 For example, the ''[http://www.w3.org/Provider/Style Style Guide for online hypertext]'' explains how to think about the
 [http://www.w3.org/Provider/Style/Structure.html overall structure of a work] 

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracWorkflow
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracWorkflow?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracWorkflow (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracWorkflow Tue Oct 16 15:55:00 2012
@@ -10,7 +10,23 @@ The workflow configured in this case is 
 
 Graphically, that looks like this:
 
-[[Image(htdocs:../common/guide/original-workflow.png)]]
+{{{#!Workflow width=500 height=240
+leave = * -> *
+leave.operations = leave_status
+leave.default = 1
+accept = new -> assigned
+accept.permissions = TICKET_MODIFY
+accept.operations = set_owner_to_self
+resolve = new,assigned,reopened -> closed
+resolve.permissions = TICKET_MODIFY
+resolve.operations = set_resolution
+reassign = new,assigned,reopened -> new
+reassign.permissions = TICKET_MODIFY
+reassign.operations = set_owner
+reopen = closed -> reopened
+reopen.permissions = TICKET_CREATE
+reopen.operations = del_resolution
+}}}
 
 There are some significant "warts" in this; such as accepting a ticket sets it to 'assigned' state, and assigning a ticket sets it to 'new' state.  Perfectly obvious, right?
 So you will probably want to migrate to "basic" workflow; [trac:source:trunk/contrib/workflow/migrate_original_to_basic.py contrib/workflow/migrate_original_to_basic.py] may be helpful.
@@ -20,7 +36,23 @@ When a new environment is created, a def
 
 Graphically, it looks like this:
 
-[[Image(htdocs:../common/guide/basic-workflow.png)]]
+{{{#!Workflow width=700 height=300
+leave = * -> *
+leave.operations = leave_status
+leave.default = 1
+accept = new,assigned,accepted,reopened -> accepted
+accept.permissions = TICKET_MODIFY
+accept.operations = set_owner_to_self
+resolve = new,assigned,accepted,reopened -> closed
+resolve.permissions = TICKET_MODIFY
+resolve.operations = set_resolution
+reassign = new,assigned,accepted,reopened -> assigned
+reassign.permissions = TICKET_MODIFY
+reassign.operations = set_owner
+reopen = closed -> reopened
+reopen.permissions = TICKET_CREATE
+reopen.operations = del_resolution
+}}}
 
 == Additional Ticket Workflows ==
 
@@ -51,16 +83,14 @@ The available operations are:
  - set_owner_to_self -- Sets the owner to the logged in user.
  - del_resolution -- Clears the resolution field
  - set_resolution -- Sets the resolution to the selected value.
-   - ''actionname''`.set_resolution` may optionally be set to a comma delimited list or a single value.
-{{{
-Example:
-
+   - ''actionname''`.set_resolution` may optionally be set to a comma delimited list or a single value. Example:
+     {{{
 resolve_new = new -> closed
 resolve_new.name = resolve
 resolve_new.operations = set_resolution
 resolve_new.permissions = TICKET_MODIFY
 resolve_new.set_resolution = invalid,wontfix
-}}}
+     }}}
  - leave_status -- Displays "leave as <current status>" and makes no change to the ticket.
 '''Note:''' Specifying conflicting operations (such as `set_owner` and `del_owner`) has unspecified results.
 
@@ -117,13 +147,13 @@ pass.set_resolution = fixed
 
 === How to combine the `tracopt.ticket.commit_updater` with the testing workflow ===
 
-The [[source:trunk/tracopt/ticket/commit_updater.py|tracopt.ticket.commit_updater]] is the optional component that [[TracRepositoryAdmin#trac-post-commit-hook|replaces the old trac-post-commit-hook]], in Trac 0.12.
+The [[trac:source:trunk/tracopt/ticket/commit_updater.py|tracopt.ticket.commit_updater]] is the optional component that [[TracRepositoryAdmin#trac-post-commit-hook|replaces the old trac-post-commit-hook]], in Trac 0.12.
 
 By default it reacts on some keywords found in changeset message logs like ''close'', ''fix'' etc. and performs the corresponding workflow action.
 
 If you have a more complex workflow, like the testing stage described above and you want the ''closes'' keyword to move the ticket to the ''testing'' status instead of the ''closed'' status, you need to adapt the code a bit. 
 
-Have a look at the [[0.11/TracWorkflow#How-ToCombineSVNtrac-post-commit-hookWithTestWorkflow|Trac 0.11 recipe]] for the `trac-post-commit-hook`, this will give you some ideas about how to modify the component.
+Have a look at the [[trac:wiki:0.11/TracWorkflow#How-ToCombineSVNtrac-post-commit-hookWithTestWorkflow|Trac 0.11 recipe]] for the `trac-post-commit-hook`, this will give you some ideas about how to modify the component.
 
 == Example: Add simple optional generic review state ==
 
@@ -164,7 +194,7 @@ accept.permissions = TICKET_MODIFY
 leave = * -> *
 leave.default = 1
 leave.operations = leave_status
-reassign = new,assigned,reopened -> new
+reassign = new,assigned,accepted,reopened -> assigned
 reassign.operations = set_owner
 reassign.permissions = TICKET_MODIFY
 reopen = closed -> reopened
@@ -210,7 +240,7 @@ If you add additional states to your wor
 
 == some ideas for next steps ==
 
-New enhancement ideas for the workflow system should be filed as enhancement tickets against the `ticket system` component.  If desired, add a single-line link to that ticket here.  Also look at the [th:wiki:AdvancedTicketWorkflowPlugin] as it provides experimental operations.
+New enhancement ideas for the workflow system should be filed as enhancement tickets against the `ticket system` component.  If desired, add a single-line link to that ticket here.  Also look at the [http://trac-hacks.org/wiki/AdvancedTicketWorkflowPlugin AdvancedTicketWorkflowPlugin] as it provides experimental operations.
 
 If you have a response to the comments below, create an enhancement ticket, and replace the description below with a link to the ticket.
 
@@ -229,5 +259,11 @@ If you have a response to the comments b
 ''This is either duplicating the existing `set_owner` operation, or needs to be clarified.''
 
  * Actions should be selectable based on the ticket type (different Workflows for different tickets)
-''Look into the [th:wiki:AdvancedTicketWorkflowPlugin]'s `triage` operation.''
+''Look into the [http://trac-hacks.org/wiki/AdvancedTicketWorkflowPlugin AdvancedTicketWorkflowPlugin]'s `triage` operation.''
+
+ * I'd wish to have an option to perform automatic status changes. In my case, I do not want to start with "new", but with "assigned". So tickets in state "new" should automatically go into state "assigned". Or is there already a way to do this and I just missed it?
+''Have a look at [http://trac-hacks.org/wiki/TicketCreationStatusPlugin TicketCreationStatusPlugin] and [http://trac-hacks.org/wiki/TicketConditionalCreationStatusPlugin TicketConditionalCreationStatusPlugin]''
+
+ * I added a 'testing' state. A tester can close the ticket or reject it. I'd like the transition from testing to rejected to set the owner to the person that put the ticket in 'testing'. The [http://trac-hacks.org/wiki/AdvancedTicketWorkflowPlugin AdvancedTicketWorkflowPlugin] is close with set_owner_to_field, but we need something like set_field_to_owner.
 
+ * I'd like to track the time a ticket is in each state, adding up 'disjoints' intervals in the same state.

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiFormatting
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiFormatting?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiFormatting (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiFormatting Tue Oct 16 15:55:00 2012
@@ -181,8 +181,8 @@ Second paragraph.
 || !'' doubled quotes ||
 || `!wiki:WikiFormatting`, `!WikiFormatting` ||\
 || !wiki:WikiFormatting, !WikiFormatting ||
-|| `{{{-}}} curly brackets` ||\
-|| {{{-}}} curly brackets ||
+|| {{{`}}}`{{{-}}}`{{{`}}}` triple curly brackets` ||\
+|| `{{{-}}}` triple curly brackets ||
 |-----------------------------------------------------------
 ||= [#Images Images] =|| `[[Image(`''link''`)]]` || [[Image(htdocs:../common/trac_logo_mini.png)]] ||
 |-----------------------------------------------------------

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiHtml
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiHtml?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiHtml (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiHtml Tue Oct 16 15:55:00 2012
@@ -332,7 +332,7 @@ HTML comments are stripped from the outp
   }}}
 }}}
 
-Please note that the character sequence "--" is not allowed in HTML comments, and will generate a rendering error.
+Please note that the character sequence "`--`" is not allowed in HTML comments, and will generate a rendering error.
 
 
 == More Information ==

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiMacros
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiMacros?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiMacros (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiMacros Tue Oct 16 15:55:00 2012
@@ -13,9 +13,9 @@ Macro calls are enclosed in two ''square
 === Getting Detailed Help ===
 The list of available macros and the full help can be obtained using the !MacroList macro, as seen [#AvailableMacros below].
 
-A brief list can be obtained via ![[MacroList(*)]] or ![[?]].
+A brief list can be obtained via `[[MacroList(*)]]` or `[[?]]`.
 
-Detailed help on a specific macro can be obtained by passing it as an argument to !MacroList, e.g. ![[MacroList(MacroList)]], or, more conveniently, by appending a question mark (?) to the macro's name, like in ![[MacroList?]].
+Detailed help on a specific macro can be obtained by passing it as an argument to !MacroList, e.g. `[[MacroList(MacroList)]]`, or, more conveniently, by appending a question mark (`?`) to the macro's name, like in `[[MacroList?]]`.
 
 
 
@@ -52,11 +52,11 @@ A list of 3 most recently changed wiki p
 <div style="font-size: 80%" class="trac-macrolist">
 <h3><code>[[Image]]</code></h3>Embed an image in wiki-formatted text.
 
-The first argument is the file …
+The first argument is the file …
 <h3><code>[[InterTrac]]</code></h3>Provide a list of known <a class="wiki" href="/wiki/InterTrac">InterTrac</a> prefixes.
 <h3><code>[[InterWiki]]</code></h3>Provide a description list for the known <a class="wiki" href="/wiki/InterWiki">InterWiki</a> prefixes.
 <h3><code>[[KnownMimeTypes]]</code></h3>List all known mime-types which can be used as <a class="wiki" href="/wiki/WikiProcessors">WikiProcessors</a>.
-Can be …</div>
+Can be …</div>
 }}}
 etc.
 }}}
@@ -147,7 +147,7 @@ Note that `expand_macro` optionally take
 
 For example, when writing:
 {{{
-{{{#!HelloWorld style="polite"
+{{{#!HelloWorld style="polite" -silent verbose
 <Hello World!>
 }}}
 
@@ -159,7 +159,7 @@ For example, when writing:
 }}}
 One should get:
 {{{
-Hello World, text = <Hello World!> , args = {'style': u'polite'}
+Hello World, text = <Hello World!> , args = {'style': u'polite', 'silent': False, 'verbose': True}
 Hello World, text = <Hello World!> , args = {}
 Hello World, text = <Hello World!> , args = None
 }}}

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiProcessors
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiProcessors?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiProcessors (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiProcessors Tue Oct 16 15:55:00 2012
@@ -243,7 +243,7 @@ The same is valid for all other [TracSyn
 For more processor macros developed and/or contributed by users, visit: 
  * [trac:ProcessorBazaar]
  * [trac:MacroBazaar]
- * [th:WikiStart Trac Hacks] community site
+ * [http://trac-hacks.org Trac Hacks] community site
 
 Developing processors is no different from Wiki macros. 
 In fact they work the same way, only the usage syntax differs. 

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiStart
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiStart?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiStart (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/default-pages/WikiStart Tue Oct 16 15:55:00 2012
@@ -1,4 +1,4 @@
-= Welcome to Trac 0.13dev =
+= Welcome to Trac 1.0 =
 
 Trac is a '''minimalistic''' approach to '''web-based''' management of
 '''software projects'''. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress.

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/formatter.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/formatter.py?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/formatter.py (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/formatter.py Tue Oct 16 15:55:00 2012
@@ -3,7 +3,7 @@
 # Copyright (C) 2003-2009 Edgewall Software
 # Copyright (C) 2003-2005 Jonas Borgström <jo...@edgewall.com>
 # Copyright (C) 2004-2005 Christopher Lenz <cm...@gmx.de>
-# Copyright (C) 2005-2007 Christian Boos <cb...@neuf.fr>
+# Copyright (C) 2005-2007 Christian Boos <cb...@edgewall.org>
 # All rights reserved.
 #
 # This software is licensed as described in the file COPYING, which
@@ -16,7 +16,7 @@
 #
 # Author: Jonas Borgström <jo...@edgewall.com>
 #         Christopher Lenz <cm...@gmx.de>
-#         Christian Boos <cb...@neuf.fr>
+#         Christian Boos <cb...@edgewall.org>
 
 import re
 import os
@@ -1562,7 +1562,7 @@ def extract_link(env, context, wikidom):
 
 def wiki_to_html(wikitext, env, req, db=None,
                  absurls=False, escape_newlines=False):
-    """deprecated in favor of format_to_html (will be removed in 0.13)"""
+    """deprecated in favor of format_to_html (will be removed in 1.0)"""
     if not wikitext:
         return Markup()
     abs_ref, href = (req or env).abs_href, (req or env).href
@@ -1574,7 +1574,7 @@ def wiki_to_html(wikitext, env, req, db=
 
 def wiki_to_oneliner(wikitext, env, db=None, shorten=False, absurls=False,
                      req=None):
-    """:deprecated: in favor of format_to_oneliner (will be removed in 0.13)"""
+    """:deprecated: in favor of format_to_oneliner (will be removed in 1.0)"""
     if not wikitext:
         return Markup()
     abs_ref, href = (req or env).abs_href, (req or env).href
@@ -1586,7 +1586,7 @@ def wiki_to_oneliner(wikitext, env, db=N
 
 def wiki_to_outline(wikitext, env, db=None,
                     absurls=False, max_depth=None, min_depth=None, req=None):
-    """:deprecated: will be removed in 0.13 and replaced by something else"""
+    """:deprecated: will be removed in 1.0 and replaced by something else"""
     if not wikitext:
         return Markup()
     abs_ref, href = (req or env).abs_href, (req or env).href

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/intertrac.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/intertrac.py?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/intertrac.py (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/intertrac.py Tue Oct 16 15:55:00 2012
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 #
 # Copyright (C) 2005-2009 Edgewall Software
-# Copyright (C) 2005-2006 Christian Boos <cb...@neuf.fr>
+# Copyright (C) 2005-2006 Christian Boos <cb...@edgewall.org>
 # All rights reserved.
 #
 # This software is licensed as described in the file COPYING, which
@@ -12,7 +12,7 @@
 # individuals. For the exact contribution history, see the revision
 # history and logs, available at http://trac.edgewall.org/log/.
 #
-# Author: Christian Boos <cb...@neuf.fr>
+# Author: Christian Boos <cb...@edgewall.org>
 
 import re
 

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/interwiki.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/interwiki.py?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/interwiki.py (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/interwiki.py Tue Oct 16 15:55:00 2012
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 #
 # Copyright (C) 2005-2009 Edgewall Software
-# Copyright (C) 2005-2006 Christian Boos <cb...@neuf.fr>
+# Copyright (C) 2005-2006 Christian Boos <cb...@edgewall.org>
 # All rights reserved.
 #
 # This software is licensed as described in the file COPYING, which
@@ -12,7 +12,7 @@
 # individuals. For the exact contribution history, see the revision
 # history and logs, available at http://trac.edgewall.org/log/.
 #
-# Author: Christian Boos <cb...@neuf.fr>
+# Author: Christian Boos <cb...@edgewall.org>
 
 import re
 

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/macros.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/macros.py?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/macros.py (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/macros.py Tue Oct 16 15:55:00 2012
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 #
-# Copyright (C) 2005-2009 Edgewall Software
+# Copyright (C) 2005-2012 Edgewall Software
 # Copyright (C) 2005-2006 Christopher Lenz <cm...@gmx.de>
 # All rights reserved.
 #
@@ -25,16 +25,19 @@ from genshi.builder import tag
 from genshi.core import Markup
 
 from trac.core import *
-from trac.resource import Resource, ResourceNotFound, get_resource_name, \
-                          get_resource_summary, get_resource_url
+from trac.resource import (
+    Resource, ResourceNotFound, get_resource_name, get_resource_summary,
+    get_resource_url
+)
 from trac.util.datefmt import format_date, from_utimestamp, user_time
 from trac.util.html import escape, find_element
 from trac.util.presentation import separated
-from trac.util.text import unicode_quote, to_unicode
+from trac.util.text import unicode_quote, to_unicode, stripws
 from trac.util.translation import _, dgettext, cleandoc_
 from trac.wiki.api import IWikiMacroProvider, WikiSystem, parse_args
-from trac.wiki.formatter import format_to_html, format_to_oneliner, \
-                                extract_link, OutlineFormatter
+from trac.wiki.formatter import (
+    format_to_html, format_to_oneliner, extract_link, OutlineFormatter
+)
 
 
 class WikiMacroBase(Component):
@@ -69,13 +72,10 @@ class WikiMacroBase(Component):
         raise NotImplementedError
 
     def expand_macro(self, formatter, name, content):
-        # -- TODO: remove in 0.12
-        if hasattr(self, 'render_macro'):
-            self.log.warning('Executing pre-0.11 Wiki macro %s by provider %s'
-                             % (name, self.__class__))            
-            return self.render_macro(formatter.req, name, content)
-        # -- 
-        raise NotImplementedError
+        raise NotImplementedError(
+            "pre-0.11 Wiki macro %s by provider %s no longer supported" %
+            (name, self.__class__))
+
 
 
 class TitleIndexMacro(WikiMacroBase):
@@ -106,7 +106,7 @@ class TitleIndexMacro(WikiMacroBase):
        argument is given, include all pages.
      - `exclude=page1:page*2`: exclude pages that match an item in the colon-
        separated list of pages.
-    
+
     The `include` and `exclude` lists accept shell-style patterns.
     """)
 
@@ -160,7 +160,7 @@ class TitleIndexMacro(WikiMacroBase):
             page_paths = []
             for page in pages:
                 path = [elt.strip() for elt in self.SPLIT_RE.split(
-                        self.NUM_SPLIT_RE.sub(r" \1 ", 
+                        self.NUM_SPLIT_RE.sub(r" \1 ",
                         wiki.format_page_name(omitprefix(page), split=True)))]
                 page_paths.append(([elt for elt in path if elt], page))
             return page_paths
@@ -176,9 +176,9 @@ class TitleIndexMacro(WikiMacroBase):
         # the different tree structures, each corresponding to its rendering
         def tree_group(entries):
             """Transform a flat list of entries into a tree structure.
-            
+
             `entries` is a list of `(path_elements, page_name)` pairs
-            
+
             Return a list organized in a tree structure, in which:
               - a leaf is a page name
               - a node is a `(key, nodes)` pairs, where:
@@ -209,7 +209,7 @@ class TitleIndexMacro(WikiMacroBase):
                             groups.append(elt)
                     else:
                         node = (key, subnodes)
-                        groups.append(node)                    
+                        groups.append(node)
                 else:
                     for path_elements, page_name in grouped_entries:
                         groups.append(page_name)
@@ -217,9 +217,9 @@ class TitleIndexMacro(WikiMacroBase):
 
         def tree_hierarchy(entries):
             """Transform a flat list of entries into a tree structure.
-            
+
             `entries` is a list of `(path_elements, page_name)` pairs
-            
+
             Return a list organized in a tree structure, in which:
               - a leaf is a `(rest, page)` pair, where:
                 - `rest` is the rest of the path to be shown
@@ -254,7 +254,7 @@ class TitleIndexMacro(WikiMacroBase):
                         groups.append(key_entry)
                     groups.extend(sub_entries)
             return groups
-            
+
         # the different rendering formats
         def render_group(group):
             return tag.ul(
@@ -273,7 +273,7 @@ class TitleIndexMacro(WikiMacroBase):
                        tag.a('/'.join(elt[0]),
                              href=formatter.href.wiki(elt[1])))
                 for elt in group)
-        
+
         transform = {
             'group': lambda p: render_group(tree_group(split_pages_group(p))),
             'hierarchy': lambda p: render_hierarchy(
@@ -294,28 +294,36 @@ class TitleIndexMacro(WikiMacroBase):
 class RecentChangesMacro(WikiMacroBase):
     _domain = 'messages'
     _description = cleandoc_(
-    """List all pages that have recently been modified, grouping them by the
-    day they were last modified.
+    """List all pages that have recently been modified, ordered by the
+    time they were last modified.
 
-    This macro accepts two parameters. The first is a prefix string: if
-    provided, only pages with names that start with the prefix are included in
-    the resulting list. If this parameter is omitted, all pages are listed.
-
-    The second parameter is a number for limiting the number of pages returned.
-    For example, specifying a limit of 5 will result in only the five most
-    recently changed pages to be included in the list.
+    This macro accepts two ordered arguments and a named argument. The named
+    argument can be placed in any position within the argument list.
+
+    The first parameter is a prefix string: if provided, only pages with names
+    that start with the prefix are included in the resulting list. If this
+    parameter is omitted, all pages are included in the list.
+
+    The second parameter is the maximum number of pages to include in the
+    list.
+
+    The `group` parameter determines how the list is presented:
+      `group=date` :: The pages are presented in bulleted lists that are
+        grouped by date (default).
+      `group=none` :: The pages are presented in a single bulleted list.
+
+    Tip: if you only want to specify a maximum number of entries and
+    don't want to filter by prefix, specify an empty first parameter,
+    e.g. `[[RecentChanges(,10,group=none)]]`.
     """)
 
     def expand_macro(self, formatter, name, content):
-        prefix = limit = None
-        if content:
-            argv = [arg.strip() for arg in content.split(',')]
-            if len(argv) > 0:
-                prefix = argv[0]
-                if len(argv) > 1:
-                    limit = int(argv[1])
+        args, kw = parse_args(content)
+        prefix = args[0].strip() if args else None
+        limit = int(args[1].strip()) if len(args) > 1 else None
+        group = kw.get('group', 'date')
 
-        sql = """SELECT name, max(version) AS max_version, 
+        sql = """SELECT name, max(version) AS max_version,
                         max(time) AS max_time FROM wiki"""
         args = []
         if prefix:
@@ -344,16 +352,22 @@ class RecentChangesMacro(WikiMacroBase):
             page_name = formatter.wiki.format_page_name(name)
             entries_per_date[-1][1].append((page_name, name, version,
                                             diff_href))
-        return tag.div(
-            (tag.h3(date),
-             tag.ul(
-                 tag.li(tag.a(page, href=formatter.href.wiki(name)), ' ',
-                        diff_href and
-                        tag.small('(', tag.a('diff', href=diff_href), ')') or
-                        None)
-                 for page, name, version, diff_href in entries))
+
+        items_per_date = (
+            (date, (tag.li(tag.a(page, href=formatter.href.wiki(name)),
+                           tag.small(' (', tag.a('diff', href=diff_href), ')')
+                           if diff_href else None, '\n')
+                    for page, name, version, diff_href in entries))
             for date, entries in entries_per_date)
 
+        if group == 'date':
+            out = ((tag.h3(date), tag.ul(entries))
+                   for date, entries in items_per_date)
+        else:
+            out = tag.ul((entries)
+                         for date, entries in items_per_date)
+        return tag.div(out)
+
 
 class PageOutlineMacro(WikiMacroBase):
     _domain = 'messages'
@@ -362,7 +376,7 @@ class PageOutlineMacro(WikiMacroBase):
     outline being a link to the corresponding heading.
 
     This macro accepts four optional parameters:
-    
+
      * The first is a number or range that allows configuring the minimum and
        maximum level of headings that should be included in the outline. For
        example, specifying "1" here will result in only the top-level headings
@@ -425,7 +439,7 @@ class ImageMacro(WikiMacroBase):
     _domain = 'messages'
     _description = cleandoc_(
     """Embed an image in wiki-formatted text.
-    
+
     The first argument is the file specification. The file specification may
     reference attachments in three ways:
      * `module:id:file`, where module can be either '''wiki''' or '''ticket''',
@@ -435,19 +449,19 @@ class ImageMacro(WikiMacroBase):
        page name.
      * `file` to refer to a local attachment named 'file'. This only works from
        within that wiki page or a ticket.
-    
+
     Also, the file specification may refer to repository files, using the
     `source:file` syntax (`source:file@rev` works also).
-    
+
     Files can also be accessed with a direct URLs; `/file` for a
     project-relative, `//file` for a server-relative, or `http://server/file`
     for absolute location of the file.
-    
+
     The remaining arguments are optional and allow configuring the attributes
     and style of the rendered `<img>` element:
      * digits and unit are interpreted as the size (ex. 120, 25%)
        for the image
-     * `right`, `left`, `center`, `top`, `bottom` and `middle` are interpreted 
+     * `right`, `left`, `center`, `top`, `bottom` and `middle` are interpreted
        as the alignment for the image (alternatively, the first three can be
        specified using `align=...` and the last three using `valign=...`)
      * `link=some TracLinks...` replaces the link to the image source by the
@@ -456,11 +470,11 @@ class ImageMacro(WikiMacroBase):
      * `nolink` means without link to image source (deprecated, use `link=`)
      * `key=value` style are interpreted as HTML attributes or CSS style
        indications for the image. Valid keys are:
-        * align, valign, border, width, height, alt, title, longdesc, class, 
+        * align, valign, border, width, height, alt, title, longdesc, class,
           margin, margin-(left,right,top,bottom), id and usemap
         * `border`, `margin`, and `margin-`* can only be a single number
-        * `margin` is superseded by `center` which uses auto margins 
-    
+        * `margin` is superseded by `center` which uses auto margins
+
     Examples:
     {{{
         [[Image(photo.jpg)]]                           # simplest
@@ -469,7 +483,7 @@ class ImageMacro(WikiMacroBase):
         [[Image(photo.jpg, nolink)]]                   # without link to source
         [[Image(photo.jpg, align=right)]]              # aligned by attribute
     }}}
-    
+
     You can use image from other page, other ticket or other module.
     {{{
         [[Image(OtherPage:foo.bmp)]]    # if current module is wiki
@@ -479,7 +493,7 @@ class ImageMacro(WikiMacroBase):
         [[Image(source:/images/bee.jpg)]] # straight from the repository!
         [[Image(htdocs:foo/bar.png)]]   # image file in project htdocs dir.
     }}}
-    
+
     ''Adapted from the Image.py macro created by Shun-ichi Goto
     <go...@taiyo.co.jp>''
     """)
@@ -496,7 +510,9 @@ class ImageMacro(WikiMacroBase):
         args = content.split(',')
         if len(args) == 0:
             raise Exception("No argument.")
-        filespec = args.pop(0)
+        # strip unicode white-spaces and ZWSPs are copied from attachments
+        # section (#10668)
+        filespec = stripws(args.pop(0))
 
         # style information
         size_re = re.compile('[0-9]+(%|px)?$')
@@ -543,7 +559,7 @@ class ImageMacro(WikiMacroBase):
                 match = attr_re.match(arg)
                 if match:
                     key, val = match.groups()
-                    if (key == 'align' and 
+                    if (key == 'align' and
                             val in ('left', 'right', 'center')) or \
                         (key == 'valign' and \
                             val in ('top', 'middle', 'bottom')):
@@ -580,7 +596,7 @@ class ImageMacro(WikiMacroBase):
                 url += '?' + params
             raw_url, desc = url, filespec
         elif len(parts) == 3:                 # realm:id:attachment-filename
-            #                                 # or intertrac:realm:id 
+            #                                 # or intertrac:realm:id
             realm, id, filename = parts
             intertrac_target = "%s:%s" % (id, filename)
             it = formatter.get_intertrac_url(realm, intertrac_target)
@@ -648,10 +664,10 @@ class MacroListMacro(WikiMacroBase):
     _description = cleandoc_(
     """Display a list of all installed Wiki macros, including documentation if
     available.
-    
+
     Optionally, the name of a specific macro can be provided as an argument. In
     that case, only the documentation for that macro will be rendered.
-    
+
     Note that this macro will not be able to display the documentation of
     macros if the `PythonOptimize` option is enabled for mod_python!
     """)
@@ -736,6 +752,22 @@ class TracIniMacro(WikiMacroBase):
                 options.setdefault(section, {})[key] = option
                 sections.setdefault(section, '')
 
+        def default_cell(option):
+            default = option.default
+            if default is True:
+                default = 'true'
+            elif default is False:
+                default = 'false'
+            elif default == 0:
+                default = '0.0' if isinstance(default, float) else '0'
+            elif default:
+                default = ', '.join(to_unicode(val) for val in default) \
+                          if isinstance(default, (list, tuple)) \
+                          else to_unicode(default)
+            else:
+                return tag.td(_("(no default)"), class_='nodefault')
+            return tag.td(tag.code(default), class_='default')
+
         return tag.div(class_='tracini')(
             (tag.h3(tag.code('[%s]' % section), id='%s-section' % section),
              format_to_html(self.env, formatter.context, section_doc),
@@ -745,12 +777,7 @@ class TracIniMacro(WikiMacroBase):
                             self.env, formatter.context,
                             dgettext(option.doc_domain,
                                      to_unicode(option.__doc__)))),
-                        tag.td(tag.code(option.default or 'false')
-                                   if option.default or option.default is False
-                                   else _("(no default)"),
-                               class_='default' if option.default or 
-                                                   option.default is False 
-                                                else 'nodefault'))
+                        default_cell(option))
                  for option in sorted(options.get(section, {}).itervalues(),
                                       key=lambda o: o.name)
                  if option.name.startswith(key_filter))))
@@ -800,9 +827,9 @@ class TracGuideTocMacro(WikiMacroBase):
     _domain = 'messages'
     _description = cleandoc_(
     """Display a table of content for the Trac guide.
-    
+
     This macro shows a quick and dirty way to make a table-of-contents
-    for the Help/Guide. The table of contents will contain the Trac* and 
+    for the Help/Guide. The table of contents will contain the Trac* and
     WikiFormatting pages, and can't be customized. Search for TocMacro for a
     a more customizable table of contents.
     """)
@@ -841,7 +868,7 @@ class TracGuideTocMacro(WikiMacroBase):
         idx = curpage.find('/')
         if idx > 0:
             prefix = curpage[:idx+1]
-            
+
         ws = WikiSystem(self.env)
         return tag.div(
             tag.h4(_('Table of Contents')),

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/model.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/model.py?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/model.py (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/model.py Tue Oct 16 15:55:00 2012
@@ -81,8 +81,8 @@ class WikiPage(object):
     def delete(self, version=None, db=None):
         """Delete one or all versions of a page.
 
-        :since 0.13: the `db` parameter is no longer needed and will be removed
-        in version 0.14
+        :since 1.0: the `db` parameter is no longer needed and will be removed
+        in version 1.1.1
         """
         assert self.exists, "Cannot delete non-existent page"
         
@@ -120,8 +120,8 @@ class WikiPage(object):
     def save(self, author, comment, remote_addr, t=None, db=None):
         """Save a new version of a page.
 
-        :since 0.13: the `db` parameter is no longer needed and will be removed
-        in version 0.14
+        :since 1.0: the `db` parameter is no longer needed and will be removed
+        in version 1.1.1
         """
         if not validate_page_name(self.name):
             raise TracError(_("Invalid Wiki page name '%(name)s'",
@@ -199,8 +199,8 @@ class WikiPage(object):
     def get_history(self, db=None):
         """Retrieve the edit history of a wiki page.
 
-        :since 0.13: the `db` parameter is no longer needed and will be removed
-        in version 0.14
+        :since 1.0: the `db` parameter is no longer needed and will be removed
+        in version 1.1.1
         """
         for version, ts, author, comment, ipnr in self.env.db_query("""
                 SELECT version, time, author, comment, ipnr FROM wiki

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/parser.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/parser.py?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/parser.py (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/parser.py Tue Oct 16 15:55:00 2012
@@ -3,7 +3,7 @@
 # Copyright (C) 2005-2009 Edgewall Software
 # Copyright (C) 2003-2006 Jonas Borgström <jo...@edgewall.com>
 # Copyright (C) 2004-2006 Christopher Lenz <cm...@gmx.de>
-# Copyright (C) 2005-2007 Christian Boos <cb...@neuf.fr>
+# Copyright (C) 2005-2007 Christian Boos <cb...@edgewall.org>
 # All rights reserved.
 #
 # This software is licensed as described in the file COPYING, which
@@ -16,7 +16,7 @@
 #
 # Author: Jonas Borgström <jo...@edgewall.com>
 #         Christopher Lenz <cm...@gmx.de>
-#         Christian Boos <cb...@neuf.fr>
+#         Christian Boos <cb...@edgewall.org>
 
 import re
 
@@ -117,7 +117,7 @@ class WikiParser(Component):
         r"(?P<hanchor>#%s)?\s*$)" % XML_NAME,
         #  * list
         r"(?P<list>^(?P<ldepth>\s*)"
-        ur"(?:[%s]|(?P<lstart>\d+|[a-zA-Z]|[ivxIVX]{1,5})\.)\s)"
+        ur"(?:[%s]|(?P<lstart>[0-9]+|[a-zA-Z]|[ivxIVX]{1,5})\.)\s)"
         % (BULLET_CHARS),
         # definition:: 
         r"(?P<definition>^\s+"

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_edit.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_edit.html?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_edit.html (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_edit.html Tue Oct 16 15:55:00 2012
@@ -36,24 +36,50 @@
         $("#editrows").change(function() {
           resizeTextArea("text", this.options[this.selectedIndex].value);
         });
+        $("#sidebyside").change(function() {
+          $("#edit input[type=submit][name=preview]").click();
+        });
         <py:if test="not sidebyside and (action == 'preview' or diff)">
           $("#info").scrollToTop();
         </py:if>
-        <py:if test="sidebyside">
+        <py:if test="sidebyside">/*<![CDATA[*/
+          function editorHeight() {
+            return $("#text").closest("fieldset").innerHeight();
+          }
+          function previewHeight() {
+            return $("#preview").innerHeight();
+          }
+          var preview_pad = previewHeight() - $("#preview").height();
+          var editor_pad = editorHeight() - $("#text").height();
           function autoResizeText() {
-            var preview_height = $("#preview").height();
-            if (preview_height)
-              $("#text").height(preview_height);
+            $("#preview").height(0); // neutralize preview
+            $("#text").height("auto"); // adapt textarea to its content
+            var text_height = $("#text").prop("scrollHeight");
+            var wikipage_height = $("#preview div.wikipage").height();
+            if (wikipage_height > text_height) {
+              // expand #text to its natural height and adapt #preview to it
+              $("#text").height(text_height).css("overflow-y", "hidden");
+              $("#preview").height(Math.max(16, editorHeight() - preview_pad));
+            } else {
+              // expand .wikipage to its natural height and adapt #text to it
+              $("#preview").height("auto");
+              $("#text").height(Math.max(16, previewHeight() - editor_pad))
+                .css("overflow-y", "auto");
+            }
           }
           autoResizeText();
           $(window).resize(autoResizeText);
-        </py:if>
+        /*]]>*/</py:if>
         <py:if test="sidebyside and not diff">
           $("#text").autoPreview("${href.wiki_render()}", {
               realm: "${page.resource.realm}", id: "${page.resource.id}"
             }, function(textarea, text, rendered) {
+              var window_scroll_top = $(window).scrollTop();
+              var editor_scroll_top = $("#text").scrollTop();
               $("#preview div.wikipage").html(rendered);
               autoResizeText();
+              $(window).scrollTop(window_scroll_top);
+              $("#text").scrollTop(editor_scroll_top);
           });
         </py:if>
         $(".foldable").enableFolding(true, true);
@@ -64,9 +90,7 @@
   <body>
     <div id="content" class="wiki"
          py:with="preview_or_review = action == 'preview' and (not diff or changes[0].diffs)">
-      <div class="trac-topnav" py:if="sidebyside or preview_or_review" py:choose="">
-        <a py:when="sidebyside" href="#changeinfo"
-           title="Go to Save, Preview, Review or Cancel buttons">Actions</a>
+      <div class="trac-topnav" py:if="not sidebyside and preview_or_review" py:choose="">
         <a py:when="diff" href="#info" title="See the diffs">Review</a>
         <a py:otherwise="" href="#info" title="See the preview">Preview</a>
         &darr;
@@ -124,12 +148,12 @@
             <div class="trac-nav" py:if="not sidebyside and preview_or_review">
               <a href="#content" title="Go to the editor">Edit</a> &uarr;
             </div>
-            <h2 py:choose="">
+            <h2 py:if="not sidebyside" py:choose="">
               <py:when test="preview_or_review and diff">Review Changes</py:when>
               <py:when test="preview_or_review">Preview</py:when>
               <py:otherwise>No changes</py:otherwise>
             </h2>
-            <div id="preview">
+            <div id="preview" class="trac-content">
               <div py:when="diff" class="diff">
                 <xi:include href="diff_div.html" py:with="no_id=True" />
               </div>
@@ -151,7 +175,7 @@
         </py:when>
       </py:choose>
       <py:if test="sidebyside"><xi:include href="wiki_edit_form.html" /></py:if>
-      
+
       <xi:include href="list_of_attachments.html"
                   py:with="alist = attachments; compact = True; foldable = True"/>
     </div>

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_edit_form.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_edit_form.html?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_edit_form.html (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_edit_form.html Tue Oct 16 15:55:00 2012
@@ -5,7 +5,7 @@
       xmlns:py="http://genshi.edgewall.org/"
       xmlns:i18n="http://genshi.edgewall.org/i18n" py:strip="">
   <form id="edit" action="${href.wiki(page.name)}" method="post">
-    <fieldset class="iefix">
+    <fieldset class="${classes(sidebyside=sidebyside)}">
       <input type="hidden" name="from_editor" value="1" />
       <input type="hidden" name="action" value="edit" />
       <input type="hidden" name="version" value="$page.version" />
@@ -35,11 +35,6 @@ $page.text</textarea>
         <a href="${href.wiki('TracWiki')}">TracWiki</a> for help on editing wiki content.
       </div>
     </fieldset>
-    <div class="trac-nav" py:if="sidebyside" py:choose="">
-      <a py:when="diff" href="#content" title="See the start of the diffs">Review</a>
-      <a py:otherwise="" href="#content" title="See the start of the preview">Preview</a>
-      &uarr;
-    </div>
     <fieldset id="changeinfo">
       <legend>Change information</legend>
       <div id="changeinfo1">
@@ -53,7 +48,7 @@ $page.text</textarea>
         </div>
         <div class="field">
           <label>Comment about this change (optional):<br />
-            <input id="comment" type="text" name="comment" size="60" value="$comment" />
+            <input id="comment" type="text" name="comment" size="80" value="$comment" />
           </label>
         </div>
       </div>

Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_view.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_view.html?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_view.html (original)
+++ incubator/bloodhound/vendor/trac/current/trac/wiki/templates/wiki_view.html Tue Oct 16 15:55:00 2012
@@ -46,6 +46,7 @@
 
       <div class="wikipage searchable" py:choose="" xml:space="preserve">
         <py:when test="page.exists">
+          <div id="wikipage" class="trac-content" py:content="wiki_to_html(context, text)" />
           <?python
             last_modification = (page.comment and
                  _('Version %(version)s by %(author)s: %(comment)s',
@@ -60,7 +61,6 @@
             </span>
             <span class="trac-print" i18n:msg="date">Last modified on ${format_datetime(page.time)}</span>
           </div>
-          <div id="wikipage" py:content="wiki_to_html(context, text)" />
         </py:when>
         <py:otherwise>
           <p i18n:msg="name">The page ${name_of(page.resource)} does not exist. You can create it here.</p>