From: "Philip Oakley" <philipoakley@iee.org>
To: "Ramkumar Ramachandra" <artagnon@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>
Cc: "Jordan DE GEA" <jordan.de-gea@grenoble-inp.org>,
"Michael Haggerty" <mhagger@alum.mit.edu>,
"Git List" <git@vger.kernel.org>,
<erwan.mathoniere@grenoble-inp.org>,
<samuel.groot@grenoble-inp.org>, <tom.russello@grenoble-inp.org>,
"Matthieu Moy" <Matthieu.Moy@grenoble-inp.fr>,
"Jeff King" <peff@peff.net>
Subject: Re: [PATCHv4] Documentation: triangular workflow
Date: Sat, 11 Jun 2016 20:31:46 +0100 [thread overview]
Message-ID: <5A8F8EE0162B49818813DAEFD68F61DA@PhilipOakley> (raw)
In-Reply-To: CALkWK0nJDwH27V9B+X2K=c_X2k82ZXnab1r1zR6_axipxT5gkg@mail.gmail.com
From: "Ramkumar Ramachandra" <artagnon@gmail.com>
> Junio C Hamano wrote:
>> Jordan DE GEA wrote:
>>
>> > +* Allows contributors to work with Git even though they do not have
>> > +write access to **UPSTREAM**.
>> >
>> > +* Allows maintainers to receive code from contributors they may not
>> > +trust.
>
> Triangular workflow is the ability to accept changes from contributors
> without mailing patches back-and-forth. Whether they send a pull
> request or
> commit directly to the master repository
Surely, if they can do this then they do not need a distinct publish repo.
The triangle is necessary because of the accessibility 'standoff' between
the upstream and local repos when a pull workflow is used.
Matthieu had clarified this (to me
http://article.gmane.org/gmane.comp.version-control.git/296538) - I was (at
that time) confusing the use of the fork as a home vault (with passive
publishing) with the need for actively publishing a branch for a PR.
> when review is
> done, is inconsequential. Essentially, they maintain forks of
> upstream, which they work on at their own pace.
>
>> > +* Code review is more efficient
>>
>> I have no idea what data you have to back this claim up. More
>> efficient compared to what?
>
> They're orthogonal. LLVM has one giant SVN server that everyone
> commits directly to. However, they review process is a lot more
> efficient than GitHub projects, because they use Phabricator. What
> does code review tool have to do with triangular workflow?
>
>> > +Preparation
>> > +~~~~~~~~~~~
>> > +
>> > +Cloning from **PUBLISH**, which is a fork of **UPSTREAM** or an empty
>> > +repository.
>> > +
>> > +======================
>> > +`git clone <PUBLISH_url>`
>> > +======================
>> > +
>> > +Setting the behavior of push for the triangular workflow:
>> > +
>> > +===========================
>> > +`git config push.default current`
>> > +===========================
>> > +
>> > +Adding **UPSTREAM** remote:
>> > +
>> > +===================================
>> > +`git remote add upstream <UPSTREAM_url>`
>> > +===================================
>> > +
>> > +With the `remote add` above, using `git pull upstream` pulls there,
>> > +instead of saying its URL. In addition, `git pull` can pull from
>> > +**UPSTREAM** without argument.
>> > +
>> > +For each branch requiring a triangular workflow, set
>> > +`branch.<branch>.remote` and `branch.<branch>.pushRemote`.
>> > +
>> > +Example with master as <branch>:
>> > +===================================
>> > +* `git config branch.master.remote upstream`
>> > +* `git config branch.master.pushRemote origin`
>> > +===================================
>
> It's much too simple now. Just `git clone <upstream>`, `git remote add
> mine <fork-url>`, and `git config remote.pushdefault mine`. Only the
> last line requires an explanation.
I note that you use 'mine', Jordan was proposing 'me', while I started using
'my'. It is useful to see these personal choices, especially as there is no
'origin' in the nominal triangular flow diagram.
Whether to use branch configs or remote configs is part of the
clarifications.
>
>> Instead you would set default.pushRemote to publish
>> just once, and no matter how many branches you create later, you do
>> not have to do anything special.
>
> I think you meant remote.pushdefault here?
>
next prev parent reply other threads:[~2016-06-11 19:31 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-26 10:06 [RFC] Triangular Workflow: user friendly full implementation Jordan DE GEA
2016-05-26 11:04 ` Matthieu Moy
2016-05-26 18:30 ` Junio C Hamano
2016-05-30 8:46 ` [RFC] Triangular Workflow UI improvement Jordan DE GEA
2016-05-27 7:32 ` [RFC] Triangular Workflow: user friendly full implementation Philip Oakley
2016-05-30 9:07 ` [RFC] Triangular Workflow UI improvments Jordan DE GEA
2016-05-31 12:28 ` [RFC/PATCH] Triangular Workflow UI improvement: Documentation Jordan DE GEA
2016-05-31 14:33 ` Matthieu Moy
2016-06-01 9:32 ` Jordan DE GEA
2016-06-02 12:02 ` Michael Haggerty
2016-06-03 7:25 ` Philip Oakley
2016-06-03 9:52 ` Jordan DE GEA
2016-06-03 11:36 ` Matthieu Moy
2016-06-03 11:53 ` Jordan DE GEA
2016-06-05 21:28 ` Jordan DE GEA
2016-06-06 7:58 ` Matthieu Moy
2016-06-06 16:46 ` Philip Oakley
2016-06-06 16:54 ` Matthieu Moy
2016-06-06 19:21 ` Philip Oakley
2016-06-07 7:03 ` Matthieu Moy
2016-06-07 20:08 ` Philip Oakley
2016-06-03 15:46 ` Junio C Hamano
2016-06-03 22:16 ` Philip Oakley
2016-06-06 9:48 ` [RFC/PATCHv2] Documentation: triangular workflow Jordan DE GEA
2016-06-06 19:23 ` Junio C Hamano
2016-06-06 22:21 ` Philip Oakley
2016-06-07 6:58 ` Matthieu Moy
2016-06-07 8:02 ` Jordan DE GEA
2016-06-07 8:38 ` [PATCHv3] " Jordan DE GEA
2016-06-07 19:12 ` Junio C Hamano
2016-06-08 8:37 ` Jordan DE GEA
2016-06-08 13:20 ` Matthieu Moy
2016-06-09 12:35 ` [PATCHv4] " Jordan DE GEA
2016-06-09 17:02 ` Junio C Hamano
2016-06-11 15:58 ` Ramkumar Ramachandra
2016-06-11 19:31 ` Philip Oakley [this message]
2016-06-09 18:19 ` Philip Oakley
2016-06-10 16:47 ` Junio C Hamano
2016-06-11 19:25 ` Philip Oakley
2016-06-13 18:35 ` Junio C Hamano
2016-05-30 8:39 ` [RFC] Triangular Workflow UI improvement Jordan DE GEA
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5A8F8EE0162B49818813DAEFD68F61DA@PhilipOakley \
--to=philipoakley@iee.org \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=artagnon@gmail.com \
--cc=erwan.mathoniere@grenoble-inp.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jordan.de-gea@grenoble-inp.org \
--cc=mhagger@alum.mit.edu \
--cc=peff@peff.net \
--cc=samuel.groot@grenoble-inp.org \
--cc=tom.russello@grenoble-inp.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).