On 08/20/2013 11:34 PM, Jonathan Nieder wrote:
> 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
> 

Is there a way to create a path, without being using git_path?
git_path seems to imply adding .git.

So if I have 
        packdir = xstrdup(git_path("pack"));
        ...
        path = git_path("%s/%s", packdir, filename)

This produces something as:
.git/.git/objects/pack/.tmp-13199-pack-c59c5758ef159b272f6ab10cb9fadee443966e71.idx
definitely having one .git too much.

Also interesting to add would be that git_path operates in the
.git/objects directory?

Thanks,
Stefan

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to