From: David Engster <deng@randomsample.de>
To: "Stephen J. Turnbull" <stephen@xemacs.org>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: master c6f03ed: Fix a problem in url.el without GnuTLS
Date: Thu, 18 Dec 2014 22:18:44 +0100 [thread overview]
Message-ID: <87ppbgmzbf.fsf@engster.org> (raw)
In-Reply-To: <87wq5pd0ap.fsf@uwakimon.sk.tsukuba.ac.jp> (Stephen J. Turnbull's message of "Thu, 18 Dec 2014 13:55:26 +0900")
Stephen J. Turnbull writes:
> David Engster writes:
>
> > up anew. If HEAD is your merge commit, this would mean doing
> >
> > git branch -D branchname
> > git branch branchname HEAD^2
> >
> > (You have to delete with '-D', since Git won't see your non-rebased
> > branch as merged...).
>
> Aside: can't you do this in one operation with "git branch -f
> branchname HEAD^2"?
Yes, thanks.
> (Real question, I don't understand your reference
> to "seeing ... branch as merged". The docs seem to indicate it should
> work.)
I posted a script which will set up a few repositories where you can
test this:
http://article.gmane.org/gmane.emacs.devel/180043
Simply enter the 'ted' repository, do 'git pull --rebase=preserve' and
then do 'git branch -d stable'. It won't work.
> > This conflicts with how Git orders the parents of a merge. The first
> > parent is always the tip of the branch you're currently on. And since
> > you do 'git pull' while being on your local master, that will be the
> > first parent.
>
> I don't see a conflict here. What I do see is an ambiguity in the
> discription of entry conditions.
I don't know what that means. But I can show you how it should *not*
look. Simply set up the above test repositories again, now go into
'ted' and do 'git pull', which will merge origin/master. Now do 'git log
--first-parent' and you'll see something like this:
82d09a7 Merge branch 'master' of MERGE_REBASE_TEST/upstream
0da1327 merge stable
1f487c9 second commit on master
106847b first commit on master
Note how the commit with subject "New commit on master" is not visible
anymore, although it was previously (go to 'eli' and type the same log
command there, then pull, do it again). AFAIU, this is what Eli wants to
avoid.
> To push to public:
>
> git checkout master
> git push # public mainline is preserved
> git checkout feature-1 # #### these three commands are error-prone
>
> AFAICS this is what you need to do for emacs-24, too. The problems
> are (1) a convenient discipline for those last three commands and (2)
> recovery from failed push due to concurrent development.
(2) is the problem we are talking about.
> > Of course, while *you* can take care in keeping the correct ordering of
> > mainline, others won't do that (I guess most are not even aware of this
> > issue),
>
> All bzr fans are aware of it though.
There are not many. (FTR, I'm not actually seeing myself as a "bzr
fan". I do think however that the bad reputation it got around here was
undeserved.)
> It's an important part of Bazaar's identity in VCS space. The problem
> will be git users who are used to a spaghetti DAG.
Yes, as I've written: "most are not aware of this issue". From my
experience, many Git users don't even recognize the problem (and when
they do, it's usually answered with 'just use gitk', which is kinda
sad).
> > One could implement a git hook that checks for a linear git history
> > of mainline and that rejects pushes otherwise, but I guess Stefan
> > isn't very inclined to agree to that.
>
> My impression is that Stefan is not inclined to encourage work on this
> problem; he thinks it's a waste of time. I think he'd come around
> quickly if presented with either another problem that would be solved
> by the same workflow that preserves linear mainline, or a
> "sufficiently convenient" workflow that preserves linear mainline. I
> don't intend to speak for Stefan, just to encourage you to not give up
> on the idea of a hook before you've clarified the point with him.
On further thought, I think such a hook that rejects pushes because of
"non-linear mainline" would confuse people to no end. I don't know any
project which would do this, and as I've written above, many Git users
do not recognize the problem, which makes it hard to fix for them...
-David
next prev parent reply other threads:[~2014-12-18 21:18 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
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 [this message]
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=87ppbgmzbf.fsf@engster.org \
--to=deng@randomsample.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=stephen@xemacs.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://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).