Added hooks, policy and rakefile to install selinux policy for this plugin
Performance fix for redmine_git_hosting.

This prevents a rediculous number of calls to update_repositories
caused by the fact that redmine saves to the repository model for
every commit that it examines.  This patch also prevents multiple
calls to update_repositories when adding groups to the membership
of a project.

You need to migrate plugins to take advantage of new indices:

	rake db:migrate_plugins
More performance improvements.

This patch should remove all remaining need for recursive calls to update_repositories.
Will log such calls as errors in upcoming major code fix...
Rewrite of primary gitolite interface for better resilience.

The primary "update_repositories" function is now largely self-correcting
against a variety of errors seen in the field.  Also added a bunch of
error checking on functions called-out to the shell.  Among other things,
this code attempts to reconnect the gitolite-admin public key when it
gets deleted (can happen).

Regular use of 'sys/fetch_changesets' will recorrect any errors in the
public key directory and gitolite.conf file. For example, orphan keys
that happen to be left behind in the public key directory will be removed,
missing keys will be added, etc.

One new piece of functionality is the 'recycle_bin' which is used to store
deleted repositories immediately after they are deleted (allowing them
to be recovered for up to 'gitRecycleExpireTime' hours after deletion).

You need to migrate plugins because there are new plugin settings:

    rake db:migrate_plugins
Missed a performance case/source of recursion complaints in the log.

This is not a major issue (or even correctness issue), but will cause
complaints of recursion in the log.
Update of selinux policy for latest version of selinux package. Also
change rakefile to install binary policy (redmine_git.pp) instead of
compiling source policy (redmine_git.te) before every
installation. New rake task added to recompile policy if necessary:

    rake selinux:redmine_git_hosting:build_policy
Continuing rewrite of redmine_git_hosting to rationalize path handling.

It is important to remember to migrate_plugin settings, since there
are new settings and one setting has changed a bit (i.e. httpServer
should nolonger include a rails_root path).  Thus, make sure to:

    rake db:migrate_plugins

This commit includes a number of changes.  First and foremost, the
update_repositories() function now handles deletes and repository
moves as well as all other changes.  Consequently, :RESYNC_ALL will be
able to recover from a variety of problems involving movement of
repositories resulting from project parent changes.  Note that changes
in the parent for a subtree of projects works much better than before.

Second, this commit adds new settings which allow (1) redmine-managed
repositories to be focused in a specific subdirectory of the gitolite
repository, (2) allow repositories to be named either hierarchically
(default) or concentrated in a single directory (flat) independent of
project parents, and (3) an extra path parameter which can be added to
the http URL for smart http access of repositories.

Third, added the "access" box at the top of the settings page which
shows explicitly how settings affect access parameters.

Random improvements include (1) rewrite of routes for smart HTTP to
better handle changes in parentage (and avoid need to change routes as
project parents change); (2) changes in settings now immediately
trigger resulting changes in state (before, the settings cache got in
the way); (3) all of the path functions (repository positions, ssh
access, http access) have been concentrated into a small number of
functions at the top of git_hosting.rb, rather than spread throughout
the code; (4) continuing the changes started with the original
performance fixes, cleaned up observer behavior triggered by changes
in project membership and settings.
Added code to correct for changes in the Redmine 1.3->1.3.1 transition.

First, altered views to correct for the fact that (1) TabularFormBuilder
was removed and (2) labelled_tabular_form_for was deprecated.  To allow
this new code to work with pre 1.3.1 versions of Redmine, added an
app/helpers/application_helper.rb which defines the new accepted
helpers if they are not already defined.

Second, made the gitolite_public_keys controller a bit more RESTful in
response to the removal of the generic :controller/:method/:id route.
Note that without these changes, get weird failures around the /my/account
sidebar.  Now, everything happens on the /my/account page: Does not use
separate screen for key edit, and removed the confusion "active" checkbox
on edit (given recent fixes, this is only a weird way to delete key).  Finally,
this code asks for confirmation before deleting a key.  Note that account.rhtml
updated slightly (has password icon now near "change password").
Add user-edit screen for public_keys and fix security flaw.

This commit refactors the gitolite-public-key view to (1) remove
MVC violations (i.e. move the DB access into respective controllers,
(2) separate the view/edit functionality into a separate partial so
that (3) it can be called from the user edit screen.  As a result,
the administrator can now look at and edit user's keys (which I have
found is necessary for some clueless users).  The previous commit
would allow someone to view other public keys (but not edit them!); this
commit fixes this flaw.

Also, updated the style of the display to better reflect the 1.3+
style of redmine.  This code is still backward compatible with
earlier versions of redmine.  Also, moved .rhtml => .html.erb in
preparation for Rails 3.0 (rest of Redmine alreday updated)
Repair hook parameters for all projects during :resync_all.
Allow repair hook functionality to work with older versions of sudo.
Added support for ssh port specification in gitServer. Also clarity fix for access box.
Fix bugs in error path for repository mirror push. Correct status is now reported. Removed extra cruft in error reporting.
Encode username in HTTP URL bar so that resulting URLS are valid for
use with smart HTTP, even when usernames include illegal characters
such as '@'. For example, usernames such as "John@Doe" => "John%40Doe"
in the URL box.
Fixes for compatibility with Redmine 1.1
fixes some stray semicolons that broke ruby 1.9
Merge pull request #15 from gcymbalski/chiliproject-and-1.9

Fixed some stray colons that broke ChiliProject 3.0 on Ruby 1.9.2-p290.
According to gcymbalski, ChiliProject is 3.0 is now functional.
Make temp and scripts directory configurable. Also, add default
repository access methods for new repositories (i.e. for daemon, HTTP,
and CIA notification). Finally, added more rake tasks to ease
maintenance (in the :redmine_git_hosting namespace). Update README
with information about these new options and with with new
compatibility information.

Since there are 5 new settings, make sure to migrate plugins again:

    rake db:migrate_plugins RAILS_ENV=xxx
Update the installation process to explicitly populate the scripts
directory, thereby (hopefully) avoiding confusion about this
directory. Give options for making scripts read-only if desired. Small
updates to settings logic to better support this installation flow.
Make sure that log messages flushed to log for rake tasks. Also, mark
tasks in gitolite.rake as deprecated.