From: Jordan DE GEA <jordan.de-gea@grenoble-inp.org>
To: Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Cc: Philip Oakley <philipoakley@iee.org>,
Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org,
Erwan Mathoniere <erwan.mathoniere@grenoble-inp.org>,
Samuel Groot <samuel.groot@grenoble-inp.org>,
Tom Russello <tom.russello@grenoble-inp.org>,
Michael Haggerty <mhagger@alum.mit.edu>
Subject: Re: [RFC/PATCH] Triangular Workflow UI improvement: Documentation
Date: Wed, 1 Jun 2016 11:32:19 +0200 [thread overview]
Message-ID: <2254CE50-8B7C-4FFF-BAA3-26EF1932AAD4@grenoble-inp.org> (raw)
In-Reply-To: <vpqy46qs3f3.fsf@anie.imag.fr>
> Jordan DE GEA <jordan.de-gea@grenoble-inp.org> writes:
>> Currently, Triangular Workflow can be configured, but there is no
>> Documentation about it. A documentation is useful to keep
>> configuration possibilities up-to-date.
>
> You're using capitalization in a strange way. I don't think Triangular
> Workflow deserves to be capitalized, and Documentation certainly
> doesn't.
>
> Also, you're wrapping your text in a strange way. You did see the
> exchange with Antoine about this, right?
Yes, thank you. I will fix that.
> A question about your final goal: I had understood that you wanted to
> improve the UI, and to design a proper UI you wanted to write a tutorial
> about the future UI, and then implement it. Did I mis-understand? What
> are the next steps in your plan?
The first goal is to write a documentation on "how to set up a triangular
workflow" with the current options. After that, we can discuss about the
UI improvement.
>> Documentation/Makefile | 1 +
>> Documentation/gittriangularworkflow.txt | 120 ++++++++++++++++++++++++++++++++
> [...]
>> --- a/Documentation/Makefile
>> +++ b/Documentation/Makefile
>> @@ -34,6 +34,7 @@ MAN7_TXT += gitrevisions.txt
>> MAN7_TXT += gittutorial-2.txt
>> MAN7_TXT += gittutorial.txt
>> MAN7_TXT += gitworkflows.txt
>> +MAN7_TXT += gittriangularworkflow.txt
>
> Adding documentation is one thing, but it needs to be discoverable. No
> one is going to type "man gittriangularworkflow" or open
> https://git-scm.com/docs/gittriangularworkflow without being told to.
>
> Two obvious questions/suggestions seeing the above:
>
> * Why not add the new documentation as a subsection of gitworkflows.txt?
>
> * If not, then at the very least a link to gittriangularworkflow should
> appear in the SEE ALSO section of gitworkflows.txt.
Yes, adding a subsection in gitworkflows seems to be a better choice.
>
>> +DESCRIPTION
>> +-----------
>> +
>> +Triangular Workflow (or Asymmetric Workflow) is a workflow which gives
>> +the possibility to:
>> +
>> +- fetch (or pull) from a repository
>> +- push to another repository
>
> I wouldn't say "gives the possibility to": you already have this
> possibility all the time when using Git.
>
> I find Michael Haggerty's definition of triangular workflow much
> clearer:
>
> https://github.com/blog/2042-git-2-5-including-multiple-worktrees-and-triangular-workflows#improved-support-for-triangular-workflows
>
> I don't see a licence on the GitHub blog, so I don't think it's legal to
> copy-past directly to our docs, but Michael might allow us to do so?
You’re right. Can Michael Taggerty allow us to use his text ?
>
>> +In some projects, you don't have to push directly
>
> s/don't have to/cannot/
Done
> ?
>
>> +Here is an example of configuration:
>> +
>> +........................................
>> +------------ -----------
>> +| UPSTREAM | maintainer | ORIGIN |
>> +| git/git |- - - - - - - -| me/git |
>> +------------ ← -----------
>> + \ /
>> + \ /
>> + fetch↓\ /↑push
>> + \ /
>> + \ /
>> + -------------
>> + | LOCAL |
>> + -------------
>> +........................................
>
> The most important is missing: what is the role of each repo? which one
> is public and which one is private?
>
> I'd rather avoid using "ORIGIN" here, as the name is used for the
> default remote when cloning, and it's a valid workflow to "git clone"
> from UPSTREAM and then "git remote add" your public fork. Perhaps
> PUBLIC-FORK?
With Michael Taggerty’s text, it will be more understandable.
>
>> +CREATE YOUR REPOSITORY
>> +----------------------
>> +The first step is to create your own repository. To do that you can:
>> +
>> +- a. fork (e.g. GitHub) the main project (e.g git/git), or
>> +- b. create an empty repository
>> +
>> +a. Fork the project
>> +~~~~~~~~~~~~~~~~~~~
>> +Go to the repository of the project (e.g. git/git) you want
>> +and fork it.
>> +
>> +b. Create from scratch
>> +~~~~~~~~~~~~~~~~~~~~~~
>> +Create a repository on your prefered Git repository hosting service.
>> +
>> +Clone it
>> +~~~~~~~~
>> +Clone your repository on your machine.
>
> I don't think this section helps much. If the user knows that he or she
> wants to "fork (e.g. GitHub) the main project (e.g git/git),", then
> saying
>
> +a. Fork the project
> +~~~~~~~~~~~~~~~~~~~
> +Go to the repository of the project (e.g. git/git) you want
> +and fork it.
>
> does not help at all, it just says the same thing in a more verbose way.
I will shorten for the next iteration.
>> +CONFIGURE BRANCHES
>> +------------------
>> +In many projects, the branch `master` have to be pulled from
>> +the main repository(e.g. git/git) and pushed to your repository
>> +(e.g. me/git).
>
> Be precise: you just named 3 repositories UPSTREAM, ORIGIN and LOCAL,
> and now you're writting "the main repository" (not 100% clear) and "your
> repository" (100% not clear, you have two repos).
>
> Actually, most of the time, you'd pull from UPSTREAM/master and push to
> PUBLIC-FORK/<topic-branch>, not PUBLIC-FORK/master.
>
>> +Adding the main project remote
>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> +Add a new remote (e.g. upstream):
>> +
>> +===================================
>> +`git remote add upstream <main_project_url>`
>> +===================================
>> +
>> +Pull from upstream by default
>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> +
>> +===================================
>> +`git config branch.master.remote upstream`
>> +===================================
>> +
>> +
>> +Push to origin by default
>> +~~~~~~~~~~~~~~~~~~~~~~~~~
>> +
>> +===================================
>> +`git config branch.master.pushRemote origin`
>> +===================================
>
> "by default" probably needs to be clarified ("when push/pull is called
> without argument »?)
Yes, that is too verbose.
>
>> +GET YOUR PROJECT UP TO DATE
>> +---------------------------
>> +
>> +Now that `branch.master.remote` and `branch.master.pushRemote` are
>> +set, you can use the following commands to be up to date:
>
> What does "be up to date" mean?
OK.
I'll work on these issues and send a new RFC soon.
next prev parent reply other threads:[~2016-06-01 9:32 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 [this message]
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
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=2254CE50-8B7C-4FFF-BAA3-26EF1932AAD4@grenoble-inp.org \
--to=jordan.de-gea@grenoble-inp.org \
--cc=erwan.mathoniere@grenoble-inp.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=matthieu.moy@grenoble-inp.fr \
--cc=mhagger@alum.mit.edu \
--cc=philipoakley@iee.org \
--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).