threads / discuss / 25727

git clone / svn checkout

Subject: git clone / svn checkout

## tl;dr

2 messages between Nov 12, 2010 and Nov 13, 2010.

replies: 1people: 2as markdown or json

Bruno De Bondt· Nov 12, 2010, 17:01 UTC · lore
Hello,
Just started using Git, coming from SVN.

Something I regularly do in SVN, is checking out part of a repository, instead of the complete repository. Consider the following: I have a local repository for development. On my testing server, I only (SVN) check out part of this repository, eg. the document root of a website (and not all the project management documents, which are in the same SVN repository, but not needed on the testing server).

How would I do this in Git, ie. only get a specific part of a repository? I feel that this is very much against the whole idea of Git (where, as far as I understand Git now, you work with complete clones of repositories), but is there a way to do this? Or should I just clone complete repositories on my testing server as well?

Thanks, Bruno

Jakub Narebski· Nov 13, 2010, 17:34 UTC · re: Bruno De Bondt · lore

Re: git clone / svn checkout

Bruno De Bondt <bruno@dewereldmorgen.be> writes:
> Just started using Git, coming from SVN.
> 
> Something I regularly do in SVN, is checking out part of a repository,
> instead of the complete repository.

On the other hand in SVN you have multiple projects in a single repository (under single repository hierarchy / svnroot).

Show 11 quoted lines
> Consider the following: I have a local repository for
> development. On my testing server, I only (SVN) check out part of
> this repository, eg. the document root of a website (and not all the
> project management documents, which are in the same SVN repository,
> but not needed on the testing server).
> 
> How would I do this in Git, ie. only get a specific part of a
> repository? I feel that this is very much against the whole idea of Git
> (where, as far as I understand Git now, you work with complete clones of
> repositories), but is there a way to do this? Or should I just clone
> complete repositories on my testing server as well?

In this case it would be possible, I think, to put project management documents and website itself in different git repositories, and toe them together using submodules (see git-submodule manpage, and documentation on Git Wiki and elsewhere).

There is support in git nowadays (acquired quire recently) to *checkout* only part of repository (so called "sparse checkout"), but you still need to clone whole repository.

There was some proof-of-concept work on *partial clone* support; see git mailing list archives. This is nevertheless quote hard problem to solve correctly.

-- 
Jakub Narebski
Poland
ShadeHawk on #git

← back to recent threads