[Kde-scm-interest] Re: Request regarding Git branches

Mark Kretschmann kretschmann at kde.org
Mon Dec 20 19:48:44 CET 2010


On Mon, Dec 20, 2010 at 6:22 PM, Torgny Nyblom <kde at nyblom.org> wrote:
> On Mon, 20 Dec 2010 13:21:17 +0100
> Mark Kretschmann <kretschmann at kde.org> wrote:
>
>> On Sun, Dec 19, 2010 at 9:52 PM, Ian Monroe <ian at monroe.nu> wrote:
>> > On Sun, Dec 19, 2010 at 11:55, Mark Kretschmann <kretschmann at kde.org> wrote:
>> >> On Sun, Dec 19, 2010 at 6:48 PM, Torgny Nyblom <kde at nyblom.org> wrote:
>> >>> On Sun, 19 Dec 2010 18:39:52 +0100
>> >>> Mark Kretschmann <kretschmann at kde.org> wrote:
>> >>>
>> >>>> Hey folks,
>> >>>>
>> >>>> I have a small request regarding git.kde.org, it resulted from a
>> >>>> discussion with Chani:
>> >>>>
>> >>>> Problem is, we cannot currently force-push on branches, nor can we
>> >>>> delete them. I can understand that this is done for safety reasons,
>> >>>> but it does not fit everyone's work flow. E.g. I tend to rebase a lot,
>> >>>> and that does not work without force pushing.
>> >>>>
>> >>>> So, Chani and I came up with this idea: We could allow force-pushing
>> >>>> and deleting on branches (shares branches need communication anyway),
>> >>>> but we could disallow it for master. This way, not much harm can be
>> >>>> done, but it allows for a more flexible work flow.
>> >>>>
>> >>>>
>> >>>> Thoughts?
>> >>>
>> >>> It would have to be a per branch setting as for instance KDE 4.7 will probably be in a lot of git branches and quite some harm can be done with force push/branch deletion there.
>> >>
>> >> My view is this: If you share a branch with others, you *need* to
>> >> communicate anyway. I you just rebase it, of course that will do harm.
>> >>
>> >> So you don't rebase on branches that you want for cooperation, simple
>> >> as that. I think that a "per branch" setting would cause a lot of
>> >> work...
>> >
>> > Rebasing a 4.7 branch over master would be a horrible thing to have
>> > happen. So it really can't be allowed for version branches.
>>
>> That I can agree with. However, version branches are not of direct
>> importance to every developer. Ideally, some Git Ninja should watch
>> over them, and maybe do the merges, or revert things.
>>
>> Personally I work on feature branches, and without force-pushing, the
>> branches are entirely useless to me. You could argue that I should
>> simply use a public clone and do there whatever I want. But then, what
>> are the branches good for? De facto, they are currently being used for
>> doing features, and not only release management.
>
> Yes and all of this would be covered with "per branch" settings.
> How this is implemented is another thing, it could be "branches that match regexp" and rules foo and other rules bar.

You have a point there. How about this:

Per default, force-pushing is allowed in branches. But some important
branches (like version branches) become protected.

Is that a workable compromise?

-- 
Mark Kretschmann
Amarok Developer, Software Engineer at KO GmbH
Fellow of the Free Software Foundation Europe
http://amarok.kde.org - http://fsfe.org - http://kogmbh.com


More information about the Kde-scm-interest mailing list