6 years agoSupport private repositories with LDAP authorization
Marius Mathiesen [Thu, 12 Jul 2012 12:49:21 +0000 (14:49 +0200)]
Support private repositories with LDAP authorization

This was easier than I feared. It was simply a matter of
- Use Team#find_by_name! to find an LdapGroup or Group to save
  as content membership
- Implement LdapGroup#member?
- Add a test which demonstrates this (Projects#show in private mode
  with a LdapGroup based content membership)

6 years agoList direct members in LdapGroup#show
Marius Mathiesen [Thu, 12 Jul 2012 08:58:27 +0000 (10:58 +0200)]
List direct members in LdapGroup#show

6 years agoProperly implement LdapGroup#members
Marius Mathiesen [Thu, 12 Jul 2012 08:53:15 +0000 (10:53 +0200)]
Properly implement LdapGroup#members

Note that not all members will be returned unless you're using a very flat
LDAP setup.

6 years agoCache the LDAP group names for an hour
Marius Mathiesen [Thu, 12 Jul 2012 08:52:28 +0000 (10:52 +0200)]
Cache the LDAP group names for an hour

6 years agoSupport looking up (User) members of an LDAP group
Marius Mathiesen [Thu, 12 Jul 2012 08:09:48 +0000 (10:09 +0200)]
Support looking up (User) members of an LDAP group

- Provide example values for membership and member attribute names
  in authentication_sample.yml

6 years agoMove group authorization strategies into separate classes
Marius Mathiesen [Tue, 10 Jul 2012 13:47:46 +0000 (15:47 +0200)]
Move group authorization strategies into separate classes

Our include/extend/configure setup has reached a level where I'm unable to
make an elegant solution at 4pm on a Tuesday.

Construct separate classes (strategies?) for Group and Ldap group authorization
backends to reduce code clutter.

6 years agoWe currently don't support listing members of a LDAP backed committership
Marius Mathiesen [Tue, 10 Jul 2012 12:56:33 +0000 (14:56 +0200)]
We currently don't support listing members of a LDAP backed committership

6 years agoGrant review access under LDAP authorization
Marius Mathiesen [Tue, 10 Jul 2012 11:30:25 +0000 (13:30 +0200)]
Grant review access under LDAP authorization

6 years agoDon't bother looking up group memberships for anonymous users
Marius Mathiesen [Tue, 10 Jul 2012 10:16:25 +0000 (12:16 +0200)]
Don't bother looking up group memberships for anonymous users

6 years agoImplement repository admin checks via LDAP authorization
Marius Mathiesen [Fri, 6 Jul 2012 13:15:22 +0000 (15:15 +0200)]
Implement repository admin checks via LDAP authorization

6 years agoSupport authorization for push with LDAP backend
Marius Mathiesen [Fri, 6 Jul 2012 12:39:23 +0000 (14:39 +0200)]
Support authorization for push with LDAP backend

When Gitorious is configured to use LDAP for authorization,
authorization for push needs to be done differently from

Rather than collecting all users who have push access and seeing if a
given user is included, we start off with the groups a user is member
of (from LDAP) and see if any of these have push access to the
repository. This is (mainly) because the list of users who are member
of a group lives in LDAP, not our database.

6 years agoDisplay group membership on profile page for any group implementation
Marius Mathiesen [Thu, 5 Jul 2012 12:08:34 +0000 (14:08 +0200)]
Display group membership on profile page for any group implementation

Added a convenience method for getting group memberships for a user in Team, use
this in view

6 years agoAdd documentation for bind user in sample authentication.yml
Marius Mathiesen [Tue, 3 Jul 2012 13:03:20 +0000 (15:03 +0200)]
Add documentation for bind user in sample authentication.yml

6 years agoSupport LdapGroup as committer
Marius Mathiesen [Fri, 8 Jun 2012 11:41:57 +0000 (13:41 +0200)]
Support LdapGroup as committer

