From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Yuri Khan Newsgroups: gmane.emacs.devel Subject: Re: Apologia for bzr Date: Fri, 3 Jan 2014 16:21:26 +0700 Message-ID: References: <20140102211452.GA28685@c3po> <83d2k9xx1f.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1388740886 32196 80.91.229.3 (3 Jan 2014 09:21:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 3 Jan 2014 09:21:26 +0000 (UTC) Cc: Eric Raymond , kfogel@red-bean.com, Toby Cubitt , Emacs developers To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 03 10:21:32 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 1Vz0we-0003DT-4C for ged-emacs-devel@m.gmane.org; Fri, 03 Jan 2014 10:21:32 +0100 Original-Received: from localhost ([::1]:48758 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vz0wd-00042k-D1 for ged-emacs-devel@m.gmane.org; Fri, 03 Jan 2014 04:21:31 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44462) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vz0wb-00042b-01 for emacs-devel@gnu.org; Fri, 03 Jan 2014 04:21:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vz0wa-0006cc-13 for emacs-devel@gnu.org; Fri, 03 Jan 2014 04:21:28 -0500 Original-Received: from mail-qa0-x232.google.com ([2607:f8b0:400d:c00::232]:59670) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vz0wY-0006c2-HR; Fri, 03 Jan 2014 04:21:26 -0500 Original-Received: by mail-qa0-f50.google.com with SMTP id i13so262279qae.2 for ; Fri, 03 Jan 2014 01:21:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=6hqXjNkH/Z8Qlw1GYPXrvvYSMF0ix/8kv2ISvJawXA8=; b=jG8bFCzZXsjSguJHuzJKdqLSrIjUzoygfFP1hhCh6+odioQe+YfXLVEZSnVB1ZsD3F B7ggNpIpm2NYIre0XI9xeFeCOupgwcGNVHTeztMnNpjEUowrIk1yExKQn5f3BIR6lbla 0C9oEx4LLu4o49wTTAcwALJ2+wWMjkVaetOGsr6E8U0a0HBGXOl3xbmX9V5it2uHNtG+ 0pnA1JfdYN4oLUbOOTfYV9IqHpBwOw/wRunmYL1jPT5ygTVDX9+utgZowsN1l2WpoajN iz8QQUcTU/2Y8zRA47qcM6chH/umQZlvfqrB4I+1pnk0uTZy1WnMapnrJEL0zB2w9RFJ w+JQ== X-Received: by 10.49.42.99 with SMTP id n3mr152513667qel.52.1388740886105; Fri, 03 Jan 2014 01:21:26 -0800 (PST) Original-Received: by 10.96.14.74 with HTTP; Fri, 3 Jan 2014 01:21:26 -0800 (PST) In-Reply-To: <83d2k9xx1f.fsf@gnu.org> X-Google-Sender-Auth: 01XcvFprGAysDirJQHq3JfC5Wts X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c00::232 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:167129 Archived-At: On Fri, Jan 3, 2014 at 3:57 PM, Eli Zaretskii wrote: > > If you don't already know what is "staging", you will never understand > that this is one of the most important and useful options. Also, > "haven't told Git about new files" fails to mention "git add". Once > I've managed to grasp all that, I've made an alias for "commit -a", > because that's what I almost always want. (And why isn't that the > default, dammit?) Because staging is a key concept in git and it enables a whole lot of useful workflows. E.g. you can work all day and half the next day on a feature, making small formatting changes and fix coding style violations on your way as you spot them, then fire up a commit tool and make three commits, one for trivial formatting changes, another for coding style fixes, and a third one with the feature you actually worked on. Without staging, you would have to look at the diff, back up and revert some changes so that the working directory looks the way you want for one commit, then the other, then the next one. Or you would hold off fixing small things until you have committed the feature, and risk forgetting to do them.