* preventing destructive operations to central repository
@ 2010-04-16 0:39 Brendan Miller
2010-04-16 0:58 ` Jay Soffian
0 siblings, 1 reply; 3+ messages in thread
From: Brendan Miller @ 2010-04-16 0:39 UTC (permalink / raw)
To: git
Let's say you have a bare git repository writeable by a number of
different people. How do you prevent them from borking the central
repository?
Also, is there an automated mechanism to ensure that the timeline
stays clean? Say, force people to rebase their repositories before
merging into the shared repository?
Thanks
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: preventing destructive operations to central repository
2010-04-16 0:39 preventing destructive operations to central repository Brendan Miller
@ 2010-04-16 0:58 ` Jay Soffian
2010-04-16 1:03 ` Shawn O. Pearce
0 siblings, 1 reply; 3+ messages in thread
From: Jay Soffian @ 2010-04-16 0:58 UTC (permalink / raw)
To: Brendan Miller; +Cc: git
On Thu, Apr 15, 2010 at 8:39 PM, Brendan Miller <catphive@catphive.net> wrote:
> Let's say you have a bare git repository writeable by a number of
> different people. How do you prevent them from borking the central
> repository?
Depends what you mean by borking, but you might consider starting with
reading the "git config" man page for the following entries:
- receive.denyDeletes
- receive.denyNonFastForwards
> Also, is there an automated mechanism to ensure that the timeline
> stays clean? Say, force people to rebase their repositories before
> merging into the shared repository?
In order to prevent merges, you will need to use a a receive-pack hook such as:
http://lists.gnu.org/archive/html/bug-gnulib/2008-10/msg00221.html
You might also consider something like gitosis/gitolite/gerrit
depending upon how formal you want to be.
j.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: preventing destructive operations to central repository
2010-04-16 0:58 ` Jay Soffian
@ 2010-04-16 1:03 ` Shawn O. Pearce
0 siblings, 0 replies; 3+ messages in thread
From: Shawn O. Pearce @ 2010-04-16 1:03 UTC (permalink / raw)
To: Jay Soffian; +Cc: Brendan Miller, git
Jay Soffian <jaysoffian@gmail.com> wrote:
> On Thu, Apr 15, 2010 at 8:39 PM, Brendan Miller <catphive@catphive.net> wrote:
> > Let's say you have a bare git repository writeable by a number of
> > different people. How do you prevent them from borking the central
> > repository?
>
> Depends what you mean by borking, but you might consider starting with
> reading the "git config" man page for the following entries:
>
> - receive.denyDeletes
> - receive.denyNonFastForwards
>
> > Also, is there an automated mechanism to ensure that the timeline
> > stays clean? Say, force people to rebase their repositories before
> > merging into the shared repository?
>
> In order to prevent merges, you will need to use a a receive-pack hook such as:
>
> http://lists.gnu.org/archive/html/bug-gnulib/2008-10/msg00221.html
>
> You might also consider something like gitosis/gitolite/gerrit
> depending upon how formal you want to be.
I think his only choice is to install a gitosis/gitolite/gerrit
solution. Basically he needs to completely remove write access
to the repository, so developers can't muck with it directly.
That requires one of those 3 tools to provide secured proxy access.
On top of those, yea, you would then also want to configure the
receive.denyDeletes and denyNonFastForwards you mentioned above,
as well as maybe also write a custom update or pre-receive hook to
prevent merges from entering the repository.
Though preventing merges is a bit pedantic. Eventually you'll want
to use a merge rather than a rebase (e.g. merge in a maintenance
branch to pick up its bug fixes into the main development trunk).
--
Shawn.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-04-16 1:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-16 0:39 preventing destructive operations to central repository Brendan Miller
2010-04-16 0:58 ` Jay Soffian
2010-04-16 1:03 ` Shawn O. Pearce
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).