Patch #1 reduces the number of options in the scenario which Stolee mentioned above. There's now just a NULL and a non-NULL case, and the NULL case is now relatively straightforward and uninteresting. Patch #2 adds a test for the particular set of options which will trigger this case as an independent test. I didn't think it made sense to put this in t0021, since ultimately that set of options isn't about conversions and it would seem out of place there, so I put it in t2060. I'm ultimately on the fence for this case, because I think it's really a corner case and testing this is probably not that interesting, so my preference is for us to pick up patch 1 and drop patch 2. However, I added patch 2 in case we do indeed want a test for this, and I'll let Junio and others decide on what's best. brian m. carlson (2): builtin/checkout: simplify metadata initialization t2060: add a test for switch with --orphan and --discard-changes builtin/checkout.c | 4 +--- t/t2060-switch.sh | 8 ++++++++ 2 files changed, 9 insertions(+), 3 deletions(-)