Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Please default to 'commit -a' when no changes were added

From: Goswin von Brederlow <hidden>
Date: 2016-06-15 22:48:41

Adam Brewster [off-list ref] writes:
quoted
quoted
What _you_ can do though, is this:

      git config --global alias.ci "commit -a"
But then when I accidentally use 'git ci' while having an index the
index gets ignored and all changed files get commited in one big mess.
Given how seldom I need an index (so far never) the risk of using 'git
ci' accidentally is way to high. Same with typing -a. I do it so often
that when I actualy don't want it I will probably type it anyway out of
habbit.

My way would be safe in that it will never ignore an index if there is
one. And if it is a new option then it would not alter the existing
semantic, just add to it. Call the option --smart-a or --a-if-empty.
Consider

$ echo -e '#!/bin/bash\nif git diff-tree --quiet HEAD; then git commit
-a; else git commit; fi' > `git --exec-path`/git-ci
$ chmod 555 `git --exec-path`/git-ci

Adam
% if git diff-tree --quiet HEAD; then git commit -a; else git commit; fi
7a15ef233c9ea900c9176f4a09260bb64a7e40cb
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   debian/changelog
#       modified:   debian/control
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       debian/files
no changes added to commit (use "git add" and/or "git commit -a")


That does not do the right thing but I was thinking along the same lines
for a personal fix.

MfG
        Goswin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help