threads / discuss / 8698

cloning empty repo

Subject: cloning empty repo

## tl;dr

3 messages between Jun 24, 2007 and Jun 28, 2007.

replies: 2people: 3as markdown or json

Marijn Schouten (hkBst)· Jun 24, 2007, 15:04 UTC · lore
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi list,

is there any reason why cloning an empty repository should result in an error instead of a succesfully cloned empty repo?

Marijn
PS Please CC me
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGfogIp/VmCx0OL2wRAnYXAJ9cJAO4WsQihr6iEsEIawA9cpycQACglI8G lofEKfuidJ1OOv12A9QPK8w= =p344 -----END PGP SIGNATURE-----

Shawn O. Pearce· Jun 24, 2007, 23:01 UTC · re: Marijn Schouten (hkBst) · lore

Re: cloning empty repo

"Marijn Schouten (hkBst)" <hkBst@gentoo.org> wrote:
> is there any reason why cloning an empty repository should result in an error
> instead of a succesfully cloned empty repo?
There's nothing to clone.  The repository is empty.

If you create a Git repository using `git init` and then create another one also using `git init` then both repositories are empty, and an empty repository is identical to every other empty repository.

So if you want to setup an empty repository and then clone nothing, you actually can just setup another empty repository and configure the 'origin' remote:

	mkdir a; cd a; git init; cd ..
	mkdir b; cd b; git init
	# now a and b are identical
	git remote add origin ../a/.git
	# now b is a "clone" of a's nothingness...
-- 
Shawn.
Josh Triplett· Jun 28, 2007, 01:32 UTC · re: Shawn O. Pearce · lore

Re: cloning empty repo

Shawn O. Pearce wrote:
Show 21 quoted lines
> "Marijn Schouten (hkBst)" <hkBst@gentoo.org> wrote:
>> is there any reason why cloning an empty repository should result in an error
>> instead of a succesfully cloned empty repo?
> 
> There's nothing to clone.  The repository is empty.
> 
> If you create a Git repository using `git init` and then create
> another one also using `git init` then both repositories are empty,
> and an empty repository is identical to every other empty repository.
> 
> So if you want to setup an empty repository and then clone nothing,
> you actually can just setup another empty repository and configure
> the 'origin' remote:
> 
> 	mkdir a; cd a; git init; cd ..
> 
> 	mkdir b; cd b; git init
> 	# now a and b are identical
> 
> 	git remote add origin ../a/.git
> 	# now b is a "clone" of a's nothingness...

You can also simulate a clone of any other repository by using a similar series of commands; git clone exists so that you don't have to. Why not allow cloning an empty repository, which would give you an empty repository with the correct origin remote?

- Josh Triplett

← back to recent threads