2011/10/26 Junio C Hamano <gitster@xxxxxxxxx>: > Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > >> notes_merge_commit() only needs to list all entries (non-recursively) >> under a directory, which can be easily accomplished with >> opendir/readdir and would be more lightweight than read_directory(). >> >> read_directory() is designed to list paths inside a working >> directory. Using it outside of its scope may lead to undesired effects. > > Technically isn't the directory structure this codepath looks at a working > tree that has extract of a notes tree commit? Yes it's like a secondary working tree, only for notes, if I read the code correctly. The thing is this space is inside ".git". Current read_directory() treats given path separately from contents inside the path. If the given path has ".git", it's ok (but it'll stop at .git if during tree recursion). The new read_directory() does not make this exception, so when note-merge call read_directory(".git/NOTES_MERGE_WORKTREE"), read_directory() sees ".git" and stops immediately, assuming it's a gitlink. One could say we should keep current behavior, but I don't really see it's worth the effort. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html