Rubén Justo <rjusto@xxxxxxxxx> writes: > + if (!copy && !(ishead > 1) && Logically it might be necessary to be able to extend "is that branch what we have checked out, yes or no?" bool into something else that can be something other than 0 or 1, but as soon as you did so, "is_head" is no longer a Boolean "is it a HEAD, yes or no?". Now what does that value really _mean_? Please rename the variable and helper function appropriately to make it clear what is going on.