- Complete LdapGroup names
- Support LdapGroup as committer in committerships
- Move fuzzy search for group into Team

6 years agoAdd validations to LdapGroup
Marius Mathiesen [Fri, 8 Jun 2012 10:54:33 +0000 (12:54 +0200)]
Add validations to LdapGroup

- First of all, member DNs should not contain the base DN
- Next, we will verify that the listed groups actually exist on
  the server

6 years agoSeems we've been rolling with a really antique LDAP library
Marius Mathiesen [Fri, 8 Jun 2012 10:53:03 +0000 (12:53 +0200)]
Seems we've been rolling with a really antique LDAP library

6 years agoSupport creating/updating projects with an LdapGroup as owner
Marius Mathiesen [Thu, 7 Jun 2012 12:55:58 +0000 (14:55 +0200)]
Support creating/updating projects with an LdapGroup as owner

- Extract more common behaviour in Group/LDapGroup

6 years agoSupport transferring ownership of a project to an LDAP team
Marius Mathiesen [Thu, 7 Jun 2012 12:27:26 +0000 (14:27 +0200)]
Support transferring ownership of a project to an LDAP team

- Also add lib/gitorious to ActiveSupport::Dependencies.load_once_paths
  to avoid "module unloaded" messages

6 years agoImprove browsing of (Ldap)Group.
Marius Mathiesen [Tue, 5 Jun 2012 13:42:31 +0000 (15:42 +0200)]
Improve browsing of (Ldap)Group.

LdapGroup owned projects now render correctly:
- Move LdapGroup url helpers into shared module
- Extract instance behaviors for Groups
- Extract partial for member listing in Groups#show

6 years agoClean up conditionals, replace with polymorphism
Marius Mathiesen [Tue, 5 Jun 2012 12:51:42 +0000 (14:51 +0200)]
Clean up conditionals, replace with polymorphism

6 years agoUnit test for Team, replace conditional with polymorphism
Marius Mathiesen [Tue, 5 Jun 2012 12:06:26 +0000 (14:06 +0200)]
Unit test for Team, replace conditional with polymorphism

6 years agoEnsure LdapGroup#ldap_group_names returns an array
Marius Mathiesen [Tue, 5 Jun 2012 09:04:43 +0000 (11:04 +0200)]
Ensure LdapGroup#ldap_group_names returns an array

6 years agoMatch LDAP-provided membership DNs to (internal) LdapGroups
Marius Mathiesen [Thu, 31 May 2012 13:13:42 +0000 (15:13 +0200)]
Match LDAP-provided membership DNs to (internal) LdapGroups

LDAP returns a list of groups a user is member of while Gitorious matches these DNs
to those LdapGroup objects registered with these DNs set up

6 years agoBuild an LDAP connection in the same way as for authentication
Marius Mathiesen [Thu, 31 May 2012 12:09:05 +0000 (14:09 +0200)]
Build an LDAP connection in the same way as for authentication

Ie: support encryption as well

6 years agoLet LdapGroup look up all LDAP group memberships for a user
Marius Mathiesen [Thu, 31 May 2012 12:06:55 +0000 (14:06 +0200)]
Let LdapGroup look up all LDAP group memberships for a user

Re-use configuration from LdapAuthentication

6 years agoMoving LDAP configuration into a separate class
Marius Mathiesen [Thu, 31 May 2012 11:51:17 +0000 (13:51 +0200)]
Moving LDAP configuration into a separate class

We will be re-using LDAP configuration specified for authentication when
using LDAP for authorization. Extracted this into a reusable module.

6 years agoRender the correct label
Marius Mathiesen [Tue, 29 May 2012 13:53:49 +0000 (15:53 +0200)]
Render the correct label

6 years agoDamn you, Rails
Marius Mathiesen [Tue, 29 May 2012 13:50:50 +0000 (15:50 +0200)]
Damn you, Rails

6 years agoAllow configuring which Team implementation to use
Marius Mathiesen [Tue, 29 May 2012 13:00:17 +0000 (15:00 +0200)]
Allow configuring which Team implementation to use

