Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > Agree. Maybe a comment above the function, like > > /* > * The function normalize_path() converts ".." and "." names in > * the given path so that "foo/../bar/./" will come out as "bar". > * > * Note: normalize_path() does not follow symlinks, so if "foo" is > * a symlink in the example above, the result will not work as > * expected. > */ > > Hmm? That comment only states the obvious and does not give a clue to the callers when it should not be used, I am afraid. For example, paths taken out of index or recursively reading trees are Ok because there will not be ".." and "." in them. Making a path given by the user relative to the cwd by prepending what is returned by setup_git_directory() may or may not be safe, depending on how setup_git_directory() does things (I think the original one is safe; I am reasonably sure with the current one when GIT_WORK_TREE is not in use; I do not know when that environment variable is there with the current code with or without your patch series). - 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