From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 39C522119C89B for ; Wed, 12 Dec 2018 05:20:31 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A5A3D4E92D; Wed, 12 Dec 2018 13:20:30 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-211.rdu2.redhat.com [10.10.120.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id F0DA9105706A; Wed, 12 Dec 2018 13:20:25 +0000 (UTC) To: "edk2-devel@lists.01.org" References: <4330857f-4e27-632f-6f82-6fc6ec636b2e@linux.intel.com> Cc: stephano , =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= , Ruiyu Ni From: Laszlo Ersek Message-ID: <2ed6d9d8-95f9-8d96-5811-7cd7013e0a99@redhat.com> Date: Wed, 12 Dec 2018 14:20:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <4330857f-4e27-632f-6f82-6fc6ec636b2e@linux.intel.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 12 Dec 2018 13:20:30 +0000 (UTC) Subject: GitLab results from my POV [was: Research Request] X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Dec 2018 13:20:32 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Hi, On 11/14/18 19:34, stephano wrote: > We are currently researching several different options to help make > contributing to TianoCore easier for the community. A big part of this > effort will be enabling pull requests and allowing for a more > customizable code review process. > > I am looking for members of the community willing to answer a few > questions about these solutions to allow us to evaluate our options > quickly. The options are: > > System/Tool        Investigator > Phabricator        Rebecca Cran (thank you again :) ) > Github            ??? > Gerrit            ??? > Gitlab            ??? > > I have a list of questions that I can send out to each investigator. > Assuming you are familiar with the software/system, these questions > should be answerable with a couple hours of research, writing, and > screenshots / examples. > > Thanks in advance for your help! So Phil and I worked on evaluating GitLab. Phil opened a merge request (MR#2) at , and we used that for the evaluation. It was a multi-patch series. Here's how it went. (1) I couldn't make comments tied to the commit messages of the patches. I could make generic comments on the merge request itself. I could also make code location-tied comments on the individual commits. So this was a mixed result. (2) The WebUI is incredibly resource hungry, in my Firefox setup anyway. Even while just scrolling the diffs with the mouse wheel, one CPU of my laptop was pegged at 100%, and the visual response lagged *hugely* after my manual mouse actions. This affected "alt text" displays for icons, and clicking icons/buttons as well. It was so annoying it made me *not* want to look at the subject patch set at all, just so I could stop dealing with the UI. (3) I managed to figure out a way for fetching the topic branch that was pending review / the merge request. So that was good. (4) Once Phil force-pushed a non-ff update, the old branch head was lost in the sense that (a) it was apparently no longer "named" by anything, (b) I could no longer refer to the v1 history on a commit-by-commit basis, only as a cumulative diff. First, I could only compare the cumulative diffs between v1 and v2. Second, my v1 comments lost their contexts -- they were displayed near the code snippets where I had made them, but they were no longer connected to individual commits. I found this extremely confusing -- basically, the commit boundaries and the discussion contexts were lost for v1. (5) I received *zero* emails about my own actions, and I couldn't figure out where I could change that. (In GitHub at least there's an obscure setting that can be toggled -- Brian Johnson told me about that, thanks again.) (6) As I was about to add another comment to MR#2, Phil did something (I'm unsure what -- maybe the action was the opening of MR#3?) that killed MR#2 altogether. All the comments, even the MR#2 summary, were lost. The first symptom that made me notice this was that when I clicked the "Comment" button under MR#2, GitLab complained that there must have been a network error, because saving the comment failed. In reality MR#2 had been killed by then -- I realized that when I attempted to reload MR#2 in full. See . Note that the above summary may be incomplete. Due to a combination of (5) and (6), that is, due to no emails of my own actions and due to MR#2 vanishing without a trace, I can't re-read our discussion in MR#2. Quite unintentionally, this ended up being *splendid* evidence why I absolutely insist on a complete email audit trail. If I missed various aspects of GitLab (which is quite likely), please do educate me. I don't mean to say that everyone else should stop investigating GitLab -- perhaps more seasoned GitLab users can fill the potholes I fell into. After having looked at GitHub, Phabricator, and GitLab, my personal preference remains the mailing list. A *distant* second is GitHub. (GitHub is "almost there", but its emails significantly lack context.) And Phabricator and GitLab just don't cut it for me; Phabricator doesn't map to multi-patch series to begin with, and GitLab is too resource hungry, and it did a terrible job (for me anyway) preserving history. Can someone setup Gerrit for a test drive?... (Honestly, at this point, I'm slightly scared/prejudiced of what I might find there.) Thanks, Laszlo