Added the configuration to environment.rb, seems to avoid some
of the missing constant issues we've seen before.

6 years agoDisplay, edit list of membering DNs in LdapGroups
Marius Mathiesen [Tue, 29 May 2012 12:41:38 +0000 (14:41 +0200)]
Display, edit list of membering DNs in LdapGroups

6 years agoStarting extraction of duplicated group/ldapgroup funcitonality into
Thomas Kjeldahl Nilsson [Tue, 22 May 2012 11:39:52 +0000 (13:39 +0200)]
Starting extraction of duplicated group/ldapgroup funcitonality into
common module GroupBehavior

6 years agoConsistency is nice
Thomas Kjeldahl Nilsson [Tue, 22 May 2012 06:34:57 +0000 (08:34 +0200)]
Consistency is nice

6 years agoFixed functionals
Thomas Kjeldahl Nilsson [Tue, 22 May 2012 06:33:47 +0000 (08:33 +0200)]
Fixed functionals

6 years agoExtracted rest of Team actions from controller, created LdapGroup
Thomas Kjeldahl Nilsson [Fri, 18 May 2012 13:52:03 +0000 (15:52 +0200)]
Extracted rest of Team actions from controller, created LdapGroup

6 years agoAbstracted the Group concept behind a Team api.
Thomas Kjeldahl Nilsson [Fri, 18 May 2012 11:56:11 +0000 (13:56 +0200)]
Abstracted the Group concept behind a Team api.

First step to swappable db, ldap etc strategies for Groups: abstract
it behind an API.

6 years agoVerifying current user group admin role directly instead of through
Thomas Kjeldahl Nilsson [Fri, 18 May 2012 10:54:15 +0000 (12:54 +0200)]
Verifying current user group admin role directly instead of through
auth fw.

Hitting the admin?(user, group) method in our Autorization framework
breaks in development mode due to problem reloading the
DatabaseAuthorization module. Working around this for now since we
don't currently need to hit ldap/database auth strategies for
determining group adminship.

6 years agoMoved init of auth strategies from initializer into actual class.
Thomas Kjeldahl Nilsson [Fri, 18 May 2012 09:59:18 +0000 (11:59 +0200)]
Moved init of auth strategies from initializer into actual class.

Classes are reloaded on each request in dev mode, instead of boot-time
as in production mode. Classes should if possible self-configure
instead of relying on boot-time initializers, to make sure per-request
reload works as expected.

6 years agoStarting on ldap group lookup independently of Gitorious env
Marius Mathiesen [Tue, 15 May 2012 13:48:59 +0000 (15:48 +0200)]
Starting on ldap group lookup independently of Gitorious env

6 years agoUpdate version tag
Marius Mathiesen [Mon, 8 Oct 2012 07:15:47 +0000 (09:15 +0200)]
Update version tag

6 years agoSet ENV["HOME"] to make resque work with SSH keys
Marius Mathiesen [Thu, 4 Oct 2012 12:15:33 +0000 (14:15 +0200)]
Set ENV["HOME"] to make resque work with SSH keys

6 years agoAdding a template for running Resque workers under Upstart
Marius Mathiesen [Thu, 4 Oct 2012 11:51:55 +0000 (13:51 +0200)]
Adding a template for running Resque workers under Upstart

6 years agoOh, and we'll need bin/bundle too!
Marius Mathiesen [Thu, 4 Oct 2012 11:49:40 +0000 (13:49 +0200)]
Oh, and we'll need bin/bundle too!

6 years agoFix Unicorn upstart script
Marius Mathiesen [Thu, 4 Oct 2012 11:32:19 +0000 (13:32 +0200)]
Fix Unicorn upstart script

bin/unicorn will chdir now, so we don't need to do that from the script.
Rather just use the full path.

