[wishlist] git-archive -L

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

 



Hi Rene,

I wanted to do that myself, but I sadly miss the time right now, so I
wonder if you'd know how to do the following.

We have in our repository a kind of modular system (for a family of web
sites) where each web-site uses a (versionned) symlink farm. IOW it
works basically that way:

    www/module1
    www/module2
    product_A/www/module1 -> ../../www/module1
    product_A/www/module_A
    product_B/www/module1 -> ../../www/module1
    product_B/www/module2 -> ../../www/module2
    product_B/www/module_B

Though product_A and _B even if they share a fair amount of code, are
separate products and when we release, we'd like to be able to perform
from inside:

    git archive --format=tar -L product_$A

where -L basically does what it does in cp: dereference symlinks.  To
make the thing hairier, we also have symlinks _inside_ www/ (pointing
into the same subtree) that we'd like to keep if possible (even if it's
not a big deal).

So I'd suggest something where -L only dereferences the symlink if it
goes outside of the list of paths passed to git-archive, and -LL (or -L
-L) dereferences anything. Of course this would only make sense if the
symlinks resolve to something that is tracked :)

For now we git archive the whole repository, use tar xh; rm what we
don't like, reset the symlinks we want to keep, and retar, which is kind
of counterproductive :)


-- 
·O·  Pierre Habouzit
··O                                                madcoder@xxxxxxxxxx
OOO                                                http://www.madism.org

Attachment: pgp9OZzDTdjMv.pgp
Description: PGP signature


[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]

  Powered by Linux