• J
    clone: create intermediate directories of destination repo · 2beebd22
    Jeff King 提交于
    The shell version used to use "mkdir -p" to create the repo
    path, but the C version just calls "mkdir". Let's replicate
    the old behavior. We have to create the git and worktree
    leading dirs separately; while most of the time, the
    worktree dir contains the git dir (as .git), the user can
    override this using GIT_WORK_TREE.
    
    We can reuse safe_create_leading_directories, but we need to
    make a copy of our const buffer to do so. Since
    merge-recursive uses the same pattern, we can factor this
    out into a global function. This has two other cleanup
    advantages for merge-recursive:
    
      1. mkdir_p wasn't a very good name. "mkdir -p foo/bar" actually
         creates bar, but this function just creates the leading
         directories.
    
      2. mkdir_p took a mode argument, but it was completely
         ignored.
    Acked-by: NDaniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    2beebd22
cache.h 28.5 KB