On 29.03.13 22:20, Junio C Hamano wrote: [snip] > The last two points can become a separate "preparation" step. The > result would be easier to read. > > Your updated adjust_shared_perm() does not begin with: > > if (!shared_repository) > return 0; > > as the original, but it always first calls to get_st_mode_bits() > which makes a call to lstat(2). > > That smells like a huge regression for !shared_repository case, > unless you have updated the existing callers of adjust_shared_perm() > not to call it when !shared_repository. > Thanks for carefull review: The achieved effect of the code is the same, but the developer is to blame. I send a new patch of 2/2 in a minute, splitted into 2 commits. Highlights of part 2: a) move "if (!shared_repository)" to the right place b) Simplify calc_shared_perm() even more: Remove the variable "int shared" c) Remove calc_shared_perm_dir(), the functionality is baked into adjust_shared_perm() -- 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