From: Andreas Ericsson <ae@op5.se>
To: Christian Jaeger <christian@jaeger.mine.nu>
Cc: Garry Dolley <gdolley@arpnetworks.com>,
Richard Hartmann <richih.mailinglist@gmail.com>,
git@vger.kernel.org
Subject: Re: Feedback outside of the user survey
Date: Mon, 20 Oct 2008 11:57:13 +0200 [thread overview]
Message-ID: <48FC55F9.3060509@op5.se> (raw)
In-Reply-To: <48F9EC2B.2010200@jaeger.mine.nu>
Christian Jaeger wrote:
> Garry Dolley wrote:
>> On Thu, Oct 16, 2008 at 10:32:56PM +0200, Christian Jaeger wrote:
>>
>>> Hm, I don't see a fundamental technical problem which would prevent
>>> one from implementing the ability to checkout only a subdirectory
>>> into the working directory (i.e. to add options to Git to make it
>>> reflect the working directory as being a subdirectory of what is in
>>> Git's database). At this level I don't see anything inherently
>>> different from SVN--except maybe for directory renames: if someone
>>> else is renaming the directory you've checked out, what should
>>> happend with your checkout? Git's filebased rename tracking would
>>> just lead to everything vanishing from your checkout. I don't know
>>> what happens in SVN, maybe it keeps track of the directory rename and
>>> still sends you the changes of the directory you've checked out even
>>> if it has now a different name on the server?
>>>
>>> Anyway, an unavoidable difference is that you have to always clone
>>> the whole Git *database*. With SVN the database stays on the server,
>>> with Git it is being cloned. Just as I expect SVN to need the whole
>>> database to be [...]
>>>
>>
>> Right, but I think cloning the entire git database just to get a
>> subdir is a fundamental technical problem. It's no different than
>> git-clone + checkout + rm -rf <what I don't want in working tree>
>>
>
> We're in "violent agreement" here.
>
>> In that sense, git already has support for cloning subdirectories,
>> which is why I don't think this method applies to what the original
>> post author meant when they referred to "support for cloning sub
>> directories".
>>
>
> I just think it's worth pointing out the difference between the working
> dir and the database. It should be as easy to implement checking out
> subdirectories in Git as it was in SVN (except, again, that, iff
> directory renames should be tracked, some code would have to be written
> to find out about directory renames, which SVN solves in a simpler way
> by just requiring that the user specifies renames explicitely). It's
> worth pointing out that working directory checkouts and database cloning
> are separate operatoins and it's only the database cloning which is, per
> definition (as it is a distributed VCS) different from SVN.
>
>> :)
>>
>
> If you really wanted, I suppose you could additionally look into
> implementing a kind of shallow cloning that only copies objects over the
> wire which are necessary for representing the subdirectory you're
> interested in.
>
So what do you do when one such commit also affects something outside
the subdirectory?
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
next prev parent reply other threads:[~2008-10-20 9:58 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-16 10:19 Feedback outside of the user survey Richard Hartmann
2008-10-16 10:28 ` Jeff King
2008-10-16 11:08 ` Richard Hartmann
2008-10-16 11:56 ` Garry Dolley
2008-10-16 13:18 ` Richard Hartmann
2008-10-16 20:32 ` Christian Jaeger
2008-10-18 13:49 ` Garry Dolley
2008-10-18 14:01 ` Christian Jaeger
2008-10-20 9:57 ` Andreas Ericsson [this message]
2008-10-20 14:43 ` Christian Jaeger
2008-10-20 15:02 ` Andreas Ericsson
2008-10-20 15:20 ` Christian Jaeger
2008-10-20 16:11 ` Andreas Ericsson
2008-10-20 16:57 ` Christian Jaeger
2008-10-20 17:30 ` Christian Jaeger
2008-10-20 22:41 ` Junio C Hamano
2008-10-21 7:24 ` Christian Jaeger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48FC55F9.3060509@op5.se \
--to=ae@op5.se \
--cc=christian@jaeger.mine.nu \
--cc=gdolley@arpnetworks.com \
--cc=git@vger.kernel.org \
--cc=richih.mailinglist@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).