all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Sergey Organov <sorganov@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: Git transition workflow
Date: Wed, 13 Aug 2014 14:30:04 +0400	[thread overview]
Message-ID: <lsfend$lp0$1@ger.gmane.org> (raw)
In-Reply-To: 87iolxhwep.fsf@uwakimon.sk.tsukuba.ac.jp

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Achim Gratz writes:
>  > Jan Nieuwenhuizen writes:
>  > >     Daily work
>  > >     If you’re using the command-line:
>  > >
>  > >     git pull
>  > >
>  > > May I suggest to change this to
>  > >  
>  > >     git pull --rebase / git pull -r
>  > >
>  > > or we're going to see a whole lot of merge commits.
>
> This requires people who don't already know how to "git rebase" to
> learn it (I mean the resolution workflow, not the command, of course).
> It will get a lot of pushback, and I expect that those users will
> revert to "git pull".  On the other hand, merge conflicts are familiar
> from ancient times, and doesn't require learning a new workflow.

1. CVS in fact does the rebase when you "cvs update" with local
   modifications, so functionally 'git pull --rebase' is closer to
   original CVS "cvs update" than 'git pull --rebase=false' (i.e.,
   merge).

2. When there is no merge conflicts, everything just works in both cases
   without user intervention.
   
3. Merge conflicts, if any, as well as their resolution, are very
   similar in both workflows. The only difference is that one needs to
   learn to use "git rebase --continue" instead of "git commit" after
   conflicts are resolved.

4. Setting "pull.rebase" configuration value to 'preserve' or 'true'
   hides pull invocation differences (minor convenience).

From within emacs, magit helps a lot (with any workflow).

-- 
Sergey.




  parent reply	other threads:[~2014-08-13 10:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-11 11:36 Git transition workflow Paul Michael Reilly
2014-08-12  2:28 ` Stephen J. Turnbull
2014-08-12  2:58   ` Eric S. Raymond
2014-08-12  4:09     ` Paul Michael Reilly
2014-08-12  4:14       ` Eric S. Raymond
2014-08-12  3:16 ` Richard Stallman
2014-08-12  8:07   ` Rüdiger Sonderfeld
2014-08-12  8:33     ` Jan Nieuwenhuizen
2014-08-12 19:13       ` Achim Gratz
2014-08-13  3:59         ` Stephen J. Turnbull
2014-08-13  4:14           ` Ashton Kemerling
2014-08-13 10:30           ` Sergey Organov [this message]
2014-08-13 12:52             ` Stefan Monnier
2014-08-13 14:16               ` Sergey Organov
2014-08-13 15:59                 ` Stefan Monnier
2014-08-13 18:15                 ` David Caldwell
2014-08-13 16:17             ` Stephen J. Turnbull
2014-08-13 16:28               ` John Yates
2014-08-13 17:16                 ` Stephen J. Turnbull
2014-08-13 17:20                   ` Achim Gratz
2014-08-13 18:34                     ` Stephen J. Turnbull
2014-08-13 21:09               ` Sergey Organov
2014-08-14 10:44                 ` Michael Mattie
2014-08-13  3:56     ` Richard Stallman

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='lsfend$lp0$1@ger.gmane.org' \
    --to=sorganov@gmail.com \
    --cc=emacs-devel@gnu.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.