From: Junio C Hamano <gitster@xxxxxxxxx> Subject: Re: [PATCH v5 02/14] trailer: process trailers from file and arguments Date: Mon, 10 Feb 2014 10:14:34 -0800 > Christian Couder <chriscool@xxxxxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html