diff options
| author | Junio C Hamano <gitster@pobox.com> | 2009-11-30 14:43:26 -0800 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2009-11-30 14:43:26 -0800 | 
| commit | c142465c07b7857ebb4816fe95c3d212aa825bcc (patch) | |
| tree | 0be9585e701bbdabc4a6f940807e26b3d862df48 /builtin-commit.c | |
| parent | d268cb940d6d299cbb7c77328c2f51843b0883df (diff) | |
| parent | c51f6ceed6a9a436f16f8b4f17eab1a3d17cffed (diff) | |
| download | git-c142465c07b7857ebb4816fe95c3d212aa825bcc.tar.gz | |
Merge branch 'em/commit-claim'
Diffstat (limited to 'builtin-commit.c')
| -rw-r--r-- | builtin-commit.c | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/builtin-commit.c b/builtin-commit.c index 09d28405ec..e93a647c59 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -51,7 +51,7 @@ static const char *template_file;  static char *edit_message, *use_message;  static char *author_name, *author_email, *author_date;  static int all, edit_flag, also, interactive, only, amend, signoff; -static int quiet, verbose, no_verify, allow_empty, dry_run; +static int quiet, verbose, no_verify, allow_empty, dry_run, renew_authorship;  static char *untracked_files_arg;  /*   * The default commit message cleanup mode will remove the lines @@ -91,8 +91,9 @@ static struct option builtin_commit_options[] = {  	OPT_FILENAME('F', "file", &logfile, "read log from file"),  	OPT_STRING(0, "author", &force_author, "AUTHOR", "override author for commit"),  	OPT_CALLBACK('m', "message", &message, "MESSAGE", "specify commit message", opt_parse_m), -	OPT_STRING('c', "reedit-message", &edit_message, "COMMIT", "reuse and edit message from specified commit "), +	OPT_STRING('c', "reedit-message", &edit_message, "COMMIT", "reuse and edit message from specified commit"),  	OPT_STRING('C', "reuse-message", &use_message, "COMMIT", "reuse message from specified commit"), +	OPT_BOOLEAN(0, "reset-author", &renew_authorship, "the commit is authored by me now (used with -C-c/--amend)"),  	OPT_BOOLEAN('s', "signoff", &signoff, "add Signed-off-by:"),  	OPT_FILENAME('t', "template", &template_file, "use specified template file"),  	OPT_BOOLEAN('e', "edit", &edit_flag, "force edit of commit"), @@ -381,7 +382,7 @@ static void determine_author_info(void)  	email = getenv("GIT_AUTHOR_EMAIL");  	date = getenv("GIT_AUTHOR_DATE"); -	if (use_message) { +	if (use_message && !renew_authorship) {  		const char *a, *lb, *rb, *eol;  		a = strstr(use_message_buffer, "\nauthor "); @@ -747,6 +748,9 @@ static int parse_and_validate_options(int argc, const char *argv[],  	if (force_author && !strchr(force_author, '>'))  		force_author = find_author_by_nickname(force_author); +	if (force_author && renew_authorship) +		die("Using both --reset-author and --author does not make sense"); +  	if (logfile || message.len || use_message)  		use_editor = 0;  	if (edit_flag) @@ -780,6 +784,8 @@ static int parse_and_validate_options(int argc, const char *argv[],  		use_message = edit_message;  	if (amend && !use_message)  		use_message = "HEAD"; +	if (!use_message && renew_authorship) +		die("--reset-author can be used only with -C, -c or --amend.");  	if (use_message) {  		unsigned char sha1[20];  		static char utf8[] = "UTF-8"; | 
