On 03/18/2017 03:03 AM, Nguyễn Thái Ngọc Duy wrote:
> safe_create_dir() can do adjust_shared_perm() internally, and init-db
> has always created 'refs' in shared mode since the beginning,
> af6e277c5e (git-init-db: initialize shared repositories with --shared -
> 2005-12-22). So this code looks like extra adjust_shared_perm calls are
> unnecessary.
> 
> And they are. But let's see why there are here in the first place.
> 
> This code was added in 6fb5acfd8f (refs: add methods to init refs db -
> 2016-09-04). From the diff alone this looks like a faithful refactored
> code from init-db.c. But there is a subtle difference:
> 
> Between the safe_create_dir() block and adjust_shared_perm() block in
> the old init-db.c, we may copy/recreate directories from the repo
> template. So it makes sense that adjust_shared_perm() is re-executed
> then to fix potential permission screwups.
> 
> After 6fb5acfd8f, refs dirs are created after template is copied. Nobody
> will change directory permission again. So the extra adjust_shared_perm()
> is redudant. Delete them.

LGTM. Thanks for the careful research.

Michael


Reply via email to