From: Jeff Garzik Date: Thu, 16 Jul 2009 07:17:51 GMT Subject: Re: [ANNOUNCE] GIT 1.6.4.rc1 Message-ID: <4A5ED41F.5010502@garzik.org> In-Reply-To: <20090716064802.GG5256@nokia.com> Felipe Balbi wrote: > On Thu, Jul 16, 2009 at 08:43:21AM +0200, ext Jeff Garzik wrote: >> Junio C Hamano wrote: >>> Jeff Garzik writes: >>> >>>> Is there some sort of guide to the new best practices for handling >>>> trees such as git.kernel.org, where one pushes into "foo.git" >>>> directly, and there is no checked-out source code at all? >>> I think old repositories will be helped if you add >>> >>> [core] >>> bare >>> >>> to their foo.git/config files. >> Thanks. What about cloning new repositories? Real world example: >> >> Local workstation has /spare/repo/cld/.git repository, with checked-out >> working tree. >> >> I want to publish this tree to the world via a *.kernel.org-like system, >> so my task is to >> >> scp -r /spare/repo/cld/.git remote.example.com:/pub/scm/cld.git >> >> but if I do this with scp, then future pushes to >> remote.example.com:/pub/scm/cld.git emit the warning about updating the >> currently checked-out branch -- even though there are no checked-out >> files. The checked-out files were not copied in the scp. > > how about you create the bare repository on the kernel.org-like server > and then push cld to it ? You mean use 'git init-db', like this? 1) remote: cd /pub/scm ; mkdir cld.git ; GIT_DIR=cld.git git init-db 2) local: cd /spare/repo/cld ; git push --force --all \ remote.ex.com/pub/scm/cld.git I suppose that would work... Jeff