Re: Adding files to a git-archive when it is generated, and whats the best way to find out what branch a commit is on?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



demerphq schrieb:
> 2009/7/30 René Scharfe <rene.scharfe@xxxxxxxxxxxxxx>:
>> demerphq schrieb:
>>> So then git also would benefit from support in git-archive for adding
>>> arbitrary files to the archive during generation?
>> Yes, and this has come up before.
>>
>> How about the following?  It's missing documentation and a test case,
>> but you could try
>>
>>        $ git archive --add-file extra HEAD >HEAD+extra.tar
>>
>> or
>>
>>        $ git archive --prefix=a/ --add-file extra --prefix=b/ HEAD >ba.tar
>>
>> Only the file name part (after the last slash) of the extra file is used,
>> together with the prefix, to form the path of the archive entry.
>>
>> Opening the extra files when parsing the command line arguments and closing
>> them after they have been written into the archive is a bit iffy, but it's
>> impractical to report open errors after parts of the archive have already
>> been created.
> 
> I havent managed to try it out yet but this is pretty much exactly
> what I was looking for. Only thought I had was that it might be nice
> to be able to specify what name the file should be added as so that
> you can add files to subpaths deeper than the root/root prefix of the
> tar. However for /my/ particular purposes that is unnecessary, it only
> occurs to me as a nice to have. But if you were inclined to think
> about extending it I was thinking an argument notation like --add-file
> foo:bar/baz/bop might be useful.

With the patch as-is, you can make a file named bop appear as
bar/baz/bop in the archive (by using a prefix of bar/baz/), but not as
foo.  I wonder how often one needs to rename a file while adding it to
the archive -- or indeed if this is needed at all.  Being lazy, I'd wait
for such a case to appear before supporting it with a double-valued
command line argument.

René
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]