6 years agoUse our awesome new bin/unicorn instead of the (now removed) script/unicorn
Marius Mathiesen [Thu, 4 Oct 2012 11:29:18 +0000 (13:29 +0200)]
Use our awesome new bin/unicorn instead of the (now removed) script/unicorn

6 years agoAdd bin/console and bin/create_user which runs with the correct environment
Marius Mathiesen [Thu, 4 Oct 2012 11:26:44 +0000 (13:26 +0200)]
Add bin/console and bin/create_user which runs with the correct environment

Also put deprecation warning in script/create_user, as we have a
replacement now.

6 years agoMake Rake happy by chdir-ing to RAILS_ROOT
Marius Mathiesen [Thu, 4 Oct 2012 11:17:01 +0000 (13:17 +0200)]
Make Rake happy by chdir-ing to RAILS_ROOT

6 years agoIntroducing $GITORIOUS_ROOT/bin for CLI work with Gitorious
Marius Mathiesen [Thu, 4 Oct 2012 11:03:12 +0000 (13:03 +0200)]
Introducing $GITORIOUS_ROOT/bin for CLI work with Gitorious

In order to make it easier to run Gitorious CLI tools directly,
without dealing with switching users, running `bundle exec` and so,
we're now shipping some preconfigured scripts inside bin/.

