From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Sergey Organov Newsgroups: gmane.emacs.devel Subject: Re: Git transition workflow Date: Wed, 13 Aug 2014 14:30:04 +0400 Message-ID: References: <2720487.3bKIskrhp0@descartes> <87sil214zs.fsf@drakenvlieg.flower> <87lhqtv7vf.fsf@Rainer.invalid> <87iolxhwep.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1407927327 8489 80.91.229.3 (13 Aug 2014 10:55:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 13 Aug 2014 10:55:27 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 13 12:55:20 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XHWDA-0007ad-Bd for ged-emacs-devel@m.gmane.org; Wed, 13 Aug 2014 12:55:20 +0200 Original-Received: from localhost ([::1]:46556 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XHWDA-0004z5-2R for ged-emacs-devel@m.gmane.org; Wed, 13 Aug 2014 06:55:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55660) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XHWD1-0004xr-Mp for emacs-devel@gnu.org; Wed, 13 Aug 2014 06:55:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XHWCv-0007qN-PE for emacs-devel@gnu.org; Wed, 13 Aug 2014 06:55:11 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:37035) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XHWCv-0007lq-JZ for emacs-devel@gnu.org; Wed, 13 Aug 2014 06:55:05 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XHWCu-0007RB-3f for emacs-devel@gnu.org; Wed, 13 Aug 2014 12:55:04 +0200 Original-Received: from 89.175.180.246 ([89.175.180.246]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 13 Aug 2014 12:55:04 +0200 Original-Received: from sorganov by 89.175.180.246 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 13 Aug 2014 12:55:04 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 41 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 89.175.180.246 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:173617 Archived-At: "Stephen J. Turnbull" 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.