all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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



  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

* 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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.