Hi again,

Christoph Groth wrote:

> I didn’t say that everything should be squashed to one commit.  I just said
> that I think that the policy “explicit merges always” is not a good one.  I
> think it’s preferable to rebase a smallish isolated commit instead of
> merging it (this creates two commits and a more complex history graph).
> Gitlab actually has a feature to try to rebase a merge request and to apply
> it to the top if it rebases cleanly, but only in the “enterprise version”…

I agree, strict only-merge isn't crucial for minor fixes and clean
commits. The benefit of the Gitlab enterprise is mostly about GUI.

> For more complicated topic branches that consist of several commits it may
> be even clearer to merge them, as this groups the commits together and gives
> them a common name.  This is certainly true for feature branches with a
> convoluted history.  For feature branches that consist of a clean series of
> commits, I think it doesn’t matter so much whether they are merged or
> applied at the top.

I think this history http://antonakhmerov.org/misc/first-parent.png
can even be easier to navigate than Kwant history because the thematic
grouping of commits is explicit.

> The ability to participate in discussions by replying to email messages is
> already very nice.  Is it possible to make the emails sent by gitlab pure
> text (no HTML)?

It seems that all emails are controlled by templates:
https://gitlab.com/gitlab-org/gitlab-ce/tree/master/app/views/notify.
Probably erasing the html template one can make it pure plain text.
But it's a multipart message with plaintext seeming having all the
information, so I'm not sure whether it's important.

> Ideally, I think, it would be great if all the discussions could be mirrored
> to a mailing list (that could be a dedicated list, or, if the volume is
> acceptable, kwant-devel).  This would provide a convenient way to watch for
> new things without having to poll the website regularly.

* Having a gitlab account one can also sign up to all notifications
directly without a mailing list.
* It's also quite easy to sign up the mailing list to a custom subset
of notifications.
* Finally there are activity feeds as well.

> Well, I think even if we setup a gitlab instance, there will be still a
> barrier for people who live exclusively on github.  So it may be a good idea
> to have a github mirror of Kwant as well.  If we disable issues, we do not
> force anyone to use github, so if there is some volunteer to look out for
> PRs on github, that might be useful.

Sure, why not.

> While I like its more proper support for iterative code review, phabricator
> seems to be quite intrusive in various ways (It insists on adding cruft to
> all commit messages, for example).

I agree.

> If I undertand corretly, Gitlab, on the other hand, can be used as a mere
> git respository hosting server (like gitolite), so it does not force us to
> use any of its extra features.

It indeed supports a minimal mode of operation indeed, but we may as
well use several of its features: issue tracker, CI, and merge request
review.

Best,
Anton


On Tue, Oct 20, 2015 at 6:52 PM, Christoph Groth <christoph.gr...@cea.fr> wrote:
> Joseph wrote:
>
>> Christoph wrote:
>
>
>>> • (a3) Unnecessary merges are avoided.  Some people like a policy where
>>> each set of patches is merged explicitly.  I think this is bogus.  If a
>>> change can be put as a single commit (as it is the case very often), it
>>> should be best applied as a single commit on top of the current history.
>>> Unnecessary merges obscure the project history and make relations between
>>> features less evident.  This makes understanding the history much more
>>> complicated, and things like bi-secting for a bug work less well.
>>
>>
>> I would like to contest the point that a set of commits should be squashed
>> into a single one.
>
>
> I didn’t say that everything should be squashed to one commit.  I just said
> that I think that the policy “explicit merges always” is not a good one.  I
> think it’s preferable to rebase a smallish isolated commit instead of
> merging it (this creates two commits and a more complex history graph).
> Gitlab actually has a feature to try to rebase a merge request and to apply
> it to the top if it rebases cleanly, but only in the “enterprise version”…
>
> For more complicated topic branches that consist of several commits it may
> be even clearer to merge them, as this groups the commits together and gives
> them a common name.  This is certainly true for feature branches with a
> convoluted history.  For feature branches that consist of a clean series of
> commits, I think it doesn’t matter so much whether they are merged or
> applied at the top.
>
>> While this is a very admirable goal, I think that what is more important
>> is having a standard workflow that everyone can use. This lowers the barrier
>> to entry to new contributors. Currently the "you can contribute however you
>> like!" strategy is very nice if somebody already knows how to contribute to
>> an open-source project, but for a newcomer it is impossible to get off the
>> ground without some standard way of doing things. Of course the Standard Way
>> should probably also be the way the maintainers typically work, as they will
>> be the ones doing the review + making the most contributions.
>
>
> The ability to participate in discussions by replying to email messages is
> already very nice.  Is it possible to make the emails sent by gitlab pure
> text (no HTML)?
>
> Ideally, I think, it would be great if all the discussions could be mirrored
> to a mailing list (that could be a dedicated list, or, if the volume is
> acceptable, kwant-devel).  This would provide a convenient way to watch for
> new things without having to poll the website regularly.
>
>> The above improvements to the workflow can all be provided by either of
>> the tools proposed, however it is useful to have them preserved for
>> posterity here on the mailing list.
>
>
> Well, I think even if we setup a gitlab instance, there will be still a
> barrier for people who live exclusively on github.  So it may be a good idea
> to have a github mirror of Kwant as well.  If we disable issues, we do not
> force anyone to use github, so if there is some volunteer to look out for
> PRs on github, that might be useful.
>
>>> Before we continue with evaluating various tools, let’s first discuss
>>> what we would like to have.  I’m looking forward to your comments.
>>
>>
>> Essentially the features that you raised above. I think a transparent way
>> to do code review is important. Neither Phabricator nor Gitlab is perfect in
>> this respect. Phabricator only stores the diffs, not the commits that led to
>> a diff. This means that if a maintainer merges some accepted changes then
>> these are necessarily in one big commit. This can be annoying if someone has
>> implemented some feature with nontrivial changes where it makes sense to
>> keep the commits separate. In Gitlab the problem is that there is no history
>> of a patchset kept when dealing with merge requests[1] (although I have an
>> idea as to how this could be fixed).
>
>
> While I like its more proper support for iterative code review, phabricator
> seems to be quite intrusive in various ways (It insists on adding cruft to
> all commit messages, for example).
>
> If I undertand corretly, Gitlab, on the other hand, can be used as a mere
> git respository hosting server (like gitolite), so it does not force us to
> use any of its extra features.
>
> Christoph

Reply via email to