These scripts will load a functional Gitorious environment and (if
running in production mode) require that either the user configured in
gitorious.yml is used or switch to that user before running the
scripts. This means these scripts can be run either as the configured
user (usually "git") or by root (in which case the scripts will switch
to that user.

The first two CLI tools included are rake (which lets you invoke Rake)
and unicorn (which lets you run Unicorn).

6 years agoShip a rake wrapper that can be exec'ed without spawning a new shell
Marius Mathiesen [Thu, 4 Oct 2012 09:21:09 +0000 (11:21 +0200)]
Ship a rake wrapper that can be exec'ed without spawning a new shell

6 years agoFix misleading typo in unicorn wrapper script
Marius Mathiesen [Thu, 4 Oct 2012 09:20:42 +0000 (11:20 +0200)]
Fix misleading typo in unicorn wrapper script

6 years agoMake the functional tests pass with new empty cookie behaviour
Marius Mathiesen [Thu, 4 Oct 2012 09:07:47 +0000 (11:07 +0200)]
Make the functional tests pass with new empty cookie behaviour

The Set-Cookie response header will be nil, not an empty array now.

6 years agoStop Rails from sending empty Set-Cookie headers if no cookies are set
Marius Mathiesen [Thu, 4 Oct 2012 09:02:47 +0000 (11:02 +0200)]
Stop Rails from sending empty Set-Cookie headers if no cookies are set

This behaviour was dealt with by Passenger, Thin etc., but not when
running under Unicorn. This makes Gitorious support caching when running under Unicorn.

Manually backported from

6 years agoMake rake resque:work load processors
Marius Mathiesen [Thu, 4 Oct 2012 07:30:21 +0000 (09:30 +0200)]
Make rake resque:work load processors

6 years agoUpdate the gemfile.lock
Thomas Kjeldahl Nilsson [Wed, 3 Oct 2012 18:47:27 +0000 (20:47 +0200)]
Update the gemfile.lock

6 years agoStart using our new just_paginate gem instead of will_paginate
Thomas Kjeldahl Nilsson [Wed, 3 Oct 2012 18:32:48 +0000 (20:32 +0200)]
Start using our new just_paginate gem instead of will_paginate

We do the project index controller first, get around to the rest of
them as time permits. Goal is to rip out will_paginate altogether as
it's turned into multiple bugs over time.

6 years agoSupport REE cow-friendly GC, actually use number of workers
Marius Mathiesen [Wed, 3 Oct 2012 11:17:05 +0000 (13:17 +0200)]
Support REE cow-friendly GC, actually use number of workers

6 years agoProvide Upstart templates for git-daemons and git-proxy
Marius Mathiesen [Tue, 2 Oct 2012 11:12:15 +0000 (13:12 +0200)]
Provide Upstart templates for git-daemons and git-proxy

6 years agoCall setuid/setgid in script/git-proxy
Marius Mathiesen [Tue, 2 Oct 2012 11:08:33 +0000 (13:08 +0200)]
Call setuid/setgid in script/git-proxy

In able to use the git proxy from Upstart (in Upstart versions which
don't support setgid/setuid themselves) without needing an extra
shell (su -c or equivalent) we might as well do this ourselves.

If all these conditions are met:
- RAILS_ENV=production
- We're running as root
- gitorious.yml specifies gitorious_user

we will switch the script to the gid and uid of the specified user.

6 years agoUpstart, how I love thee.
Marius Mathiesen [Mon, 1 Oct 2012 12:00:55 +0000 (14:00 +0200)]
Upstart, how I love thee.

Start on startup it is.

6 years agoUse the sample Unicorn config file in sample Upstart recipe
Marius Mathiesen [Mon, 1 Oct 2012 11:35:34 +0000 (13:35 +0200)]
Use the sample Unicorn config file in sample Upstart recipe

6 years agoAdding Unicorn to gemfile
Marius Mathiesen [Mon, 1 Oct 2012 11:23:26 +0000 (13:23 +0200)]
Adding Unicorn to gemfile

Also including some starting points:

- A wrapper in script/unicorn, which spawns a Unicorn process with the
  correct environment and will not need to fork twice (which confuses
- A default Unicorn configuration file
- An Upstart recipe for controlling Unicorn

6 years agoSupport git-http under nginx
Marius Mathiesen [Fri, 28 Sep 2012 13:14:10 +0000 (15:14 +0200)]
Support git-http under nginx

6 years agoMerge branch 'master' of
Marius Mathiesen [Fri, 28 Sep 2012 12:52:02 +0000 (14:52 +0200)]
Merge branch 'master' of

6 years agoIntroducing support for Nginx X-Accel-Redirect configuration
Marius Mathiesen [Fri, 28 Sep 2012 12:51:34 +0000 (14:51 +0200)]
Introducing support for Nginx X-Accel-Redirect configuration

Set frontend_server: nginx to instruct Gitorious to use these headers
instead of X-Sendfile headers. Gitorious will use synthetic URIs for
this, which should be configured in Nginx; read the
doc/templates/nginx.sample.yml for details.

Furthermore, please note that git-http cloning is not yet supported
with this setup.

6 years agoMerge branch 'master' of
Thomas Kjeldahl Nilsson [Fri, 28 Sep 2012 11:45:22 +0000 (13:45 +0200)]
Merge branch 'master' of

6 years agoTemporary fix for private project pagination error=turn off pagination
Thomas Kjeldahl Nilsson [Fri, 28 Sep 2012 11:27:54 +0000 (13:27 +0200)]
Temporary fix for private project pagination error=turn off pagination

Registered bug in issue tracker for this, fix as part of pagination
rewrite later on.

6 years agoMerge commit 'refs/merge-requests/171' of
Marius Mathiesen [Fri, 28 Sep 2012 08:23:06 +0000 (10:23 +0200)]
Merge commit 'refs/merge-requests/171' of

6 years agoMerge commit 'refs/merge-requests/207' of into merge...
Thomas Kjeldahl Nilsson [Thu, 27 Sep 2012 17:26:07 +0000 (19:26 +0200)]
Merge commit 'refs/merge-requests/207' of into merge-requests/207


6 years agoMerge commit 'refs/merge-requests/2249' of into...
Thomas Kjeldahl Nilsson [Thu, 27 Sep 2012 17:12:00 +0000 (19:12 +0200)]
Merge commit 'refs/merge-requests/2249' of into merge-requests/2249

6 years agoMerge commit 'refs/merge-requests/201' of into merge...
Thomas Kjeldahl Nilsson [Thu, 27 Sep 2012 17:05:13 +0000 (19:05 +0200)]
Merge commit 'refs/merge-requests/201' of into merge-requests/201

6 years agoMerge commit 'refs/merge-requests/215' of into merge...
Thomas Kjeldahl Nilsson [Thu, 27 Sep 2012 17:01:11 +0000 (19:01 +0200)]
Merge commit 'refs/merge-requests/215' of into merge-requests/215

6 years agoFix accidental revert.
Scott Allen [Thu, 27 Sep 2012 14:15:41 +0000 (16:15 +0200)]
Fix accidental revert.

6 years agoPrevent cloning of Private Repos
Scott Allen [Tue, 25 Sep 2012 21:44:26 +0000 (23:44 +0200)]
Prevent cloning of Private Repos

6 years ago'git push' only works with http and ssh urls. The old error message
Susanne Oberhauser [Tue, 25 Sep 2012 11:10:50 +0000 (13:10 +0200)]
'git push' only works with http and ssh urls.  The old error message
from the server mostly stated the problem, however it was not obvious
that the url needs to be changed.  The new error message gives a tad
more guidance how to fix the problem.

6 years agoMerge branch 'master' of
Thomas Kjeldahl Nilsson [Tue, 25 Sep 2012 07:14:00 +0000 (09:14 +0200)]
Merge branch 'master' of

6 years agoFix typo in error message
Thomas Kjeldahl Nilsson [Tue, 25 Sep 2012 07:13:41 +0000 (09:13 +0200)]
Fix typo in error message

6 years agoFix bug #134: head vcs links broken
Christian Weiske [Fri, 21 Sep 2012 17:32:22 +0000 (19:32 +0200)]
Fix bug #134: head vcs links broken

The rel=vcs-* microformat specifies
that the link relation is "vcs-" + $typeOfVersioncontrol, which means
"vcs-git" for gitorious - no matter what transport.

6 years agoUpping tagged version to 2.3.0
Thomas Kjeldahl Nilsson [Thu, 20 Sep 2012 11:40:28 +0000 (13:40 +0200)]
Upping tagged version to 2.3.0

6 years agoRe-add missing sharding option in sample config file
Thomas Kjeldahl Nilsson [Thu, 20 Sep 2012 09:25:58 +0000 (11:25 +0200)]
Re-add missing sharding option in sample config file

6 years agoMerge branch 'master' of
Thomas Kjeldahl Nilsson [Tue, 18 Sep 2012 08:27:29 +0000 (10:27 +0200)]
Merge branch 'master' of

6 years agorepo symlink mirror rake task now only mirrors public repos, uses default path
Thomas Kjeldahl Nilsson [Tue, 18 Sep 2012 08:27:13 +0000 (10:27 +0200)]
repo symlink mirror rake task now only mirrors public repos, uses default path

6 years agoConnect project proposal with emitted messages, add context link to message
Marius Mathiesen [Fri, 14 Sep 2012 13:34:38 +0000 (15:34 +0200)]
Connect project proposal with emitted messages, add context link to message

The inline link in the project proposal notification just didn't cut it

6 years agoDisallowing force push disables remote tag *deletion*
Marius Mathiesen [Fri, 14 Sep 2012 12:57:10 +0000 (14:57 +0200)]
Disallowing force push disables remote tag *deletion*

6 years agoMake sure to update gem dependencies during upgrade
Thomas Kjeldahl Nilsson [Wed, 12 Sep 2012 10:36:21 +0000 (12:36 +0200)]
Make sure to update gem dependencies during upgrade

6 years agoMake param passing to script/{snapshot,restore} more intuitive
Thomas Kjeldahl Nilsson [Wed, 12 Sep 2012 10:16:54 +0000 (12:16 +0200)]
Make param passing to script/{snapshot,restore} more intuitive

6 years agoAdd convenience script for upgrading to newer tagged releases.
Thomas Kjeldahl Nilsson [Tue, 11 Sep 2012 12:22:20 +0000 (14:22 +0200)]
Add convenience script for upgrading to newer tagged releases.

Also adds an undo script to roll back last attempted upgrade.

6 years agoMerge branch 'master' into backup-scripts
Thomas Kjeldahl Nilsson [Tue, 11 Sep 2012 08:17:45 +0000 (10:17 +0200)]
Merge branch 'master' into backup-scripts

6 years agoAdded backup util scripts backup-scripts
Thomas Kjeldahl Nilsson [Tue, 11 Sep 2012 07:55:39 +0000 (09:55 +0200)]
Added backup util scripts

6 years agoFix an issue preventing SSH access from functioning
Marius Mathiesen [Tue, 11 Sep 2012 07:32:24 +0000 (09:32 +0200)]
Fix an issue preventing SSH access from functioning

Since SSH sessions run outside a full Rails environment, explicitly
load RepositoryRoot, which is used to locate repositories on disk.

6 years agoStarted adding more convenience /script commands, more to come
Thomas Kjeldahl Nilsson [Fri, 7 Sep 2012 20:10:06 +0000 (22:10 +0200)]
Started adding more convenience /script commands, more to come

6 years agoMerge branch 'master' of
Thomas Kjeldahl Nilsson [Fri, 7 Sep 2012 19:33:55 +0000 (21:33 +0200)]
Merge branch 'master' of

6 years agoAdd convenience script command for diagnostics
Thomas Kjeldahl Nilsson [Fri, 7 Sep 2012 19:33:26 +0000 (21:33 +0200)]
Add convenience script command for diagnostics

6 years agoFix an earlier bad decision in the diagnostics module/task
Thomas Kjeldahl Nilsson [Fri, 7 Sep 2012 19:24:54 +0000 (21:24 +0200)]
Fix an earlier bad decision in the diagnostics module/task

Got overly "clever" recently and made diagnostics sudo-only, + rewrote
authorized key check to be run by su/root. Bad idea, didn't work,
reverting, will hide complexity by instead creating a script/diagnose
helper command.

6 years agoExtracting repository root into a separate class
Marius Mathiesen [Thu, 6 Sep 2012 11:43:39 +0000 (13:43 +0200)]
Extracting repository root into a separate class

We will introduce support for several repository roots for large
installs. This commit extracts all knowledge of where repositories
reside into a separate class which will eventually map a single .git
to one of several directories (potentially on different file systems).

For now, only a single repository root exists: the one specified in

6 years agoDon't perform fragment caching with private repositories on
Marius Mathiesen [Tue, 4 Sep 2012 11:34:16 +0000 (13:34 +0200)]
Don't perform fragment caching with private repositories on

Add and use a cache helper that will only cache fragments when private
repositories are turned off. This resolves issue #132.

6 years agoShould only allow a key to be used once site-wide
Thomas Kjeldahl Nilsson [Mon, 3 Sep 2012 18:48:10 +0000 (20:48 +0200)]
Should only allow a key to be used once site-wide

Avoids weirdness like reportd in bug ticket #115

6 years agoMake backup raketasks less noisy when files are missing
Thomas Kjeldahl Nilsson [Mon, 3 Sep 2012 18:04:43 +0000 (20:04 +0200)]
Make backup raketasks less noisy when files are missing

6 years agoMake curl less noisy during diagnostics
Thomas Kjeldahl Nilsson [Mon, 3 Sep 2012 17:57:09 +0000 (19:57 +0200)]
Make curl less noisy during diagnostics

6 years agopublic:images: images shouldn't be executable.
W. Trevor King [Mon, 3 Sep 2012 17:48:31 +0000 (13:48 -0400)]
public:images: images shouldn't be executable.

6 years agoHACKING: fix allthough -> although typo.
W. Trevor King [Mon, 3 Sep 2012 17:26:20 +0000 (13:26 -0400)]
HACKING: fix allthough -> although typo.

6 years agoAdded simple curl test to check that front web page is up
Thomas Kjeldahl Nilsson [Wed, 29 Aug 2012 17:28:39 +0000 (19:28 +0200)]
Added simple curl test to check that front web page is up