[GRASS-dev] Backport sync: merge mess

Markus Neteler neteler at osgeo.org
Tue Apr 7 13:39:47 PDT 2020


(cc grass-dev, to avoid that it gets lost)

On Tue, Apr 7, 2020 at 3:24 PM Vaclav Petras <notifications at github.com>
wrote:

> Fortunately, having *Squash and merge* saves the day here. Couple notes:
>
>    1. If you end up doing git pull instead of git rebase, you can try
>    setting git config --global pull.rebase true for git pull to be
>    automatically turned into git pull --rebase. I don't have experience
>    with how this plays out with the upstream+fork setup, so you need to test.
>    However, the point here is that Git won't do merge unless you ask it to do
>    it, well, git pull is one of the ways you are telling Git to do merge,
>    although it does not seem that way. I recommend the git man page
>    generator
>    <https://git-man-page-generator.lokaltog.net/#aa9b72bf4fa689dc39dc9d297f35142d>
>    to mediate the pain from this.
>    2. *Squash and merge* allows editing the commit message.
>    3. Unless you do or already did something to fix it, your
>    releasebranch_7_8 (i.e., releasebranch_7_8 in the neteler fork) still
>    contains all this and you need to clean it before you can backport again.
>    You need to trash (assuming it's trash) what you have in your local
>    releasebranch_7_8 branch and force it to be whatever the upstream state of
>    the branch is. The git reset command should do the trick with these
>    parameters: git reset --hard upstream/releasebranch_7_8 (related SO
>    answer <https://stackoverflow.com/a/9210705/574907>). You can confirm
>    by looking at commits on GitHub and locally with git log.
>    4. If you are doing a PR to update any branch, you need to do that
>    from a new dedicated branch in your fork. If you don't do that, your branch
>    (here: neteler:releasebranch_7_8) will diverge from the upstream one (here:
>    OSGeo:releasebranch_7_8) and you will end up doing steps in number 3 in
>    order to stop propagating the unwanted commits. This is due to the
>    difference between doing push directly to upstream (git push upstream
>    releasebranch_7_8) which just pushes local commit(s) you have and PR
>    workflow where a new commit is always created in the upstream and thus you
>    don't have it locally.
>
> As I mentioned previously on mailing list, note that the randomly
> generated Git man pages <https://git-man-page-generator.lokaltog.net/>
> actually need to explicitly say that they are not the real documentation.
>
>> Context: view it on GitHub (#484)
> <https://github.com/OSGeo/grass/pull/484#issuecomment-610384581>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20200407/8e655078/attachment.html>


More information about the grass-dev mailing list