From: Eli Zaretskii <eliz@gnu.org>
To: Steinar Bang <sb@dod.no>
Cc: emacs-devel@gnu.org
Subject: Re: master c6f03ed: Fix a problem in url.el without GnuTLS
Date: Wed, 17 Dec 2014 17:35:42 +0200 [thread overview]
Message-ID: <838ui6wapd.fsf@gnu.org> (raw)
In-Reply-To: <upzck31q1tu0.fsf@dod.no>
> From: Steinar Bang <sb@dod.no>
> Date: Wed, 17 Dec 2014 10:58:15 +0100
>
> Let me see if I understand, you branch off from master like so:
>
> -a---b-c-d- master
> \
> e-f- eli-feature-1
>
> Then you wish to prepare for a push so you merge in master:
> -a---b-c-d--- master
> \ \
> e-f----g- eli-feature-1
>
> (where "g" is the merge commit)
> You merge your feature branch into master (ff merge):
> -a---b-c-d------ master
> \ \ /
> e-f----g---- eli-feature-1
>
> And then push of master fails, and you do
> git pull --rebase=preserve
Yes, this is the workflow and the scenario I was describing. With
bzr, it actually happened more or less every time I finished a feature
and was about to land it on trunk. So naturally, I would like to
preserve the workflow if it's practically possible.
> But if I understand you correctly, you're concerned that if you
> continue to work on eli-feature-1 and then merge into master, then the
> commits "b", "c", and "d" that were merged into your feature branch
> will be re-applied?
Yes.
Also note that I'm not only concerned about myself alone, but about
all those who read or will read GitForEmacsDevs, and try to follow the
instructions there. They current suggest "pull --rebase", although
stop short of mentioning rebase=preserve.
> Have you seen this happen?
No, not yet (thankfully).
> The "git merge" command seems to be generally very good at backing
> off when the changes are already in place (e.g. when I cherry pick
> changes from master back to a release branch, and later merge the
> release branch, I rarely see conflicts).
I know and agree, but I'd prefer not to rely on sheer luck, even if
the chances are very high. If the danger exists, then the costs of
the failure, however rare, can be too high, so I'd like to avoid that
completely, especially for the audience of GitForEmacsDevs.
> The simplest way to proceed would be to just delete the existing
> eli-feature-1 and create a new eli-feature-1 off the rebased merge
> commit "h".
That's mostly what happens, at least in my sandboxes. But again,
there are others who might not delete the branch right away, and
there's emacs-24, of course.
> > What I certainly want to avoid is any kind of rebasing, cherry-picking
> > or similar things that will then put me at risk of having the same
> > commits merged again, because the original commits are rewritten or
> > not recorded in the DAG.
>
> Aah... so that's what happens: "b", "c", "d" in the example above
> (that come from master into your feature branch), are rebased, and
> then later reapplied...?
Yes.
next prev parent reply other threads:[~2014-12-17 15:35 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20141211155740.11916.1584@vcs.savannah.gnu.org>
[not found] ` <E1Xz67Y-00036o-Vf@vcs.savannah.gnu.org>
2014-12-11 16:47 ` master c6f03ed: Fix a problem in url.el without GnuTLS Leo Liu
2014-12-11 18:08 ` Eli Zaretskii
2014-12-11 23:00 ` Ted Zlatanov
2014-12-12 9:23 ` Eli Zaretskii
2014-12-12 13:24 ` Ted Zlatanov
2014-12-12 14:28 ` Eli Zaretskii
2014-12-12 16:06 ` Stefan Monnier
2014-12-13 0:25 ` Ted Zlatanov
2014-12-13 0:28 ` Lars Magne Ingebrigtsen
2014-12-13 1:25 ` Ted Zlatanov
2014-12-13 8:04 ` Eli Zaretskii
2014-12-13 10:16 ` David Engster
2014-12-18 22:38 ` David Engster
2014-12-19 8:50 ` Eli Zaretskii
2014-12-13 9:04 ` David Engster
2014-12-13 9:50 ` David Engster
2014-12-13 13:19 ` Ted Zlatanov
2014-12-13 14:13 ` David Engster
2014-12-13 14:25 ` Ted Zlatanov
2014-12-13 15:18 ` Eli Zaretskii
2014-12-13 19:44 ` David Engster
2014-12-13 19:59 ` Eli Zaretskii
2014-12-13 22:00 ` Dmitry Gutov
2014-12-14 3:36 ` Eli Zaretskii
2014-12-13 23:13 ` David Engster
2014-12-14 16:09 ` Eli Zaretskii
2014-12-14 16:37 ` Ted Zlatanov
2014-12-14 16:55 ` Eli Zaretskii
2014-12-14 17:00 ` Ted Zlatanov
2014-12-14 23:21 ` Stefan Monnier
2014-12-14 17:46 ` Paul Eggert
2014-12-14 17:50 ` Eli Zaretskii
2014-12-14 18:28 ` Ted Zlatanov
2014-12-14 19:41 ` David Engster
2014-12-14 21:40 ` David Engster
2014-12-15 3:47 ` Eli Zaretskii
2014-12-15 20:39 ` David Engster
2014-12-16 19:42 ` Eli Zaretskii
2014-12-17 9:58 ` Steinar Bang
2014-12-17 10:52 ` Steinar Bang
2014-12-17 15:36 ` Eli Zaretskii
2014-12-17 15:35 ` Eli Zaretskii [this message]
2014-12-17 20:37 ` David Engster
2014-12-18 4:55 ` Stephen J. Turnbull
2014-12-18 15:39 ` Eli Zaretskii
2014-12-18 20:00 ` Steinar Bang
2014-12-18 20:40 ` Eli Zaretskii
2014-12-19 8:09 ` Steinar Bang
2014-12-19 9:16 ` Eli Zaretskii
2014-12-19 10:33 ` Steinar Bang
2014-12-18 21:18 ` David Engster
2014-12-18 15:38 ` Eli Zaretskii
2014-12-18 19:46 ` Steinar Bang
2014-12-18 20:35 ` Eli Zaretskii
2014-12-19 6:07 ` Yuri Khan
2014-12-19 7:57 ` Steinar Bang
2014-12-19 9:09 ` Eli Zaretskii
2014-12-18 20:46 ` David Engster
2014-12-14 22:42 ` Stefan Monnier
2014-12-15 3:37 ` Eli Zaretskii
2014-12-15 4:46 ` Stefan Monnier
2014-12-12 20:46 ` Lars Magne Ingebrigtsen
2014-12-12 0:30 ` Leo Liu
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: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=838ui6wapd.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=sb@dod.no \
/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://git.savannah.gnu.org/cgit/emacs.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).