* Scm.php: new SCM method "getChanges" which returns all available
change information grouped by type
* Monotone.php: implement getChanges via get_revision
* <other scms>: rename "changes" member for getCommit to "diff" which
matches better
* Source.php: query the commit's changes and set them in the template
* commit.html: render the changes, type-by-type. Link to the tree or
the individual diff if applicable
* styles.css: some initial style sheet work
Changes with respect to the original patch:
- use Gconf instead of separate table / data scheme
- better form validation for URLs and emails
- no htmlentity-encoded contents in the database (pluf automatically safe-encodes
stuff before it writes out contents into templates)
- add visual separators in the form views to have a distinct view of basic
(important) data and other data which are only displayed in the public profile
- give a hint about the maximum display size of 60x60 px^2 and use max-width and
max-height in the templates to avoid nasty distortions by the browser
- use target=_blank and rel=nofollow on the twitter and website links in the profile
- some whitespace / formatting / code style fixes
the branch certificates in question to the horizont, otherwise we end up going
up the whole history for some feature branch as soon as we hit the base branch
of a project.
IDF_FileUtil and change all occurrences accordingly
* cache /etc/mime.types (or whatever is configured) per request in a static
variable in IDF_FileUtil
* always link directly to the download of attached files in the issues view
and place an additional "view" link only for those attachments which we
recognize as text with our weak criteria (closes issue 575)
mercurial and monotone, but slightly harder till impossible to
do properly for git and svn. Please review and eventually adapt
the code to make it work better (partially fixes issue 450)
Instead of returning a command which gets executed and which should
pass through / stream its output data to the client, we're just
returning an instance of Pluf_HTTP_Response. This is needed, because
some SCMs, most noticable monotone, have no locally executable command
to provide a snapshot archive (and probably never will for our kind
of setup).
We therefor added a little BSD-licensed class "ZipArchive" which allows
the creation of pkzip-compatible archives on the fly by letting it eat
the file contents directly feed from the (remote) stdio instance.
Download performance is ok and lies between 15K/s and 110K/s, but at
least we do no longer block the browser while we pre-generate the zip
file server-side.
Thanks to Patrick Georgi for all his work!
this way additional hooks which need these notifications as well
do not override earlier hooks
* optionally include an additional hooks.lua file at the very end
in which custom hooks can be defined
* refactor out the common menu code from several base*.html classes into main-menu.html
and put the raw links into a unordered list (which makes it easier to create dynamic
menus as we cannot insert block items into inline items in strict mode)
* query the list of available projects on every request and set them for every template
in Middleware.php
* make the popup menu pretty
need of having to start the list with a space, here it was actually
needed code-wise. I rewrote the code so the space was not needed
and the documentation follows the actual behaviour.
has to start with a space - its even a little quirky since the code
expands that to a regex like "/\.(|ext1|ext2...)$/", so in theory files
which end up with a dot and without an extension would be allowed by this.
For now we just fix the comment and indentation of the default
configuration option.
- getTree(), getPathInfo(): use the new extended manifest format
and save the calls to query file sizes from contents as well
as the calls to determine the revision in which a file changed
at last
rest and write the rest in full_message - just like we do it for log and
everything else. This is ugly, really ugly, because it assumes something
on the format of a commit message, which might not be true at all for
some project, but this is something Loic has to decide (see also issue 491
and issue 535)
part of another branch whose certs haven't been pushed into the server
yet, so we need to skip these revisions while going back in time
for the changelog. The initial revision however must carry a branch
cert, otherwise we have nothing to "follow".