1.0.2dev: Image macro can now reach attachments on Wiki page having a `:` in their name.

Based a patch from dstoecker on #10562.


git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11732 af82e41b-90c4-0310-8c96-b1721e28e2e2
0.12.6dev: Update `WikiPage.resource` when renaming a wiki page.

Patch by Steffen Hoffmann. Closes #11138.


git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/0.12-stable@11735 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0-stable: Merged from 0.12-stable.

git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11736 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: fix a subtle error in `Environment.get_version`.

During the adaptation to the 1.0 database API, we went from
`return row and ...` to `return rows and ...`. 
In case no rows was present, we returned `None` in the first case,
`[]` in the second, and these values don't behave the same way when
compared to ints.  Lesson learned: don't play tricks on the type
system, it'll hit back...

Patch by Ethan Jucovy <ethan.jucovy@gmail.com>, thanks!

Closes #11098.


git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11740 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: fix another misuse of the 1.0 DB API.

The point of the [TracDev/DatabaseApi#Trac1.0API 1.0 API] was
precisely to release the connections as soon and as automatically as
possible... so if it wouldn't have worked without this explicit
`db.close`, it would have been a bug.



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11741 af82e41b-90c4-0310-8c96-b1721e28e2e2
#8918: small clean-up in changeset module.

Make a distinction between `old_path is None'` (unspecified)
and `old_path is ''` (specified to be empty). Only in the
former case will the `old_path` be unified with the `new_path`.

Based on a patch by Martin.vGagern@gmx.net.



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11743 af82e41b-90c4-0310-8c96-b1721e28e2e2
#8919: rework the download as zip for the BrowserModule.

Instead of re-using the Zip archive creation code from the
ChangesetModule by introducing special meaning for the `old_path`,
redo it specifically for the BrowserModule and iterate through all
entries found from the starting directory node at the given revision,
recursively.

Based on a patch by Martin.vGagern@gmx.net.



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11744 af82e41b-90c4-0310-8c96-b1721e28e2e2
#8919: refactor the download as zip.

Now both the BrowserModule and the ChangesetModule reuse the same
`render_zip` utility function (derived from Martin's enhanced
version), which takes a node iterator.



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11745 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: allow unicode user names (#6318)

Added a functional test (`RegressionTestTicket6318`) and update some
other tests, as the list of all existing users has grown.

Also rehabilitate the `to_utf8` utility function, as it's useful for
dealing with twill commands.


git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11752 af82e41b-90c4-0310-8c96-b1721e28e2e2
0.12.6dev: avoid database error in `trac.ticket.query.Query` with many custom fields on SQLite and MySQL

SQLite and MySQL have the limitation of joins. Closes #11140.


git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/0.12-stable@11753 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: merge [11753] from 0.12-stable (fix of #11140)


git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11754 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: make the `#rtl`-related CSS rules global (#11122)

git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11757 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: stretch the component system so that multiple kinds of `ComponentManager` can be used.

While not excercised in Trac proper, some extensions use other
`ComponentManager` subclasses beyond the `Environment`, also in a dual
!ComponentManager/Component way.

However this breaks when both implement the same interface and the
extension point belonging to one manager tries to instantiate
the other manager, due to internal implementation details (in
particular the special case for `ComponentManager` in
`ComponentMeta.__call__`).

By introducing a limitation by which a `ComponentManager` which is
also a `Component` will only be listed in the extension points of
`Component`s managed by itself, this can be made to work.

See #11121 for more discussion.

Issue and patch by Olemis Lang <olemis+trac@gmail.com>.


git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11758 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: highlight the rows on hover in the plugins admin panel.

This enforces the usual row highlight behavior in this context as
well.

Patch by Ryan J Ollos <ryan.j.ollos@gmail.com> on #11052.



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11759 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: make it possible to disable the wiki toolbars.

This will be useful for plugins adding more complex toolbars or
WYSIWYG features.

Patch by Ethan Jucovy <ethan.jucovy@gmail.com> on #10837.



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11760 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: a few refactorings of the functional tests

 - added `grant_perm` and `revoke_perm` methods to the
   `FunctionalTestEnvironment` class
 - testenv: use `grant_perm` instead of `_tracadmin`
 - testenv: add copyright notice and remove `#!/usr/bin/python` line
 - testenv: refactor `call_in_workdir` into `call_in_dir`
   and move `call_in_workdir` down in `SvnFunctionalTestEnvironment`
   where it's used.
 - tester: add `go_to_url` == `go` + `url` check + "no internal, thank you"



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11761 af82e41b-90c4-0310-8c96-b1721e28e2e2
Follow-up to r11761, in `grant_perm` don't `restart()` if not already started.

git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11762 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: reuse `terminate` from PyGIT in `FunctionalTestEnvironment.stop`

git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11763 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: further refactor of `grant_perm` and `revoke_perm` 

 - do a config touch to force reload of perms, as this is less heavy
   handed than a restart
 - make sure that `trac-admin` is only called once



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11764 af82e41b-90c4-0310-8c96-b1721e28e2e2
1.0.2dev: refuse to show the /roadmap if ROADMAP_VIEW is missing

Closes #11028.

Fix and functional test contributed by Ryan J Ollos
<ryan.j.ollos@gmail.com>, thanks!



git-svn-id: http://trac.edgewall.org/intertrac/log:/branches/1.0-stable@11765 af82e41b-90c4-0310-8c96-b1721e28e2e2