On Jun 3, 2014, at 9:02 AM, Andrey Semashev
On Tue, Jun 3, 2014 at 7:39 PM, Marshall Clow
wrote: I’m trying to figure out tooling for making boost releases.
One of the missing pieces that we had in SVN was “svn export”, which let you check out a particular branch/revision to a local folder, w/o any of the SVN infrastructure (such as .svn folders). It also let you set the line endings of the files, so I could make a release with Windows line endings on a non-windows computer.
The command that I used was:
svn export --non-interactive --native-eol XXX -r YYY, https://svn.boost.org/svn/boost/branches/release ZZZ
where: XXX was line ending that I wanted (either CRLF for windows or LF for unix) YYY was the revision that I was interested in (usually HEAD) ZZZ was the destination for the export
How can I do something like this for git? I’ve looked at “git archive”, and that’s something like what I want, but it doesn’t handle sub-projects. There are a few scripts around that claim to do “git archive over sub-projects”, but I haven’t found one that works with our set up, and none of them let you modify the line endings for (some of) the files as part of the process.
Any ideas? Suggestions? Pointers?
If a single command is not a requirement, you could just do a normal git clone, then copy the sources without history in a separate directory and apply todos/fromdos (depending on the system you're running and the desired line endings). You'll probably have to use it with find and file masks.
I’d really like to avoid this, because of the possibility (probability? certainty?) of getting some of the line endings wrong. The information on which files should have “native” line endings is part of the git repo, and I’d like to figure out how to use that. I don’t mind it being multiple commands, since I’m going to put them in a script. — Marshall