{"thread":{"id":"26229","subject":"Wish: make commiter email address configurable per-repo","startedAt":"2011-01-07T13:16:49Z","lastAt":"2011-01-20T19:19:03Z","messageCount":19,"participants":["Stephen Kelly","Thomas Rast","Erik Faye-Lund","Ramkumar Ramachandra","Jonathan Nieder","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"159103","messageId":"ig73o1$lbg$1@dough.gmane.org","threadId":"26229","inReplyTo":null,"subject":"Wish: make commiter email address configurable per-repo","fromName":"Stephen Kelly","fromEmail":"steveire@gmail.com","sentAt":"2011-01-07T13:16:49Z","receivedAt":"2011-01-07T13:16:49Z","isPatch":false,"sender":{"key":"steveire@gmail.com","avatar":null},"body":"Hi,\n\nIn KDE the committer email address is used to be able to use keywords in \ncommit messages to automatically close bugs.\n\nIf my email address that I use for committing is not the same as that \nconfigured in the bugzilla, the automated bug closing does not work.\n\nSo for some git repos in KDE which I work on on work time, I'd like to set a \ndifferent committer address. I can't just set GIT_COMMITTER_EMAIL or \nwhatever in my bashrc, because in other repos I want to use a different \ncommitter email, and don't want it set globally for all git repos I work on.\n\nThis doesn't seem to be configurable in git config. Can that be changed?\n\nAll the best,\n\nSteve.\n"},{"id":"159104","messageId":"201101071420.40570.trast@student.ethz.ch","threadId":"26229","inReplyTo":"ig73o1$lbg$1@dough.gmane.org","subject":"Re: Wish: make commiter email address configurable per-repo","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2011-01-07T13:20:40Z","receivedAt":"2011-01-07T13:20:40Z","isPatch":false,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Stephen Kelly wrote:\n> So for some git repos in KDE which I work on on work time, I'd like to set a \n> different committer address. I can't just set GIT_COMMITTER_EMAIL or \n> whatever in my bashrc, because in other repos I want to use a different \n> committer email, and don't want it set globally for all git repos I work on.\n> \n> This doesn't seem to be configurable in git config. Can that be changed?\n\nSee user.email in git-config(1).  Most people set it globally, as in\n\n  git config --global user.email \"author@example.com\"\n\nbut there's nothing stopping you from doing\n\n  git config user.email \"alias@example.com\"\n\nto set it on a per-repo level.  (Or just edit .git/config, of course.)\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"159105","messageId":"ig7449$lbg$2@dough.gmane.org","threadId":"26229","inReplyTo":"201101071420.40570.trast@student.ethz.ch","subject":"Re: Wish: make commiter email address configurable per-repo","fromName":"Stephen Kelly","fromEmail":"steveire@gmail.com","sentAt":"2011-01-07T13:23:21Z","receivedAt":"2011-01-07T13:23:21Z","isPatch":false,"sender":{"key":"steveire@gmail.com","avatar":null},"body":"Thomas Rast wrote:\n\n> Stephen Kelly wrote:\n>> So for some git repos in KDE which I work on on work time, I'd like to\n>> set a different committer address. I can't just set GIT_COMMITTER_EMAIL\n>> or whatever in my bashrc, because in other repos I want to use a\n>> different committer email, and don't want it set globally for all git\n>> repos I work on.\n>> \n>> This doesn't seem to be configurable in git config. Can that be changed?\n> \n> See user.email in git-config(1).  Most people set it globally, as in\n> \n>   git config --global user.email \"author@example.com\"\n> \n> but there's nothing stopping you from doing\n> \n>   git config user.email \"alias@example.com\"\n> \n> to set it on a per-repo level.  (Or just edit .git/config, of course.)\n> \n\nDoesn't this set both the author and the committer?\n"},{"id":"159106","messageId":"201101071443.51574.trast@student.ethz.ch","threadId":"26229","inReplyTo":"ig7449$lbg$2@dough.gmane.org","subject":"Re: Wish: make commiter email address configurable per-repo","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2011-01-07T13:43:51Z","receivedAt":"2011-01-07T13:43:51Z","isPatch":false,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Stephen Kelly wrote:\n> Thomas Rast wrote:\n> > See user.email in git-config(1).  Most people set it globally, as in\n> > \n> >   git config --global user.email \"author@example.com\"\n> > \n> > but there's nothing stopping you from doing\n> > \n> >   git config user.email \"alias@example.com\"\n> > \n> > to set it on a per-repo level.  (Or just edit .git/config, of course.)\n> \n> Doesn't this set both the author and the committer?\n\nStephen Kelly wrote earlier:\n> If my email address that I use for committing is not the same as that \n> configured in the bugzilla, the automated bug closing does not work.\n\nOh, I see.  Yes, it does.\n\nProbably if KDE has this use-case then that means we need to implement\nit as a feature on size alone, but I briefly looked into the code and\nit requires a bit more restructuring than I'm willing to do over\ncoffee.\n\nI think as a stop-gap measure you'll have to use an alias such as\n\n  ci = commit --author=\"your usual <author>\"\n\nalong with a local setting for user.email to force them to be\ndifferent.  (Note that this will re-set the author when saying 'git\nci --amend' on other people's commits!)\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"159122","messageId":"ig7kej$j4p$1@dough.gmane.org","threadId":"26229","inReplyTo":"201101071443.51574.trast@student.ethz.ch","subject":"Re: Wish: make commiter email address configurable per-repo","fromName":"Stephen Kelly","fromEmail":"steveire@gmail.com","sentAt":"2011-01-07T18:01:54Z","receivedAt":"2011-01-07T18:01:54Z","isPatch":false,"sender":{"key":"steveire@gmail.com","avatar":null},"body":"Thomas Rast wrote:\n\n> Stephen Kelly wrote:\n>> Thomas Rast wrote:\n>> > See user.email in git-config(1).  Most people set it globally, as in\n>> > \n>> >   git config --global user.email \"author@example.com\"\n>> > \n>> > but there's nothing stopping you from doing\n>> > \n>> >   git config user.email \"alias@example.com\"\n>> > \n>> > to set it on a per-repo level.  (Or just edit .git/config, of course.)\n>> \n>> Doesn't this set both the author and the committer?\n> \n> Oh, I see.  Yes, it does.\n>\n> Stephen Kelly wrote earlier:\n>> If my email address that I use for committing is not the same as that\n>> configured in the bugzilla, the automated bug closing does not work.\n> \n> \n> Probably if KDE has this use-case then that means we need to implement\n> it as a feature on size alone, but I briefly looked into the code and\n> it requires a bit more restructuring than I'm willing to do over\n> coffee.\n> \n> I think as a stop-gap measure you'll have to use an alias such as\n> \n>   ci = commit --author=\"your usual <author>\"\n> \n> along with a local setting for user.email to force them to be\n> different.  (Note that this will re-set the author when saying 'git\n> ci --amend' on other people's commits!)\n> \n\nThanks for looking into it!\n\nI'll consider the alias you suggest. Git command aliases can be configured \nper repo, right?\n\nIs there a bug tracker used for git so that this issue doesn't get lost?\n\nAll the best,\n\nSteve.\n"},{"id":"159125","messageId":"AANLkTikaSwLGG_=uhF+-YqOHrqtLRBqc2qLw46G03-pg@mail.gmail.com","threadId":"26229","inReplyTo":"ig7kej$j4p$1@dough.gmane.org","subject":"Re: Wish: make commiter email address configurable per-repo","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2011-01-07T18:19:01Z","receivedAt":"2011-01-07T18:19:01Z","isPatch":false,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Fri, Jan 7, 2011 at 7:01 PM, Stephen Kelly <steveire@gmail.com> wrote:\n> Thomas Rast wrote:\n>\n>> Stephen Kelly wrote:\n>>> Thomas Rast wrote:\n>>> > See user.email in git-config(1).  Most people set it globally, as in\n>>> >\n>>> >   git config --global user.email \"author@example.com\"\n>>> >\n>>> > but there's nothing stopping you from doing\n>>> >\n>>> >   git config user.email \"alias@example.com\"\n>>> >\n>>> > to set it on a per-repo level.  (Or just edit .git/config, of course.)\n>>>\n>>> Doesn't this set both the author and the committer?\n>>\n>> Oh, I see.  Yes, it does.\n>>\n>> Stephen Kelly wrote earlier:\n>>> If my email address that I use for committing is not the same as that\n>>> configured in the bugzilla, the automated bug closing does not work.\n>>\n>>\n>> Probably if KDE has this use-case then that means we need to implement\n>> it as a feature on size alone, but I briefly looked into the code and\n>> it requires a bit more restructuring than I'm willing to do over\n>> coffee.\n>>\n>> I think as a stop-gap measure you'll have to use an alias such as\n>>\n>>   ci = commit --author=\"your usual <author>\"\n>>\n>> along with a local setting for user.email to force them to be\n>> different.  (Note that this will re-set the author when saying 'git\n>> ci --amend' on other people's commits!)\n>>\n>\n> Thanks for looking into it!\n>\n> I'll consider the alias you suggest. Git command aliases can be configured\n> per repo, right?\n>\n\nYes, aliases are normal configuration variables, and can be set per repo.\n\n> Is there a bug tracker used for git so that this issue doesn't get lost?\n>\n\nNo, just this mailing list.\n"},{"id":"159203","messageId":"1294473809-11850-1-git-send-email-artagnon@gmail.com","threadId":"26229","inReplyTo":"ig73o1$lbg$1@dough.gmane.org","subject":"[PATCH] Introduce new configuation option to override committer information","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-01-08T08:03:29Z","receivedAt":"2011-01-08T08:03:29Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Currently, there is no way to set committer information on a\nper-repository basis. The 'user.name' and 'user.email' configuration\noptions set both author and committer information. To solve this,\nintroduce 'user.committername' and 'user.committeremail' configuration\noptions to override committer name and email respectively.\n\nReported-by: Stephen Kelly <steveire@gmail.com>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/config.txt |   29 +++++++++++++++++++++++------\n builtin/blame.c          |    2 +-\n builtin/commit.c         |    4 ++--\n cache.h                  |    4 +++-\n config.c                 |   15 +++++++++++++++\n environment.c            |    2 ++\n ident.c                  |   18 ++++++++++++------\n 7 files changed, 58 insertions(+), 16 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 6a6c0b5..5405a4c 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -1842,14 +1842,31 @@ url.<base>.pushInsteadOf::\n \tsetting for that remote.\n \n user.email::\n-\tYour email address to be recorded in any newly created commits.\n-\tCan be overridden by the 'GIT_AUTHOR_EMAIL', 'GIT_COMMITTER_EMAIL', and\n-\t'EMAIL' environment variables.  See linkgit:git-commit-tree[1].\n+\tThe email address to be recorded in any newly created commits.\n+\tSets both author and committer email.  To override only\n+\tcommitter email, use 'user.committeremail'.  Can be overridden\n+\tby the 'GIT_AUTHOR_EMAIL', 'GIT_COMMITTER_EMAIL', and 'EMAIL'\n+\tenvironment variables.  See linkgit:git-commit-tree[1].\n \n user.name::\n-\tYour full name to be recorded in any newly created commits.\n-\tCan be overridden by the 'GIT_AUTHOR_NAME' and 'GIT_COMMITTER_NAME'\n-\tenvironment variables.  See linkgit:git-commit-tree[1].\n+\tThe full name to be recorded in any newly created commits.\n+\tSets both author and committer name.  To override only\n+\tcommitter name, use 'user.committername'.  Can be overridden\n+\tby the 'GIT_AUTHOR_NAME' and 'GIT_COMMITTER_NAME' environment\n+\tvariables.  See linkgit:git-commit-tree[1].\n+\n+user.committeremail::\n+\tThe email address of the committer to use while recording\n+\tnewly created commits.  Used to override committer email\n+\tspecified in 'user.email'.  Can be overridden by the\n+\t'GIT_COMMITTER_EMAIL', and 'EMAIL' environment variables.  See\n+\tlinkgit:git-commit-tree[1].\n+\n+user.committername::\n+\tThe full name of the committer to use while recording newly\n+\tcreated commits.  Used to override committer name specified in\n+\t'user.name'.  Can be overridden by the 'GIT_COMMITTER_NAME'\n+\tenvironment variable.  See linkgit:git-commit-tree[1].\n \n user.signingkey::\n \tIf linkgit:git-tag[1] is not selecting the key you want it to\ndiff --git a/builtin/blame.c b/builtin/blame.c\nindex f5fccc1..1f47130 100644\n--- a/builtin/blame.c\n+++ b/builtin/blame.c\n@@ -2146,7 +2146,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,\n \tcache_tree_invalidate_path(active_cache_tree, path);\n \n \tcommit->buffer = xmalloc(400);\n-\tident = fmt_ident(\"Not Committed Yet\", \"not.committed.yet\", NULL, 0);\n+\tident = fmt_ident(\"Not Committed Yet\", \"not.committed.yet\", NULL, 0, 0);\n \tsnprintf(commit->buffer, 400,\n \t\t\"tree 0000000000000000000000000000000000000000\\n\"\n \t\t\"parent %s\\n\"\ndiff --git a/builtin/commit.c b/builtin/commit.c\nindex 4fd1a16..a449a13 100644\n--- a/builtin/commit.c\n+++ b/builtin/commit.c\n@@ -1352,8 +1352,8 @@ int cmd_commit(int argc, const char **argv, const char *prefix)\n \t}\n \n \tif (commit_tree(sb.buf, active_cache_tree->sha1, parents, commit_sha1,\n-\t\t\tfmt_ident(author_name, author_email, author_date,\n-\t\t\t\tIDENT_ERROR_ON_NO_NAME))) {\n+\t\t\t\tfmt_ident(author_name, author_email, author_date,\n+\t\t\t\t0, IDENT_ERROR_ON_NO_NAME))) {\n \t\trollback_index_files();\n \t\tdie(\"failed to write commit object\");\n \t}\ndiff --git a/cache.h b/cache.h\nindex 33decd9..91740c0 100644\n--- a/cache.h\n+++ b/cache.h\n@@ -833,7 +833,7 @@ enum date_mode parse_date_format(const char *format);\n #define IDENT_NO_DATE\t       4\n extern const char *git_author_info(int);\n extern const char *git_committer_info(int);\n-extern const char *fmt_ident(const char *name, const char *email, const char *date_str, int);\n+extern const char *fmt_ident(const char *name, const char *email, const char *date_str, int, int);\n extern const char *fmt_name(const char *name, const char *email);\n extern const char *git_editor(void);\n extern const char *git_pager(int stdout_is_tty);\n@@ -1008,6 +1008,8 @@ extern const char *config_exclusive_filename;\n #define MAX_GITNAME (1000)\n extern char git_default_email[MAX_GITNAME];\n extern char git_default_name[MAX_GITNAME];\n+extern char git_default_committeremail[MAX_GITNAME];\n+extern char git_default_committername[MAX_GITNAME];\n #define IDENT_NAME_GIVEN 01\n #define IDENT_MAIL_GIVEN 02\n #define IDENT_ALL_GIVEN (IDENT_NAME_GIVEN|IDENT_MAIL_GIVEN)\ndiff --git a/config.c b/config.c\nindex c63d683..ba130dc 100644\n--- a/config.c\n+++ b/config.c\n@@ -665,6 +665,21 @@ static int git_default_user_config(const char *var, const char *value)\n \t\treturn 0;\n \t}\n \n+\tif (!strcmp(var, \"user.committername\")) {\n+\t\tif (!value)\n+\t\t\treturn config_error_nonbool(var);\n+\t\tstrlcpy(git_default_committername, value,\n+\t\t\tsizeof(git_default_committername));\n+\t\treturn 0;\n+\t}\n+\n+\tif (!strcmp(var, \"user.committeremail\")) {\n+\t\tif (!value)\n+\t\t\treturn config_error_nonbool(var);\n+\t\tstrlcpy(git_default_committeremail, value,\n+\t\t\tsizeof(git_default_committeremail));\n+\t\treturn 0;\n+\t}\n \t/* Add other config variables here and to Documentation/config.txt. */\n \treturn 0;\n }\ndiff --git a/environment.c b/environment.c\nindex de5581f..1277764 100644\n--- a/environment.c\n+++ b/environment.c\n@@ -11,6 +11,8 @@\n \n char git_default_email[MAX_GITNAME];\n char git_default_name[MAX_GITNAME];\n+char git_default_committeremail[MAX_GITNAME];\n+char git_default_committername[MAX_GITNAME];\n int user_ident_explicitly_given;\n int trust_executable_bit = 1;\n int trust_ctime = 1;\ndiff --git a/ident.c b/ident.c\nindex 9e24388..b3dcaaa 100644\n--- a/ident.c\n+++ b/ident.c\n@@ -183,7 +183,7 @@ static const char *env_hint =\n \"\\n\";\n \n const char *fmt_ident(const char *name, const char *email,\n-\t\t      const char *date_str, int flag)\n+\t\tconst char *date_str, int committer_info, int flag)\n {\n \tstatic char buffer[1000];\n \tchar date[50];\n@@ -193,9 +193,15 @@ const char *fmt_ident(const char *name, const char *email,\n \tint name_addr_only = (flag & IDENT_NO_DATE);\n \n \tsetup_ident();\n-\tif (!name)\n+\tif (committer_info) {\n+\t\tif (!name)\n+\t\t\tname = git_default_committername;\n+\t\tif (!email)\n+\t\t\temail = git_default_committeremail;\n+\t}\n+\tif (!name || !*name)\n \t\tname = git_default_name;\n-\tif (!email)\n+\tif (!email || !*email)\n \t\temail = git_default_email;\n \n \tif (!*name) {\n@@ -237,7 +243,7 @@ const char *fmt_ident(const char *name, const char *email,\n \n const char *fmt_name(const char *name, const char *email)\n {\n-\treturn fmt_ident(name, email, NULL, IDENT_ERROR_ON_NO_NAME | IDENT_NO_DATE);\n+\treturn fmt_ident(name, email, NULL, 0, IDENT_ERROR_ON_NO_NAME | IDENT_NO_DATE);\n }\n \n const char *git_author_info(int flag)\n@@ -245,7 +251,7 @@ const char *git_author_info(int flag)\n \treturn fmt_ident(getenv(\"GIT_AUTHOR_NAME\"),\n \t\t\t getenv(\"GIT_AUTHOR_EMAIL\"),\n \t\t\t getenv(\"GIT_AUTHOR_DATE\"),\n-\t\t\t flag);\n+\t\t\t 0, flag);\n }\n \n const char *git_committer_info(int flag)\n@@ -257,7 +263,7 @@ const char *git_committer_info(int flag)\n \treturn fmt_ident(getenv(\"GIT_COMMITTER_NAME\"),\n \t\t\t getenv(\"GIT_COMMITTER_EMAIL\"),\n \t\t\t getenv(\"GIT_COMMITTER_DATE\"),\n-\t\t\t flag);\n+\t\t\t 1, flag);\n }\n \n int user_ident_sufficiently_given(void)\n-- \n1.7.2.2.409.gdbb11.dirty\n"},{"id":"159232","messageId":"igadki$4tb$2@dough.gmane.org","threadId":"26229","inReplyTo":"1294473809-11850-1-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH] Introduce new configuation option to override committer information","fromName":"Stephen Kelly","fromEmail":"steveire@gmail.com","sentAt":"2011-01-08T19:24:01Z","receivedAt":"2011-01-08T19:24:01Z","isPatch":true,"sender":{"key":"steveire@gmail.com","avatar":null},"body":"Ramkumar Ramachandra wrote:\n\n> Currently, there is no way to set committer information on a\n> per-repository basis. The 'user.name' and 'user.email' configuration\n> options set both author and committer information. To solve this,\n> introduce 'user.committername' and 'user.committeremail' configuration\n> options to override committer name and email respectively.\n> \n> Reported-by: Stephen Kelly <steveire@gmail.com>\n> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.co\n\n<snip>\n\nThanks for working on this. I wanted to try it out, but it no longer applies \ncleanly since 4c28e4ada03f5440251545cf91e0d81bce9b010d and after trivial \nmerging, I can't build.\n\nCan you update the patch?\n\nThanks,\n\nSteve.\n"},{"id":"159241","messageId":"1294568989-5848-1-git-send-email-artagnon@gmail.com","threadId":"26229","inReplyTo":"igadki$4tb$2@dough.gmane.org","subject":"[PATCH v2] Introduce new configuation option to override committer information","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-01-09T10:29:49Z","receivedAt":"2011-01-09T10:29:49Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Currently, there is no way to set committer information on a\nper-repository basis. The 'user.name' and 'user.email' configuration\noptions set both author and committer information. To solve this,\nintroduce 'user.committername' and 'user.committeremail' configuration\noptions to override committer name and email respectively.\n\nReported-by: Stephen Kelly <steveire@gmail.com>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Differences since v1: just rebased. Applies cleanly to master now.\n Stephen: Please do not cull CC.\n\n Documentation/config.txt |   29 +++++++++++++++++++++++------\n builtin/blame.c          |    2 +-\n builtin/commit.c         |    2 +-\n cache.h                  |    4 +++-\n config.c                 |   15 +++++++++++++++\n environment.c            |    2 ++\n ident.c                  |   18 ++++++++++++------\n 7 files changed, 57 insertions(+), 15 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex ff7c225..0b89cb6 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -1866,14 +1866,31 @@ url.<base>.pushInsteadOf::\n \tsetting for that remote.\n \n user.email::\n-\tYour email address to be recorded in any newly created commits.\n-\tCan be overridden by the 'GIT_AUTHOR_EMAIL', 'GIT_COMMITTER_EMAIL', and\n-\t'EMAIL' environment variables.  See linkgit:git-commit-tree[1].\n+\tThe email address to be recorded in any newly created commits.\n+\tSets both author and committer email.  To override only\n+\tcommitter email, use 'user.committeremail'.  Can be overridden\n+\tby the 'GIT_AUTHOR_EMAIL', 'GIT_COMMITTER_EMAIL', and 'EMAIL'\n+\tenvironment variables.  See linkgit:git-commit-tree[1].\n \n user.name::\n-\tYour full name to be recorded in any newly created commits.\n-\tCan be overridden by the 'GIT_AUTHOR_NAME' and 'GIT_COMMITTER_NAME'\n-\tenvironment variables.  See linkgit:git-commit-tree[1].\n+\tThe full name to be recorded in any newly created commits.\n+\tSets both author and committer name.  To override only\n+\tcommitter name, use 'user.committername'.  Can be overridden\n+\tby the 'GIT_AUTHOR_NAME' and 'GIT_COMMITTER_NAME' environment\n+\tvariables.  See linkgit:git-commit-tree[1].\n+\n+user.committeremail::\n+\tThe email address of the committer to use while recording\n+\tnewly created commits.  Used to override committer email\n+\tspecified in 'user.email'.  Can be overridden by the\n+\t'GIT_COMMITTER_EMAIL', and 'EMAIL' environment variables.  See\n+\tlinkgit:git-commit-tree[1].\n+\n+user.committername::\n+\tThe full name of the committer to use while recording newly\n+\tcreated commits.  Used to override committer name specified in\n+\t'user.name'.  Can be overridden by the 'GIT_COMMITTER_NAME'\n+\tenvironment variable.  See linkgit:git-commit-tree[1].\n \n user.signingkey::\n \tIf linkgit:git-tag[1] is not selecting the key you want it to\ndiff --git a/builtin/blame.c b/builtin/blame.c\nindex aa30ec5..7fc4d56 100644\n--- a/builtin/blame.c\n+++ b/builtin/blame.c\n@@ -2161,7 +2161,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,\n \tcache_tree_invalidate_path(active_cache_tree, path);\n \n \tcommit->buffer = xmalloc(400);\n-\tident = fmt_ident(\"Not Committed Yet\", \"not.committed.yet\", NULL, 0);\n+\tident = fmt_ident(\"Not Committed Yet\", \"not.committed.yet\", NULL, 0, 0);\n \tsnprintf(commit->buffer, 400,\n \t\t\"tree 0000000000000000000000000000000000000000\\n\"\n \t\t\"parent %s\\n\"\ndiff --git a/builtin/commit.c b/builtin/commit.c\nindex 22ba54f..4d0dcac 100644\n--- a/builtin/commit.c\n+++ b/builtin/commit.c\n@@ -505,7 +505,7 @@ static void determine_author_info(struct strbuf *author_ident)\n \n \tif (force_date)\n \t\tdate = force_date;\n-\tstrbuf_addstr(author_ident, fmt_ident(name, email, date,\n+\tstrbuf_addstr(author_ident, fmt_ident(name, email, date, 0,\n \t\t\t\t\t      IDENT_ERROR_ON_NO_NAME));\n }\n \ndiff --git a/cache.h b/cache.h\nindex d83d68c..bf22df6 100644\n--- a/cache.h\n+++ b/cache.h\n@@ -834,7 +834,7 @@ enum date_mode parse_date_format(const char *format);\n #define IDENT_NO_DATE\t       4\n extern const char *git_author_info(int);\n extern const char *git_committer_info(int);\n-extern const char *fmt_ident(const char *name, const char *email, const char *date_str, int);\n+extern const char *fmt_ident(const char *name, const char *email, const char *date_str, int, int);\n extern const char *fmt_name(const char *name, const char *email);\n extern const char *git_editor(void);\n extern const char *git_pager(int stdout_is_tty);\n@@ -1013,6 +1013,8 @@ extern const char *config_exclusive_filename;\n #define MAX_GITNAME (1000)\n extern char git_default_email[MAX_GITNAME];\n extern char git_default_name[MAX_GITNAME];\n+extern char git_default_committeremail[MAX_GITNAME];\n+extern char git_default_committername[MAX_GITNAME];\n #define IDENT_NAME_GIVEN 01\n #define IDENT_MAIL_GIVEN 02\n #define IDENT_ALL_GIVEN (IDENT_NAME_GIVEN|IDENT_MAIL_GIVEN)\ndiff --git a/config.c b/config.c\nindex 625e051..3032522 100644\n--- a/config.c\n+++ b/config.c\n@@ -682,6 +682,21 @@ static int git_default_user_config(const char *var, const char *value)\n \t\treturn 0;\n \t}\n \n+\tif (!strcmp(var, \"user.committername\")) {\n+\t\tif (!value)\n+\t\t\treturn config_error_nonbool(var);\n+\t\tstrlcpy(git_default_committername, value,\n+\t\t\tsizeof(git_default_committername));\n+\t\treturn 0;\n+\t}\n+\n+\tif (!strcmp(var, \"user.committeremail\")) {\n+\t\tif (!value)\n+\t\t\treturn config_error_nonbool(var);\n+\t\tstrlcpy(git_default_committeremail, value,\n+\t\t\tsizeof(git_default_committeremail));\n+\t\treturn 0;\n+\t}\n \t/* Add other config variables here and to Documentation/config.txt. */\n \treturn 0;\n }\ndiff --git a/environment.c b/environment.c\nindex 9564475..641d6ca 100644\n--- a/environment.c\n+++ b/environment.c\n@@ -11,6 +11,8 @@\n \n char git_default_email[MAX_GITNAME];\n char git_default_name[MAX_GITNAME];\n+char git_default_committeremail[MAX_GITNAME];\n+char git_default_committername[MAX_GITNAME];\n int user_ident_explicitly_given;\n int trust_executable_bit = 1;\n int trust_ctime = 1;\ndiff --git a/ident.c b/ident.c\nindex 1c4adb0..1a616b7 100644\n--- a/ident.c\n+++ b/ident.c\n@@ -183,7 +183,7 @@ static const char *env_hint =\n \"\\n\";\n \n const char *fmt_ident(const char *name, const char *email,\n-\t\t      const char *date_str, int flag)\n+\t\tconst char *date_str, int committer_info, int flag)\n {\n \tstatic char buffer[1000];\n \tchar date[50];\n@@ -193,9 +193,15 @@ const char *fmt_ident(const char *name, const char *email,\n \tint name_addr_only = (flag & IDENT_NO_DATE);\n \n \tsetup_ident();\n-\tif (!name)\n+\tif (committer_info) {\n+\t\tif (!name)\n+\t\t\tname = git_default_committername;\n+\t\tif (!email)\n+\t\t\temail = git_default_committeremail;\n+\t}\n+\tif (!name || !*name)\n \t\tname = git_default_name;\n-\tif (!email)\n+\tif (!email || !*email)\n \t\temail = git_default_email;\n \n \tif (!*name) {\n@@ -239,7 +245,7 @@ const char *fmt_ident(const char *name, const char *email,\n \n const char *fmt_name(const char *name, const char *email)\n {\n-\treturn fmt_ident(name, email, NULL, IDENT_ERROR_ON_NO_NAME | IDENT_NO_DATE);\n+\treturn fmt_ident(name, email, NULL, 0, IDENT_ERROR_ON_NO_NAME | IDENT_NO_DATE);\n }\n \n const char *git_author_info(int flag)\n@@ -247,7 +253,7 @@ const char *git_author_info(int flag)\n \treturn fmt_ident(getenv(\"GIT_AUTHOR_NAME\"),\n \t\t\t getenv(\"GIT_AUTHOR_EMAIL\"),\n \t\t\t getenv(\"GIT_AUTHOR_DATE\"),\n-\t\t\t flag);\n+\t\t\t 0, flag);\n }\n \n const char *git_committer_info(int flag)\n@@ -259,7 +265,7 @@ const char *git_committer_info(int flag)\n \treturn fmt_ident(getenv(\"GIT_COMMITTER_NAME\"),\n \t\t\t getenv(\"GIT_COMMITTER_EMAIL\"),\n \t\t\t getenv(\"GIT_COMMITTER_DATE\"),\n-\t\t\t flag);\n+\t\t\t 1, flag);\n }\n \n int user_ident_sufficiently_given(void)\n-- \n1.7.2.2.409.gdbb11.dirty\n"},{"id":"159247","messageId":"20110109172431.GA7718@burratino","threadId":"26229","inReplyTo":"1294568989-5848-1-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2011-01-09T17:24:31Z","receivedAt":"2011-01-09T17:24:31Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Ramkumar Ramachandra wrote:\n\n> The 'user.name' and 'user.email' configuration\n> options set both author and committer information. To solve this,\n> introduce 'user.committername' and 'user.committeremail' configuration\n> options to override committer name and email respectively.\n\nPredictably, I don't like this idea at all.  How would we explain this\nto a new user that is reading over gitconfig(5) for the first time?\nIt makes the semantics of the committer and author name (that are mostly\nmeant for giving credit and a contact address) much more murky.\n\nStephen Kelly:\n\n> In KDE the committer email address is used to be able to use keywords in \n> commit messages to automatically close bugs.\n\nIs it impossible to fix this on the KDE side?  I would think a\nmany-to-one mapping from committer identities to bugzilla account\nnames could be a useful thing to have in any case.\n\nHopeful,\nJonathan\n"},{"id":"159333","messageId":"AANLkTi=t98=4p=R2DXeCJ0OVPey8EtTLxHQ=3KfqrQpE@mail.gmail.com","threadId":"26229","inReplyTo":"20110109172431.GA7718@burratino","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Stephen Kelly","fromEmail":"steveire@gmail.com","sentAt":"2011-01-11T13:41:09Z","receivedAt":"2011-01-11T13:41:09Z","isPatch":true,"sender":{"key":"steveire@gmail.com","avatar":null},"body":"On Sun, Jan 9, 2011 at 6:24 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:\n> Ramkumar Ramachandra wrote:\n>\n>> The 'user.name' and 'user.email' configuration\n>> options set both author and committer information. To solve this,\n>> introduce 'user.committername' and 'user.committeremail' configuration\n>> options to override committer name and email respectively.\n>\n> Predictably, I don't like this idea at all.  How would we explain this\n> to a new user that is reading over gitconfig(5) for the first time?\n> It makes the semantics of the committer and author name (that are mostly\n> meant for giving credit and a contact address) much more murky.\n\nIt's like the difference between who are you, and what is your log-in\nidentity on remote service X.\n\n>\n> Stephen Kelly:\n>\n>> In KDE the committer email address is used to be able to use keywords in\n>> commit messages to automatically close bugs.\n>\n> Is it impossible to fix this on the KDE side?  I would think a\n> many-to-one mapping from committer identities to bugzilla account\n> names could be a useful thing to have in any case.\n\nI asked that before coming here, and apparently that is not possible.\n\nThanks,\n\nSteve.\n\n>\n> Hopeful,\n> Jonathan\n>\n"},{"id":"159339","messageId":"20110111141857.GB21967@kytes","threadId":"26229","inReplyTo":"AANLkTi=t98=4p=R2DXeCJ0OVPey8EtTLxHQ=3KfqrQpE@mail.gmail.com","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-01-11T14:19:01Z","receivedAt":"2011-01-11T14:19:01Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi,\n\nStephen Kelly writes:\n> On Sun, Jan 9, 2011 at 6:24 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:\n> > Ramkumar Ramachandra wrote:\n> >\n> >> The 'user.name' and 'user.email' configuration\n> >> options set both author and committer information. To solve this,\n> >> introduce 'user.committername' and 'user.committeremail' configuration\n> >> options to override committer name and email respectively.\n> >\n> > Predictably, I don't like this idea at all.  How would we explain this\n> > to a new user that is reading over gitconfig(5) for the first time?\n> > It makes the semantics of the committer and author name (that are mostly\n> > meant for giving credit and a contact address) much more murky.\n> \n> It's like the difference between who are you, and what is your log-in\n> identity on remote service X.\n\nThis feature should not be widely advertised- while it can confuse\nmany new users, I think it's useful to have in some scenarios like\nthis one.\n\n-- Ram\n"},{"id":"159340","messageId":"201101111542.15185.trast@student.ethz.ch","threadId":"26229","inReplyTo":"20110109172431.GA7718@burratino","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2011-01-11T14:42:14Z","receivedAt":"2011-01-11T14:42:14Z","isPatch":true,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Jonathan Nieder wrote:\n> Ramkumar Ramachandra wrote:\n> \n> > The 'user.name' and 'user.email' configuration\n> > options set both author and committer information. To solve this,\n> > introduce 'user.committername' and 'user.committeremail' configuration\n> > options to override committer name and email respectively.\n> \n> Predictably, I don't like this idea at all.  How would we explain this\n> to a new user that is reading over gitconfig(5) for the first time?\n> It makes the semantics of the committer and author name (that are mostly\n> meant for giving credit and a contact address) much more murky.\n\nWell, now that I'm rethinking it, the weird thing is that it does not\noverride in the way that the user intuitively might expect.\n\nAssume we also had user.authoremail for completeness, and you do\n\n  git config --global user.authoremail author@example.com\n  git config --global user.committeremail committer@example.com\n  git config user.email user@example.com\n\nProbably the user would expect this to result in a uniform\nuser@example.com identity for the current repo, but I don't think we\ncan twist it that way with the current config infrastructure.  The\nobvious option of having user.{author,committer}* override the more\ngeneric user.* would be contrary to that intuition.\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"159687","messageId":"ih95il$62b$2@dough.gmane.org","threadId":"26229","inReplyTo":"1294568989-5848-1-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Stephen Kelly","fromEmail":"steveire@gmail.com","sentAt":"2011-01-20T11:16:37Z","receivedAt":"2011-01-20T11:16:37Z","isPatch":true,"sender":{"key":"steveire@gmail.com","avatar":null},"body":"Ramkumar Ramachandra wrote:\n\n> Currently, there is no way to set committer information on a\n> per-repository basis. The 'user.name' and 'user.email' configuration\n> options set both author and committer information. To solve this,\n> introduce 'user.committername' and 'user.committeremail' configuration\n> options to override committer name and email respectively.\n\nIs this patch going to become part of git, or is it in already?\n\nIf not it will probably just get lost because there is no issue tracker.\n\nThanks,\n\nSteve.\n"},{"id":"159688","messageId":"201101201352.01874.trast@student.ethz.ch","threadId":"26229","inReplyTo":"ih95il$62b$2@dough.gmane.org","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2011-01-20T12:52:01Z","receivedAt":"2011-01-20T12:52:01Z","isPatch":true,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Stephen Kelly wrote:\n> \n> Is this patch going to become part of git, or is it in already?\n> \n> If not it will probably just get lost because there is no issue tracker.\n\nDiscussion stalled without an agreement that any patch proposed is\n\"good\", so if it ends here it will be dropped.\n\nYou could probably help getting closer to a solution by:\n\n* Not dropping Cc's all the time.  I saw this email just by chance.\n\n* Stating *why* this cannot be solved in any other way on the KDE\n  end.  So far you only said\n\n  > > Is it impossible to fix this on the KDE side?  I would think a\n  > > many-to-one mapping from committer identities to bugzilla account\n  > > names could be a useful thing to have in any case.\n  > \n  > I asked that before coming here, and apparently that is not possible.\n\n  My gut feeling is that a footer line in the commit along the lines\n  of\n\n    Bugzilla-Id: Registered Name <registered.email@example.com>\n\n  would work.  I suspect others have a similar feeling.  A good case\n  why this is not a feasible solution for (presumably) border cases\n  like you would help get rid of it.\n\n* Replying to e.g.\n\n    http://mid.gmane.org/201101111542.15185.trast@student.ethz.ch\n\n  with (ideally better) ideas of what the semantics should be.  My\n  assessment is that it either conflicts with user expectations or\n  with established git-config mechanisms of how the various files\n  override each other.\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"159693","messageId":"AANLkTin-zUbVmJ3gUsDE5+AkECoAzN2Oim4=45JrcT6o@mail.gmail.com","threadId":"26229","inReplyTo":"201101201352.01874.trast@student.ethz.ch","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Stephen Kelly","fromEmail":"steveire@gmail.com","sentAt":"2011-01-20T15:24:09Z","receivedAt":"2011-01-20T15:24:09Z","isPatch":true,"sender":{"key":"steveire@gmail.com","avatar":null},"body":"On Thu, Jan 20, 2011 at 1:52 PM, Thomas Rast <trast@student.ethz.ch> wrote:\n> Stephen Kelly wrote:\n>>\n>> Is this patch going to become part of git, or is it in already?\n>>\n>> If not it will probably just get lost because there is no issue tracker.\n>\n> Discussion stalled without an agreement that any patch proposed is\n> \"good\", so if it ends here it will be dropped.\n>\n> You could probably help getting closer to a solution by:\n>\n> * Not dropping Cc's all the time.  I saw this email just by chance.\n\nSorry. I've never used a mailing list where you have to keep everyone\nin the CC. I use KNode for reading and writing to mailing lists. I\ndon't see why you can get involved in a thread from the initial mail\npresumably because you read the title and decide it's interesting and\nthen miss the replies even though they have the same title.\n\nHow does it work in this case:\n\nTitle - Stephen\n* Re: Title - Alice\n* * Re Title - Bob\n* Re Title - Charlie\n\nIf you reply to Bob, do you also add Charlie to the CC? Do you search\nthrough everyone in long threads and make sure they're all CC'd?\n\nI'm just trying to understand the mindset/process that everyone else\non this list seems to use.\n\nFWIW there's no need to CC me on replies. I'll see it anyway :)\n\n>\n> * Stating *why* this cannot be solved in any other way on the KDE\n>  end.  So far you only said\n>\n>  > > Is it impossible to fix this on the KDE side?  I would think a\n>  > > many-to-one mapping from committer identities to bugzilla account\n>  > > names could be a useful thing to have in any case.\n>  >\n>  > I asked that before coming here, and apparently that is not possible.\n\nI filed a bug with the KDE sysadmins asking if there was a way of\nconfiguring multiple email addresses in bugzilla. I didn't think of\nadding some custom keywords to the template as you suggest below.\n\n>\n>  My gut feeling is that a footer line in the commit along the lines\n>  of\n>\n>    Bugzilla-Id: Registered Name <registered.email@example.com>\n>\n>  would work.  I suspect others have a similar feeling.  A good case\n>  why this is not a feasible solution for (presumably) border cases\n>  like you would help get rid of it.\n\nYes, my case is a border case. This solution seems to duplicate the\ncommitter email address in concept. It also requires more work for the\nKDE sysadmins.\n\nI think the better solution is to maintain a patched version of git\nexternally. Silly as that sounds.\n\n>\n> * Replying to e.g.\n>\n>    http://mid.gmane.org/201101111542.15185.trast@student.ethz.ch\n>\n>  with (ideally better) ideas of what the semantics should be.  My\n>  assessment is that it either conflicts with user expectations or\n>  with established git-config mechanisms of how the various files\n>  override each other.\n\nYes, I see what you mean in you example. If git config doesn't have\nany cases like this already then there's no prior art and two ways\nforward. I don't want to bikeshed it, so if you want just pick a\nsolution and run with it. Otherwise I'll just continue using my\npatched version and drop the issue here.\n\nThanks,\n\nSteve.\n"},{"id":"159698","messageId":"7vfwsns9dy.fsf@alter.siamese.dyndns.org","threadId":"26229","inReplyTo":"ig7449$lbg$2@dough.gmane.org","subject":"Re: Wish: make commiter email address configurable per-repo","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-01-20T18:44:09Z","receivedAt":"2011-01-20T18:44:09Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stephen Kelly <steveire@gmail.com> writes:\n\n> Thomas Rast wrote:\n>\n>> Stephen Kelly wrote:\n>>> So for some git repos in KDE which I work on on work time, I'd like to\n>>> set a different committer address. I can't just set GIT_COMMITTER_EMAIL\n>>> or whatever in my bashrc, because in other repos I want to use a\n>>> different committer email, and don't want it set globally for all git\n>>> repos I work on.\n>>> \n>>> This doesn't seem to be configurable in git config. Can that be changed?\n>> \n>> See user.email in git-config(1).  Most people set it globally, as in\n>> \n>>   git config --global user.email \"author@example.com\"\n>> \n>> but there's nothing stopping you from doing\n>> \n>>   git config user.email \"alias@example.com\"\n>> \n>> to set it on a per-repo level.  (Or just edit .git/config, of course.)\n>\n> Doesn't this set both the author and the committer?\n\nAnd the reason why that is a bad thing is...?\n"},{"id":"159699","messageId":"7vaaivs8n7.fsf@alter.siamese.dyndns.org","threadId":"26229","inReplyTo":"201101111542.15185.trast@student.ethz.ch","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-01-20T19:00:12Z","receivedAt":"2011-01-20T19:00:12Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Thomas Rast <trast@student.ethz.ch> writes:\n\n> Well, now that I'm rethinking it, the weird thing is that it does not\n> override in the way that the user intuitively might expect.\n>\n> Assume we also had user.authoremail for completeness, and you do\n>\n>   git config --global user.authoremail author@example.com\n>   git config --global user.committeremail committer@example.com\n>   git config user.email user@example.com\n>\n> Probably the user would expect this to result in a uniform\n> user@example.com identity for the current repo, but I don't think we\n> can twist it that way with the current config infrastructure.  The\n> obvious option of having user.{author,committer}* override the more\n> generic user.* would be contrary to that intuition.\n\nThe thing is that the \"intuition\" is not so cut-and-dried.  \"email\" is\nindeed more generic than \"authoremail\", so it is intuitive for the latter\nto override the former.  But \"$HOME/.gitconfig\" is fallback default for\nthe repository specific .git/config so it also is intuitive for anything\nin the latter to override whatever is in the former.  Now you have a\nconflicting \"more specific authoremail in more generic $HOME/.gitconfig vs\nmore generic email in more specific .git/config---which wins?\" situation.\n\nIs there a way to document the rule of precedence clearly?  For this\nparticular case, recommending against setting author/committer-email in\nthe fallback default $HOME/.gitconfig in the Documentation/config.txt\nmight be sufficient.\n\nBut I am still not convinced why two need to be custom-set differently\nwhen both need to name _you_.  After all, Author and Committer are both\nidentifiers taken from the same namespace to identify real people, so if\nyou want to use one value for the committer to name _you_, I don't see a\nsane reason why you want a different name to name the same _you_ in the\nauthor field.\n\nThe specific use case in the thread talks about KDE workflow interpreting\nthe committer identifier in a particular way as a reason for it to be set\nto a particular value, but does not clarify why the author has to be\ndifferent from that particular value for the committer.\n"},{"id":"159701","messageId":"20110120191903.GB11409@burratino","threadId":"26229","inReplyTo":"AANLkTin-zUbVmJ3gUsDE5+AkECoAzN2Oim4=45JrcT6o@mail.gmail.com","subject":"Re: [PATCH v2] Introduce new configuation option to override committer information","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2011-01-20T19:19:03Z","receivedAt":"2011-01-20T19:19:03Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Stephen Kelly wrote:\n> On Thu, Jan 20, 2011 at 1:52 PM, Thomas Rast <trast@student.ethz.ch> wrote:\n\n>>  My gut feeling is that a footer line in the commit along the lines\n>>  of\n>>\n>>    Bugzilla-Id: Registered Name <registered.email@example.com>\n>>\n>>  would work.  I suspect others have a similar feeling.  A good case\n>>  why this is not a feasible solution for (presumably) border cases\n>>  like you would help get rid of it.\n>\n> Yes, my case is a border case. This solution seems to duplicate the\n> committer email address in concept. It also requires more work for the\n> KDE sysadmins.\n\nOkay, this stirred my particular combination of lazy person and\nbusybody.  I volunteer to work on modifying the\ncommit-reading/bug-closing script to take a Bugzilla-Id line into\naccount when present if the KDE sysadmins are willing to accept such a\nmodification.  Another possibility would be a table (for example a\nplain text file) mapping git identities to bugzilla identities.  Could\nyou put me in touch with them?\n\nThanks for your work to improve tools.  I do appreciate it.\n\nJonathan\n"}]}