Skip to content
  • Jeff King's avatar
    clone: create intermediate directories of destination repo · 8e21d63b
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    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: default avatarDaniel Barkalow <barkalow@iabervon.org>
    
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    8e21d63b