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