load_subtree(): fix incorrect comment
This comment was added in 851c2b3791 (Teach notes code to properly preserve non-notes in the notes tree, 2010-02-13) when the corresponding code was added. But I believe it was incorrect even then. The condition `path_len != 2` a dozen lines up prevents a path like "dead/beef" from being converted to "de/ad/beef", and indeed the test added in commit 851c2b3 verifies that this case works correctly. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty committed
Aug 26, 2017 at 10:28 UTC
cbeed9aaa500e2c4b8356a08facaa28121e635de
1 file changed
+7
-17
notes.c
+7
-17
@@ -468,23 +468,13 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree,
468
469
handle_non_note:
470
/*
471
- * Determine full path for this non-note entry:
472
- * The filename is already found in entry.path, but the
473
- * directory part of the path must be deduced from the subtree
474
- * containing this entry. We assume here that the overall notes
475
- * tree follows a strict byte-based progressive fanout
476
- * structure (i.e. using 2/38, 2/2/36, etc. fanouts, and not
477
- * e.g. 4/36 fanout). This means that if a non-note is found at
478
- * path "dead/beef", the following code will register it as
479
- * being found on "de/ad/beef".
480
- * On the other hand, if you use such non-obvious non-note
481
- * paths in the middle of a notes tree, you deserve what's
482
- * coming to you ;). Note that for non-notes that are not
483
- * SHA1-like at the top level, there will be no problems.
484
- *
485
- * To conclude, it is strongly advised to make sure non-notes
486
- * have at least one non-hex character in the top-level path
487
- * component.
471
+ * Determine full path for this non-note entry. The
472
+ * filename is already found in entry.path, but the
473
+ * directory part of the path must be deduced from the
474
+ * subtree containing this entry based on our
475
+ * knowledge that the overall notes tree follows a
476
+ * strict byte-based progressive fanout structure
477
+ * (i.e. using 2/38, 2/2/36, etc. fanouts).
478
*/
479
{
480
struct strbuf non_note_path = STRBUF_INIT;