Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Redefine semantics of find_unique_abbrev()

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:19

Jeff King [off-list ref] writes:
On Sat, Mar 01, 2008 at 11:35:11PM -0800, Junio C Hamano wrote:
quoted
That is, "for objects we have, make sure it uniquely identifies,
otherwise, make sure the phoney name is long enough such that it would not
name any existing object".
I think your logic is correct, and I think naming it 'exists' is more
readable (I don't have a tendency not to double-negate).

But...
quoted
-		if (!status ||
-		    (is_null && status != SHORT_NAME_AMBIGUOUS)) {
+		if (exists
+		    ? !status
+		    : status == SHORT_NAME_NOT_FOUND) {
 			hex[len] = 0;
 			return hex;
 		}
Maybe it is just me, but I find the ternary operator here reduces
readability. I would have liked the more verbose:

  if ((exists && !status) ||
      (!exists && status == SHORT_NAME_NOT_FOUND)) {

But now I am just painting your bikeshed.
Heh, the ternary is a mini "if-then-else" by itself.  Turn your head
sideways (just like you do when you meet a smiley) and the parse tree will
jump at you ;-).

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help