5 years agoRemove referenced read access when teams are removed
Marius Mathiesen [Tue, 28 Aug 2012 09:26:00 +0000 (11:26 +0200)]
Remove referenced read access when teams are removed

5 years agoIntroduce LdapGroup#memberships
Marius Mathiesen [Tue, 28 Aug 2012 08:09:56 +0000 (10:09 +0200)]
Introduce LdapGroup#memberships

*Very* simplistic, will list only direct members and ignore several
 attributes (role, created at etc). But it does make it possible to
 follow the link from a project to its members.

5 years agoMake username transformation shareable
Marius Mathiesen [Fri, 20 Jul 2012 12:30:17 +0000 (14:30 +0200)]
Make username transformation shareable

Also some minor things:
- don't throw an error when viewing a user without LDAP group memberships
- don't debug LDAP output to stdout

5 years agoOne more
Marius Mathiesen [Fri, 20 Jul 2012 08:09:20 +0000 (10:09 +0200)]
One more

5 years agoWhoops
Marius Mathiesen [Fri, 20 Jul 2012 08:07:03 +0000 (10:07 +0200)]

5 years agoMore debugging: normalize login when searching for users
Marius Mathiesen [Fri, 20 Jul 2012 08:06:12 +0000 (10:06 +0200)]
More debugging: normalize login when searching for users

5 years agoAdding some debug statements
Marius Mathiesen [Fri, 20 Jul 2012 08:03:25 +0000 (10:03 +0200)]
Adding some debug statements

5 years agoFixed a typo in sample config file
Marius Mathiesen [Fri, 20 Jul 2012 07:50:32 +0000 (09:50 +0200)]
Fixed a typo in sample config file

5 years agoIntroducing support for using a different base DN when searching for groups
Marius Mathiesen [Fri, 20 Jul 2012 07:42:38 +0000 (09:42 +0200)]
Introducing support for using a different base DN when searching for groups

When using LDAP groups for authorization, we now support specifying a
different DN when searching for groups. By default, the same base_dn
as is used for authentication is used.

5 years agoHaving build_username private made test_ldap_connection give an error on invalid...
Marius Mathiesen [Thu, 19 Jul 2012 10:35:59 +0000 (12:35 +0200)]
Having build_username private made test_ldap_connection give an error on invalid password

5 years agoSupport authenticated bind in LDAP.
Marius Mathiesen [Thu, 19 Jul 2012 10:26:53 +0000 (12:26 +0200)]
Support authenticated bind in LDAP.

Many LDAP installations use a two-step authentication scheme:
- first you connect with an unprivileged user's credentials
- once that is done, connect with the real user

This is supported in Net::LDAP through the bind_as method, which will:
- bind as the bind user
- do a search (as the bind user) for a user record with the provided
  username and password
- if this matches too, let the user in

Gitorious now handles situations where no bind_user section was specified
in authentication.yml.

5 years agoMove inline classes out of same file
Marius Mathiesen [Tue, 17 Jul 2012 09:14:08 +0000 (11:14 +0200)]
Move inline classes out of same file

5 years agoDelegate group finder methods directly
Marius Mathiesen [Tue, 17 Jul 2012 09:01:32 +0000 (11:01 +0200)]
Delegate group finder methods directly

5 years agoInclude member list in Groups#new
Marius Mathiesen [Thu, 12 Jul 2012 13:37:48 +0000 (15:37 +0200)]
Include member list in Groups#new

5 years agoBetter add a failing test for private repositories as well
Marius Mathiesen [Thu, 12 Jul 2012 12:53:39 +0000 (14:53 +0200)]
Better add a failing test for private repositories as well

5 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)

5 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

5 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.

5 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

5 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

5 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.

5 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

5 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

5 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

5 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

5 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.

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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.

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

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

5 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.

5 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

5 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

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

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

5 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

5 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.

5 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.

5 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.

5 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

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

5 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

5 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

5 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!

5 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.

5 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

5 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.

5 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

5 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).

5 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

5 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

5 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.

5 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

5 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

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

5 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.

5 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

5 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

5 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.

5 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.

5 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

5 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

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

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

5 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.

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

5 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.

5 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

5 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


5 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

5 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

5 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

5 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.