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