All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Petr Baudis <pasky@suse.cz>
Cc: Wincent Colaiuta <win@wincent.com>,
	Jonathan Nieder <jrnieder@gmail.com>,
	Goswin von Brederlow <goswin-v-b@web.de>,
	git@vger.kernel.org
Subject: Re: 'commit -a' safety
Date: Sun, 25 Apr 2010 01:47:14 +0200	[thread overview]
Message-ID: <201004250147.16197.jnareb@gmail.com> (raw)
In-Reply-To: <20100424164247.GM3563@machine.or.cz>

Dnia sobota 24. kwietnia 2010 18:42, Petr Baudis napisał:
> On Sat, Apr 24, 2010 at 01:10:24PM +0200, Wincent Colaiuta wrote:
>> El 24/04/2010, a las 11:40, Jakub Narebski escribió:
>>>
>>> I'd like for 'git commit -a' to *fail* if there are staged changes for
>>> tracked files, excluding added, removed and renamed files.
> 
> Thanks for this suggestion, this is exactly what I wanted to propose!
> +1 here.
> 
> I think this could even be made a default in some time, I don't see any
> useful workflows this could prevent and adding -f is trivial enough for
> those who really want to go forward.

Isn't it how (most of) backwards incompatibile changes are made, first
adding an option for new behaviour, then later (optionally) changing
the default?
 
>> For me this is going to far. While we don't want to make it _easy_
>> for users to shoot themselves in the foot, neither do we want to make
>> it difficult or impossible for them to get the tool to do things that
>> _might_ be a mistake. And what's the risk here? Accidentally
>> committing too much is not a destructive change, and can be easily
>> undone.     
> 
> Have you ever done this mistake? If you have done some extensive index
> editing, it is actually a major PITA to restore, and can be even
> destructive if your index and working tree are too much out-of-sync
> (this does happen to me not so seldom while I also use -a a lot for
> trivial commits).

That is the situation this *optional* safety is meant to protect against:
when somebody sometimes use "git add" + "git commit", but sometimes
use "git commit -a", to protect carefully index against accidental
"git commit -a" instead of "git commit".

Is it worth additional code complication?  Shoult it be turned on by
default?  Does it promote unsafe workflow of committing untested changes?
 
>> IMO, the fact that the commit message editor is populated with
>> a list of changed files that will be included in the commit is enough
>> for people to see what's actually going to happen.  
> 
> BTW, I almost always use -m instead of the commit editor. ;-)

So restructuring commit message template so the information is more
visible in the case of accidental "git commit -a" wouldn't always help...

-- 
Jakub Narebski
Poland

  parent reply	other threads:[~2010-04-24 23:47 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20100422151037.2310.2429.reportbug@frosties.localdomain>
2010-04-22 15:58 ` Please default to 'commit -a' when no changes were added Jonathan Nieder
2010-04-22 18:37   ` Goswin von Brederlow
2010-04-22 19:03     ` Nicolas Pitre
2010-04-22 19:08       ` Sverre Rabbelier
2010-04-22 20:37       ` Goswin von Brederlow
2010-04-22 21:25         ` Nicolas Pitre
2010-04-23  9:03           ` Goswin von Brederlow
2010-04-23  9:31             ` Miles Bader
2010-04-23 16:01             ` Wincent Colaiuta
2010-04-23 20:17               ` Goswin von Brederlow
2010-04-23 20:26                 ` Michael Witten
2010-04-23 20:33                 ` Daniel Grace
2010-04-23 21:01                 ` Nicolas Pitre
2010-04-24 21:15                   ` Goswin von Brederlow
2010-04-24 21:40                     ` Jonathan Nieder
2010-04-24 22:08                       ` Goswin von Brederlow
2010-04-24 22:42                         ` Jonathan Nieder
2010-04-25  2:47                       ` Miles Bader
2010-04-25  3:33                         ` Jonathan Nieder
2010-04-23 22:35                 ` Matthias Andree
2010-04-24  1:43                 ` Junio C Hamano
2010-04-22 21:28         ` Junio C Hamano
2010-04-22 21:40           ` Matthieu Moy
2010-04-22 21:57             ` Michael Witten
2010-04-23  9:09             ` Goswin von Brederlow
2010-04-23  9:22               ` Tomas Carnecky
2010-04-23 17:00                 ` Michael Witten
2010-04-23  9:27               ` Matthieu Moy
2010-04-23  9:35               ` Tor Arntsen
2010-04-22 21:48         ` Adam Brewster
2010-04-22 22:27           ` Jonathan Nieder
2010-04-23  9:15             ` Goswin von Brederlow
2010-04-23 10:39               ` The index (Re: Please default to 'commit -a' when no changes were added) Jonathan Nieder
2010-04-22 22:38           ` Please default to 'commit -a' when no changes were added Jon Seymour
2010-04-23  0:04             ` Adam Brewster
2010-04-23  9:25             ` Goswin von Brederlow
2010-04-23  9:14           ` Goswin von Brederlow
2010-04-23  9:39         ` Björn Steinbrink
2010-04-23 11:44           ` Sergei Organov
2010-04-23 11:57             ` Sverre Rabbelier
2010-04-23 12:20               ` Sergei Organov
2010-04-23 14:23           ` Goswin von Brederlow
2010-04-23 18:59   ` Matthias Andree
2010-04-23 19:34     ` Michael Witten
2010-04-23 22:18       ` Matthias Andree
2010-04-23 22:25         ` Eric Raymond
2010-04-23 23:38           ` Michael Witten
2010-04-24  4:38             ` Eric Raymond
2010-04-24  9:05               ` Michael Witten
2010-04-24  9:09                 ` Eric Raymond
2010-04-23 23:26         ` Michael Witten
2010-04-24 13:26       ` Tor Arntsen
2010-04-24  9:40   ` 'commit -a' safety (was: Re: Please default to 'commit -a' when no changes were added) Jakub Narebski
2010-04-24  9:56     ` 'commit -a' safety Miles Bader
2010-04-24 10:05       ` Andreas Schwab
2010-04-24 10:26       ` Jakub Narebski
2010-04-24 13:29         ` Miles Bader
2010-04-24 18:23         ` Nicolas Pitre
2010-04-25  0:16           ` Jakub Narebski
2010-04-25  2:43             ` Miles Bader
2010-04-24 11:10     ` 'commit -a' safety (was: Re: Please default to 'commit -a' when no changes were added) Wincent Colaiuta
2010-04-24 11:48       ` 'commit -a' safety Jakub Narebski
2010-04-24 14:28         ` Joey Hess
2010-04-24 15:11           ` Mike Hommey
2010-04-24 16:42       ` 'commit -a' safety (was: Re: Please default to 'commit -a' when no changes were added) Petr Baudis
2010-04-24 16:59         ` Bug#578764: " Wincent Colaiuta
2010-04-24 17:47           ` Petr Baudis
2010-04-24 18:35         ` Nicolas Pitre
2010-04-24 18:54           ` Petr Baudis
2010-04-24 19:09             ` Nicolas Pitre
2010-04-24 19:35             ` Jacob Helwig
2010-04-24 19:44               ` Nicolas Pitre
2010-04-24 19:57                 ` Jacob Helwig
2010-04-24 23:47         ` Jakub Narebski [this message]
2010-04-25  1:13         ` 'commit -a' safety Junio C Hamano
2010-04-25  8:01           ` Jakub Narebski

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=201004250147.16197.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=goswin-v-b@web.de \
    --cc=jrnieder@gmail.com \
    --cc=pasky@suse.cz \
    --cc=win@wincent.com \
    /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 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.