Subject: Re: [RFC PATCHv4] repack: rewrite the shell script in C.

From: Jonathan Nieder <[email-masked]>
Date: Tue, 20 Aug 2013 14:34:52 -0700

Stefan Beller wrote:
> On 08/20/2013 03:31 PM, Johannes Sixt wrote:

>>> +    packdir = mkpathdup("%s/pack", get_object_directory());
>>> +    packtmp = mkpathdup("%s/.tmp-%d-pack", packdir, getpid());
>> 
>> Should this not be
>> 
>>     packdir = xstrdup(git_path("pack"));
>>     packtmp = xstrdup(git_path("pack/.tmp-%d-pack", getpid()));
>
> Just a question for documentational purpose. ;)
> Am I right suggesting the following:
>
> `mkpathdup`::
> 	Use parameters to build the path on the filesystem,
> 	i.e. create required folders and then return a duplicate
> 	of that path. The caller is responsible to free the memory

Right.  mkpathdup is basically just mkpath composed with xstrdup,
except that it avoids stomping on mkpath's buffers.

The corresponding almost-shortcut for xstrdup(git_path(s)) is
git_pathdup(s).  But that's a minor detail.

Maybe a new Documentation/technical/api-paths.txt is in order.

Thanks,
Jonathan