Re: does anything like cvs export exist in git?
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Aug 14, 2008, 22:12 UTC
- Message-ID
- <20080814221221.GT3782@spearce.org>
- In-Reply-To
- <52593.49180.qm@web27802.mail.ukl.yahoo.com>
Mark Struberg <struberg@yahoo.de> wrote:
> Since maven-scm should run under various OS (including Windoof) > the tar thingy will not work out.
OK. Maven could also consider using JGit, since its pure Java and thus just as portable as the JRE is.
> The second approach is close to my original attempt to simply > clone + checkout + rm -rf .git, isn't?.
Yes, but relies on a few plumbing level tricks to avoid the time consuming aspects of a clone.
> At least I now know that it's really unlikely that this > functionality does exist yet.
Its not implemented for a reason; we suggest to users to use git-archive when they need to export a tree outside of Git.
Show 39 quoted lines
> --- Shawn O. Pearce <spearce@spearce.org> schrieb am Do, 14.8.2008: > > Von: Shawn O. Pearce <spearce@spearce.org> > > Betreff: Re: does anything like cvs export exist in git? > > An: "Mark Struberg" <struberg@yahoo.de> > > CC: git@vger.kernel.org > > Datum: Donnerstag, 14. August 2008, 23:26 > > Mark Struberg <struberg@yahoo.de> wrote: > > > I'm the initial author of the Apache > > maven-scm-providers-git and > > > I need to update our SCM-Matrix. > > > > > > This is just for making sure I did not oversee > > anything. > > > > > > I didn't came across anything like 'cvs > > export' and I do not > > > think git really needs this, since it doesn't > > pollute the working > > > directories with lots of waste like CVS and SVN does. > > > > > > But I just want to make sure to not build workarounds > > in our > > > scm-provider (checkout + afterwards blasting the > > GIT_DIR) for things > > > that do exist natively in git. > > > > You can use: > > > > git archive --tar HEAD | (mkdir ../dest;cd ../dest;tar xf > > -) > > > > Or you can do something even more bizzare like: > > > > export GIT_INDEX_FILE=/tmp/$$.index; > > export GIT_WORK_TREE=../dest; > > export GIT_DIR=.git; > > git read-tree HEAD && > > git checkout-index --force --all && > > rm $GIT_INDEX_FILE
-- Shawn.