On Wed, Mar 12, 2014 at 6:02 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > >>> + if (origin && remote_is_branch) >>> + printf_ln(_(message[!remote_is_branch][!origin][!rebasing]), >>> + local, name, origin); >>> else >>> - die("BUG: impossible combination of %d and %p", >>> - remote_is_branch, origin); >>> + printf_ln(_(message[!remote_is_branch][!origin][!rebasing]), >>> + local, name); >> >> Shouldn't this logic also be encoded in the table? After all, the >> point of making the code table-driven is so that such hard-coded logic >> can be avoided. It shouldn't be difficult to do. > > Hmph. Is it even necessary in the first place? Does it hurt if you > give more parameters than the number of placeholders in the format > string? It's not necessary, which is why my question was posed: as a clue. By asking GSoC applicants to think about how the logic can be table-driven, it is hoped that they will arrive at the realization that it is okay to pass in more parameters than placeholders. With that idea in mind, the code can be simplified whether table-driven or not. (I suspect Michael had this in mind when he composed this GSoC microproject and asked students to consider if it would make sense to make the code table-driven.) -- 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