On 1/25/2018 6:58 PM, Brandon Williams wrote:
+       switch (data->version) {
+       case protocol_v1:
+       case protocol_v0:
+               refs = fetch_pack(&args, data->fd, data->conn,
+                                 refs_tmp ? refs_tmp : transport->remote_refs,
+                                 dest, to_fetch, nr_heads, &data->shallow,
+                                 &transport->pack_lockfile);
+               break;
+       case protocol_unknown_version:
+               BUG("unknown protocol version");
+       }

After seeing this pattern a few times, I think it would be good to convert it to a macro that calls a statement for protocol_v1/v0 (and later calls a different one for protocol_v2). It would at minimum reduce the code clones surrounding this handling of unknown_version, and we could have one place that is clear this BUG() is due to an unexpected response from discover_version().

Reply via email to