git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] Documentation about triangular workflow

From
Stefan Beller <sbeller@google.com>
Date
Nov 17, 2017, 20:01 UTC
Message-ID
<CAGZ79ka5yEv0n+kZLk6p9j3HX1aR9MNs+uH7N7o7UvGx+akxxg@mail.gmail.com>
In-Reply-To
<20171117160759.6397-1-daniel.bensoussan--bohm@etu.univ-lyon1.fr>
Thanks for contributing to Git and making the documentation better!

On Fri, Nov 17, 2017 at 8:07 AM, Daniel Bensoussan <danielbensoussanbohm@gmail.com> wrote:

> From: ALBERTIN TIMOTHEE 11514771 <timothee.albertin@etu.univ-lyon1.fr>

This is a place where you can describe why this change is awesome (and hence the project is interested in including it.)

The Git projects requires your Sign-off (and by the differing author and you as a sender, both of you) See Documentation/SubmittingPatches or https://developercertificate.org/ and if you can agree to that add a line "Signed-off-by: name <email>" to the commit message of the text.

Show 46 quoted lines
>
> diff --git a/Documentation/gitworkflows.txt b/Documentation/gitworkflows.txt
> index 02569d061..3f1ddba82 100644
> --- a/Documentation/gitworkflows.txt
> +++ b/Documentation/gitworkflows.txt
> @@ -464,6 +464,221 @@ in patches to figure out the merge base.  See linkgit:git-am[1] for
>  other options.
>
>
> +TRIANGULAR WORKFLOW
> +-------------------
> +
> +Introduction
> +~~~~~~~~~~~~
> +
> +In some projects, contributors cannot push directly to the project but
> +have to suggest their commits to the maintainer (e.g. pull requests).
> +For these projects, it's common to use what's called a *triangular
> +workflow*:
> +
> +- The project maintainer publishes a repository, called **UPSTREAM** in
> +this document, which is a read-only for contributors. They can clone and
> +fetch from this repository.
> +- Contributors publish their modifications by pushing to a repository,
> +called **PUBLISH** in this document, and request a merge.
> +- Opening a pull request
> +- If the maintainer accepts the changes, he merges them into the
> +  **UPSTREAM** repository.
> +
> +This workflow is commonly used on different platforms like BitBucket,
> +GitHub or GitLab which provide a dedicated mechanism for requesting merges.
> +
> +........................................
> +------------------               -----------------
> +| UPSTREAM       |  maintainer   | PUBLISH       |
> +|  git/git       |- - - - - - - -|  me/remote    |
> +------------------      <-       -----------------
> +              \                     /
> +               \                   /
> +        fetch | \                 / ^ push
> +              v  \               /  |
> +                  \             /
> +                   -------------
> +                   |   LOCAL   |
> +                   -------------
> +........................................

git/git as the upstream is a notable example which doesn't use this triangular workflow, as most patches are accepted via email, such that the PUBLISH remote may not exist when contributing to git/git. (Though https://submitgit.herokuapp.com/ tries to emulate the triangular workflow for contributors)

> +This is just a side-effect of the "review before merge" mentionned
> +above but this is still a good point.
mentioned (typo)
Previous: Martin ÅgrenNext: Martin Ågren
Message 4 of 8 in “Documentation about triangular workflow”
  1. 1/2 Documentation about triangular workflowDaniel Bensoussan, Nov 17, 2017
  2. 2/2 Triangular workflowDaniel Bensoussan, Nov 17, 2017
  3. Martin ÅgrenNov 17, 2017
  4. Stefan BellerNov 17, 2017
  5. Martin ÅgrenNov 17, 2017
  6. ALBERTIN TIMOTHEE p1514771Nov 22, 2017
  7. Junio C HamanoNov 18, 2017
  8. ALBERTIN TIMOTHEE p1514771Nov 22, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.