[Kde-scm-interest] On Amarok Switching to Git
Robert Wohlrab
robert.wohlrab at gmx.de
Sun Jan 18 17:15:43 CET 2009
On Sunday 18 January 2009 16:52:18 Ian Monroe wrote:
[..]
> > * who will have push rights? To which branches? Who can create branches?
> > Which branches/repos will allow force-pushes?
> Well everyone will have push rights. I don't know what a force push is.
Normally you can only push if you do a fast forward push (I know that your
local branch can have names you want but I assume in this example that
branches on server and your branches have the same name and your branches
track the branches on the server)
server:
A -- B -- C <- master
You:
A -- B -- C -- D -- F <- master
This works wonderful and server will have
A -- B -- C -- D -- F <- master
afterwards
But you can some cruel things like moving your HEAD (master in this case) to
an older commit or a commit which is not a (grand^x)son of the current commit
and force that the server should do the same
Server
A -- B -- C -- D -- F <- master
You:
A -- B -- C -- D -- F <- local_branch_blablub (which will not get pushed)
\
-- K -- J <- master
A normal git push will give you a "dont do that" but you can force it by using
-f flag. If the server things you are allowed to do such thing the server will
end in following situation:
A -- B -- K -- J <- master
The next one which wants to pull and had server's previous master must do a
merge (or reseting his own master branch - which he will not do of course). So
it will end up in something like:
A -- B -- C -- D -- F
\ \
-- K -- J -- L <- master
As you can see it isn't a good idea to do a forced push.
Please note that git tracks everything by its sha1. So rebasing a branch will
change its sha1's and you will get the same stuff as above. So I would say
nobody should have forced push rights access to the official branches. But
this is something your guys have to "auskaspern" (sry, don't know an
equivalent word in english - just speak with other amarok devs what they think
about forced pushs)
> > * the general layout of the server hierarchy (Amarok may be the first,
> > but we hope it's not the last, so we need some future-proofing)
>
> I don't understand why? The Amarok git repo can move around in future.
But good designs will not move around. We can do the "lets just do it and
change it in the future sometimes" or the "lets design it in a sane way so we
can build on it" approach. I dont know which one is the right solution but one
of them is the definitely the wrong.
> > And most importantly:
> > * who is going to do all this work?
> >
> > I'm not volunteering.
>
> Well I did... though obviously I can't volunteer the sysadmins and
> will need some help. Why I sent this email. :)
Did you try to convert the whole/partial/whatever repo of amarok and checked
if it you get a good result (checked with graphical tools and give the repo to
a guy with more experience(tm)?).
--
Robert Wohlrab
More information about the Kde-scm-interest
mailing list