From: Andy Parkins <andyparkins@gmail.com>
To: git@vger.kernel.org
Cc: Rogan Dawes <lists@dawes.za.net>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Christoph Duelli <duelli@melosgmbh.de>
Subject: Re: restriction of pulls
Date: Fri, 9 Feb 2007 16:19:20 +0000 [thread overview]
Message-ID: <200702091619.23058.andyparkins@gmail.com> (raw)
In-Reply-To: <45CC941E.9030808@dawes.za.net>
On Friday 2007 February 09 15:32, Rogan Dawes wrote:
> One obstacle to implementing partial checkouts is that one does not know
> which objects have changed or been deleted. One way of addressing this
Why would you want to do a partial checkout. I used subversion for a long
time before git, which does to partial checkouts and it's a nightmare.
Things like this
cd dir1/
edit files
cd ../dir2
edit files
svn commit
* committed revision 100
KABLAM! Disaster. Revision 100 no longer compiles/runs. The changes in dir1
and dir2 were complimentary changes (say like renaming a function and then
the places that call that function).
I didn't even notice how awful it was until I started using git and had a VCS
that did the right thing.
In every way that matters you can do a partial checkout - I can pull any
version of any file out of the repository. However, it should certainly not
be the case that git records that fact.
I think what you're actually after (from your description) is a shallow clone.
I believe that went in a while ago from Dscho.
$ git clone --depth=5 <someurl>
Will fetch only the last 5 revisions from the remote. The other half to that
is a shallow-by-tree clone; that is anathema to git as there is no such thing
as a partial tree. Submodule support is what you want, but that's still in
development.
The only piece that (I think) is missing to get the functionality you want is
a kind of lazy transfer mode. For something like, say, the kde repository
you can do
svn checkout svn://svn.kde.org/kde/some/deep/path/in/the/project
And just get that directory - i.e. you don't have to pay the cost of
downloading the whole of KDE. Git can't do that; however, I think one day it
will be able to by choosing not to download every object from the remote.
Andy
--
Dr Andy Parkins, M Eng (hons), MIEE
andyparkins@gmail.com
next prev parent reply other threads:[~2007-02-09 16:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-09 10:49 restriction of pulls Christoph Duelli
2007-02-09 11:19 ` Jakub Narebski
2007-02-09 14:54 ` Johannes Schindelin
2007-02-09 15:32 ` Rogan Dawes
2007-02-09 16:19 ` Andy Parkins [this message]
2007-02-09 16:36 ` Rogan Dawes
2007-02-09 16:45 ` Andy Parkins
2007-02-09 17:32 ` Rogan Dawes
2007-02-10 9:59 ` Andy Parkins
2007-02-10 14:50 ` Johannes Schindelin
2007-02-12 13:58 ` Rogan Dawes
2007-02-12 14:13 ` Johannes Schindelin
2007-02-12 14:29 ` Rogan Dawes
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=200702091619.23058.andyparkins@gmail.com \
--to=andyparkins@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=duelli@melosgmbh.de \
--cc=git@vger.kernel.org \
--cc=lists@dawes.za.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.