Re: [PATCH v5 02/14] trailer: process trailers from file and arguments
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Feb 10, 2014, 19:59 UTC
- Message-ID
- <20140210.205936.813126606054805390.chriscool@tuxfamily.org>
- In-Reply-To
- <xmqq61omu96d.fsf@gitster.dls.corp.google.com>
From: Junio C Hamano <gitster@pobox.com> Subject: Re: [PATCH v5 02/14] trailer: process trailers from file and arguments Date: Mon, 10 Feb 2014 10:14:34 -0800
Show 25 quoted lines
> Christian Couder <chriscool@tuxfamily.org> writes: > >> This is what "if_exists" and "if_missing" are all about. >> >> Either: >> >> the same key already exists regardless of the value >> >> and, in this case, what happens depends on what has been specified using >> the "if_exists" configuration variable. >> >> Or: >> >> the same key DOES NOT already exists regardless of the value >> >> and in this case, what happens depends on what has been specified >> using the "if_missing" configuration variable. > > Hmm, how should things like signed-off-by be handled? You may want > to allow many entries with the same key with distinct values, but > duplicated values may want to be handled differently (currently we > only avoid to place a duplicate <key, value> consecutively, but keys > with different semantics (e.g. "fixes-bug: #bugid") may want to say > "unless the same key with the same value exists, append it at the > end".
Many entries with the same key but distinct values can be configured using:
if_exists = add_if_different if_missing = add
Many entries with the same key but values that can be the same can be configured using:
if_exists = add if_missing = add
The place where the trailers are added, if they should be added, can be selected using either "where = after", the default, or "where = before".
"where = after" means just after trailers with the same key, or, if there are no trailers with the same key, after all the existing trailers.
"where = before" means just before trailers with the same key, or, if there are no trailers with the same key, before all the existing trailers.
I think that this is enough to handle most of the usual cases, but we can add other more complex options later, as I said in the last message of this thread:
http://thread.gmane.org/gmane.comp.version-control.git/237278/
Thanks, Christian.