Commit Graph

22 Commits

Author SHA1 Message Date
Junio C Hamano
9804b7dc19 Show the branch name more prominently in "git status".
When not working on "master" branch, remind the user at the beginning
of the status message, not at the end.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-28 12:15:09 -07:00
Junio C Hamano
aba2da1339 Accept -m and friends for initial commits and merge commits.
Yes it was irritating not to be able to do so.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-26 22:36:54 -07:00
Junio C Hamano
89e2c5f17b Add commit hook and make the verification customizable.
There are three hooks:

    - 'pre-commit' is given an opportunity to inspect what is
      being committed, before we invoke the EDITOR for the
      commit message;

    - 'commit-msg' is invoked on the commit log message after
      the user prepares it;

    - 'post-commit' is run after a successful commit is made.

The first two can interfere to stop the commit.  The last one is
for after-the-fact notification.

The earlier built-in commit checker is now moved to pre-commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-19 16:23:31 -07:00
Junio C Hamano
e20ce6ac76 [PATCH] Allow file removal when "git commit --all" is used.
After you deleted files from your working tree, automatic
git-update-cache used when the "--all" flag is given to "git
commit" barfs because it lacks the --remove flag.

It can be argued that this is a feature; people should be
careful and something with a grave consequence like removing
files should be done manually, in which case the current
behaviour may be OK.

The patch is for people who thinks the user who uses the "--all"
flag deserves the danger that comes with the convenience.

Comments?

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-19 16:19:16 -07:00
Junio C Hamano
6a0049c076 Fix git-commit without paths.
The earlier one to grab output from diff-files --name-only has a grave
bug that when no paths are given it ended up doing the equivalent of
"git-commit --all", which was not what I intended.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17 15:17:03 -07:00
Junio C Hamano
22cff6a5ab git-commit: pass explicit path to git-diff-files.
When running "git commit" with explicit path arguments, allow it to
take directory name.  This makes "git commit Documentation/" to commit
everything that is changed under Documentation/ directory.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17 12:11:36 -07:00
Junio C Hamano
2150cc99fe Tentative fix to git-commit-script
The recent change to give the multiple commit message source was not
carrying over the authorship information from -C/-c commits correctly.
The export of the environment variable happens only in the subprocess,
not the main process that eventually runs git-commit-tree.

The right fix might be to teach git-commit-script to grok the From:
and Date: lines at the beginning of the commit message just like
git-applymbox knows how, but this has to do until that enhancement
happens.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15 16:32:58 -07:00
Junio C Hamano
0cfe1d303a Add --signoff and --verify option to git commit.
As brought up in the discussion which followed a patch to add a
signed-off-by line with the --sign flag to format-patch from
Johannes Schindelin, add --signoff to the git commit command.

Also add --verify to make sure the lines you introduced are
clean, which is more useful in commit but not very much in
format-patch as it was originally implemented, because finding
botches at format-patch time is too late.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-13 18:28:47 -07:00
Junio C Hamano
0c091296c0 git-commit: log parameter updates.
While moving '-m' to make room for CVS compatible "here is the
log message", enhance source of log parameters.

  -m 'message': a command line parameter.
  -F <file>   : a file (use '-' to read from stdin).
  -C <commit> : message in existing commit.
  -c <commit> : message in existing commit (allows further editing).

Longer option names for these options are also available.

While we are at it, get rid of shell array bashism.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-09 22:28:22 -07:00
Johannes Schindelin
eca35ecdca [PATCH] git-commit-script fix for degenerated merge
If merging results in an unchanged tree, git-commit-script should not
complain that there's nothing to commit.

Also, add "[--all]" to usage().

[jc: usually there is no reason to record an unchanging merge,
but this code path is triggered only when there is a nontrivial
merge that needed to be resolved by hand, and we should be able
to record the fact that these two tree heads are dealt with as a
regular two-parent commit in order to help later merges.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-05 23:06:58 -07:00
Junio C Hamano
f6e1a4d6dc [PATCH] Audit rev-parse users.
This patch changes rev-parse users that pass a single argument
that is supposed to be a rev parameter to use "--verify".

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22 20:34:16 -07:00
Linus Torvalds
f0b32737ad Add "git commit --all" since everybody seems to want it.
This replaces

	git-diff-files --name-only | xargs git-update-cache
	git commit

with a new "--all" argument to "git commit".
2005-07-19 07:20:39 -04:00
Linus Torvalds
b33e966608 Add "git-sh-setup-script" for common git shell script setup
It sets up the normal git environment variables and a few helper
functions (currently just "die()"), and returns ok if it all looks like
a git archive.  So use it something like

	. git-sh-setup-script || die "Not a git archive"

to make the rest of the git scripts more careful and readable.
2005-07-08 10:57:21 -07:00
Junio C Hamano
5fec3ef101 [PATCH] git-commit-script: get commit message from an existing one.
With -m flag specified, git-commit-script takes the commit
message along with author information from an existing commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:52:16 -07:00
Linus Torvalds
0795495388 Let "git commit" take arguments for files to commit.
It does a "git-update-cache" on the arguments, meaning that you can
commit files without doing a separate "git-update-cache".  This commit
was done with

	git commit git-commit-script

for example.
2005-06-20 21:20:41 -07:00
Linus Torvalds
170241b7d1 Make "git commit" clean up after itself
Noted by Jeff.
2005-06-19 19:57:01 -07:00
Linus Torvalds
96069cf03a Make "git commit" handle initial commits too
No need to confuse ex-CVS users with a complex initial commit sequence.
2005-06-14 10:20:14 -07:00
Linus Torvalds
7f1d112962 Remove MERGE_HEAD after committing merge 2005-06-08 13:44:32 -07:00
Linus Torvalds
9c065315f7 Make "git commit" work correctly in the presense of a manual merge
This has gotten only very light testing, but something like this is
clearly necessary and did the right thing for the one case I threw at
it.
2005-06-08 13:33:15 -07:00
Alexey Guzeev
ef6a46e6ea [PATCH] git: git-commit-script ignores $GIT_DIR 2005-06-01 07:51:51 -07:00
Junio C Hamano
2036d84102 [PATCH] Buglets fix in the new two scripts
Should be obvious...

 - Use $VISUAL, $EDITOR, in this order if set, and fall back on
   vi.

 - Status R, C, D, N usually are followed by number, so adjust
   case arms to that pattern.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-30 18:10:46 -07:00
Linus Torvalds
a3e870f2e2 Add "commit" helper script
This is meant to make raw git not hugely less usable than something
like raw CVS. I want to make a 1.0 release of the plumbing, and the
actual commit part was just too intimidating.
2005-05-30 12:51:00 -07:00