From: Junio C Hamano <gitster@pobox.com>
To: Marat Radchenko <marat@slonopotamus.org>
Cc: git@vger.kernel.org
Subject: Re: A failing attempt to use Git in a centralized environment
Date: Mon, 28 Apr 2014 11:41:43 -0700 [thread overview]
Message-ID: <xmqqoazlqot4.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <4ay6w9i74cygt6ii1b0db7wg.1398433713382@email.android.com> (Marat Radchenko's message of "Mon, 28 Apr 2014 10:29:07 +0400")
Marat Radchenko <marat@slonopotamus.org> writes:
> Problem #1: TortoiseGit GUI windows for common tasks have a heck
> lots of controls that a common Git user will never need.
Do people around TortoiseGit lurk on this list? Otherwise this may
not be something we can help you with here.
> Problem #2 occured the first day we started using Git on real
> project. It is explained in detail in older post to Git ML [3]. I
> call it "swapped/reverse merge problem".
>
> In short:
> 1. Hack, hack, hack
> 2. Commit
> 3. Push, woops, reject (non-ff)
> 4. Pull
> 5. Push
>
> The root of evil is step #4 that creates a merge commit with
> "swapped" parents.
Yes, this is a real issue, and I do not mind seeing a patch to
improve the situation (there may be different approaches, and one
random approach somebody takes may not necessarily be a good way to
improve the situation though).
- Perhaps by allowing an option to tell the "pull" at the fourth
step to record swapped parents in the merge?
- Perhaps in step #3, stop suggesting to "pull first" and instead
tell them to "fetch upstream, rebase your work on it and then
push"?
- Extending on the second one, wrap a large part of the procedure
in a single handy wrapper "git update" or something, whose point
is to "update your work to be mergeable and pushable"?
> Problem #3: on conflicts, user ends up with a working copy that
> marks all remote-changed files as modified. Luckily, nobody has
> problems with conflict resolution process, it's just confusing to
> see changes other way round.
If we flip the resolution process to "apply/merge your work to the
updated upstream (i.e. the topic of your problem #2 above)", that
"other way round" issue will disappear, no?
>
> Problem #4: when conflict happens during rebase, mergetool shows
> user own changes as "theirs" and remote changes as "mine". And
> believe me, explaining this to users doesn't increase their
> willingness to adopt Git.
Likewise.
next prev parent reply other threads:[~2014-04-28 19:29 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-28 6:29 A failing attempt to use Git in a centralized environment Marat Radchenko
2014-04-28 18:41 ` Junio C Hamano [this message]
2014-04-30 14:21 ` Pull is Evil (was: Re: A failing attempt to use Git in a centralized environment) Marc Branchaud
2014-04-30 14:55 ` Junio C Hamano
2014-04-30 19:45 ` Pull is Evil Marc Branchaud
2014-04-30 20:01 ` Jonathan Nieder
2014-04-30 20:01 ` Junio C Hamano
2014-04-30 21:48 ` Marc Branchaud
2014-05-02 7:40 ` Andreas Krey
2014-05-02 8:46 ` David Kastrup
2014-05-03 6:17 ` Andreas Krey
2014-05-03 6:55 ` David Kastrup
2014-04-30 20:14 ` Felipe Contreras
2014-04-30 22:06 ` Marc Branchaud
2014-04-30 22:25 ` Felipe Contreras
2014-05-01 9:46 ` brian m. carlson
2014-05-01 10:48 ` Felipe Contreras
2014-05-01 15:16 ` Junio C Hamano
2014-05-01 19:16 ` Felipe Contreras
2014-05-01 19:48 ` W. Trevor King
2014-05-01 20:07 ` W. Trevor King
2014-05-01 23:25 ` Felipe Contreras
2014-05-02 0:02 ` W. Trevor King
2014-05-02 0:37 ` Felipe Contreras
2014-05-02 1:10 ` W. Trevor King
2014-05-02 1:14 ` Felipe Contreras
2014-05-02 14:54 ` W. Trevor King
2014-05-02 18:55 ` Felipe Contreras
2014-05-02 19:07 ` W. Trevor King
2014-05-02 19:10 ` David Kastrup
2014-05-02 19:13 ` Felipe Contreras
2014-05-02 19:46 ` W. Trevor King
2014-05-02 20:34 ` Felipe Contreras
2014-05-02 21:13 ` W. Trevor King
2014-05-02 21:18 ` Felipe Contreras
2014-05-02 22:01 ` pull.prompt or other way to slow/disable 'git pull' (was: Pull is Evil) W. Trevor King
2014-05-02 22:20 ` Felipe Contreras
2014-05-03 0:05 ` pull.prompt or other way to slow/disable 'git pull' W. Trevor King
2014-05-03 9:50 ` Felipe Contreras
2014-05-04 18:51 ` W. Trevor King
2014-05-04 20:54 ` Felipe Contreras
2014-05-01 23:20 ` Re: Pull is Evil Felipe Contreras
2014-05-01 15:20 ` Marc Branchaud
2014-05-01 17:56 ` W. Trevor King
2014-05-01 18:04 ` Marc Branchaud
2014-05-01 18:30 ` W. Trevor King
2014-05-01 20:21 ` Marc Branchaud
2014-05-01 23:28 ` Felipe Contreras
2014-05-02 7:16 ` Andreas Krey
2014-05-02 8:14 ` Felipe Contreras
2014-05-02 19:29 ` Junio C Hamano
2014-05-02 19:53 ` Junio C Hamano
2014-05-01 23:45 ` brian m. carlson
2014-05-01 23:39 ` Felipe Contreras
2014-05-01 19:22 ` Felipe Contreras
2014-05-01 19:43 ` Marc Branchaud
2014-05-01 19:27 ` Felipe Contreras
2014-05-01 21:06 ` Philip Oakley
2014-05-01 21:16 ` Philip Oakley
2014-05-01 23:34 ` Felipe Contreras
2014-05-01 23:59 ` W. Trevor King
2014-05-02 0:31 ` Felipe Contreras
2014-04-30 16:47 ` Pull is Evil (was: Re: A failing attempt to use Git in a centralized environment) Felipe Contreras
2014-04-30 17:09 ` Pull is Evil Matthieu Moy
2014-04-30 18:31 ` Felipe Contreras
2014-04-30 19:10 ` Junio C Hamano
2014-04-30 19:32 ` Felipe Contreras
2014-04-30 19:53 ` Junio C Hamano
2014-04-30 20:11 ` Felipe Contreras
2014-04-30 16:12 ` A failing attempt to use Git in a centralized environment Stepan Kasal
2014-04-30 17:15 ` Geert Bosch
2014-05-04 8:58 ` John Szakmeister
2014-05-02 20:56 ` Max Kirillov
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=xmqqoazlqot4.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=marat@slonopotamus.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.
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 NNTP newsgroup(s).