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

Broken adding of cache entries

From: Petr Baudis <hidden>
Date: 2016-06-15 22:41:56

Dear diary, on Sat, May 07, 2005 at 04:09:27AM CEST, I got a letter
where Kay Sievers [off-list ref] told me that...
..snip..
Look what funny thing you can do:
  kay@mam:~/public_html/pub/scm/funny-tree$ git-ls-tree HEAD
  100644  blob    b1a17ba136936531b72571844a773fe938b85ad4        entry
  040000  tree    eba6ba02f18176500019755ad58c0bdfead16c47        entry

Add a file to the cache, replace it with a directory, add that to the
cache and then write the tree and you have two entries with the same
name. :)
Duh. Well, what could be the reasonwhy cache_name_compare() cares about
flags at all? Can you _ever_ have two same-named entries? Junio, what do
you think about something like this?

Index: read-cache.c
===================================================================
--- e47e2a558a85b33e0652233f78aa1ca8a959685b/read-cache.c  (mode:100644)
+++ uncommitted/read-cache.c  (mode:100644)
@@ -68,10 +68,6 @@
 		return -1;
 	if (len1 > len2)
 		return 1;
-	if (flags1 < flags2)
-		return -1;
-	if (flags1 > flags2)
-		return 1;
 	return 0;
 }
 

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help