Re: Checking out on a different+partial directory
- From
Eli Barzilay <eli@barzilay.org>
- Date
- May 27, 2010, 05:10 UTC
- Message-ID
- <m3d3wikk0b.fsf@winooski.ccs.neu.edu>
- In-Reply-To
- <20100522054852.GB29118@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 11 quoted lines
> On Mon, May 17, 2010 at 06:53:55AM -0400, Eli Barzilay wrote: > >> Say that I have a repository at /some/dir, and a tree that contains >> most of its files at /another/dir (the second is a build directory, >> made with `git archive', so some files removed due to export-ignore >> attributes and some built files are present). >> >> Is there a convenient way to make /some/dir usable as a repository? > > Did you mean /another/dir? /some/dir is already a repository as per your > description above
Yes, sorry for the confusion...
> (is it a bare repository or a regular one?).
It's a regular one.
Show 13 quoted lines
>> Two things that I tried are >> >> git --work-tree=/another/dir reset --hard master >> >> which one time, but then failed with "fatal: unable to read tree...", >> and another is > > I would have thought that worked, assuming you were in /some/dir. And > oddly, _some_ stuff works. I tried: > > [...] > > So there is clearly a bug. I'll investigate.
Thanks!
Show 7 quoted lines
>> cp -a /some/dir/.git /another/dir >> cd /another/dir >> git reset --hard master >> >> which looks like it can suffer from the same problem. > > That should work, too.
Heh, I just assumed that I'm doing something similarly wrong in both cases... In any case, I finally settled on doing things the other way: grab all of the files that were created by the built tree and add them to the repository directory (that is -- get stuff from /another/dir into /some/dir). It's a little less convenient for me, so I'll probably switch back to the above, given that it should work.
Show 7 quoted lines
>> (It would be especially nice if there's a way to have only >> different files touched in /another/dir.) > > Only different files will be rewritten, but git will have to read all of > the files to determine their sha1 (usually it avoids this by checking > stat info, but obviously your exported files will not match the stat > info in the /another/dir's index).
Yes, I expected this cost...
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!