git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Correct way of making existing remote repository "bare"
@ 2009-07-15 12:20 Graeme Geldenhuys
  2009-07-15 14:08 ` Johannes Schindelin
  2009-07-15 14:12 ` Dirk Süsserott
  0 siblings, 2 replies; 7+ messages in thread
From: Graeme Geldenhuys @ 2009-07-15 12:20 UTC (permalink / raw)
  To: git

Hi,

Yesterday I initialized a new repository on our server. I did some 
coding locally, added the remote server (git remote add ....) and then 
pushed my changes to the remote server.

But I noticed that my remote server is not a "bare" repository and git 
complains when I push to it again. What is the correct way to make an 
existing remote repository bare?

This is what I did and it worked, but not sure if this is the correct 
way of doing it.

Steps I done:

* ssh to remote server
* git clone --bare -l <path_to_repos> <new_dir>
* renamed old repository directory
* renamed new repository dir to what old repository used to be.

Like I said, this did the tick, but is this the correct way of doing it?


Regards,
   - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Correct way of making existing remote repository "bare"
  2009-07-15 12:20 Correct way of making existing remote repository "bare" Graeme Geldenhuys
@ 2009-07-15 14:08 ` Johannes Schindelin
  2009-07-15 14:21   ` Dirk Süsserott
                     ` (2 more replies)
  2009-07-15 14:12 ` Dirk Süsserott
  1 sibling, 3 replies; 7+ messages in thread
From: Johannes Schindelin @ 2009-07-15 14:08 UTC (permalink / raw)
  To: Graeme Geldenhuys; +Cc: git

Hi,

On Wed, 15 Jul 2009, Graeme Geldenhuys wrote:

> Steps I done:
> 
> * ssh to remote server
> * git clone --bare -l <path_to_repos> <new_dir>
> * renamed old repository directory
> * renamed new repository dir to what old repository used to be.
> 
> Like I said, this did the tick, but is this the correct way of doing it?

That's the easiest.  However, I regularly avoid those steps by doing

	mv bla/.git bla.git
	git --git-dir=bla.git config core.bare true
	rm -rf bla

This requires a bit more familiarity with the Git internals than your 
solution, though (although it makes sure that the config is unchanged, as 
well as possibly installed hooks).

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Correct way of making existing remote repository "bare"
  2009-07-15 12:20 Correct way of making existing remote repository "bare" Graeme Geldenhuys
  2009-07-15 14:08 ` Johannes Schindelin
@ 2009-07-15 14:12 ` Dirk Süsserott
  2009-07-15 19:39   ` Junio C Hamano
  1 sibling, 1 reply; 7+ messages in thread
From: Dirk Süsserott @ 2009-07-15 14:12 UTC (permalink / raw)
  To: Graeme Geldenhuys; +Cc: git

Am 15.07.2009 14:20 schrieb Graeme Geldenhuys:
> Hi,
> 
> Yesterday I initialized a new repository on our server. I did some 
> coding locally, added the remote server (git remote add ....) and then 
> pushed my changes to the remote server.
> 
> But I noticed that my remote server is not a "bare" repository and git 
> complains when I push to it again. What is the correct way to make an 
> existing remote repository bare?
> 
> This is what I did and it worked, but not sure if this is the correct 
> way of doing it.
> 
> Steps I done:
> 
> * ssh to remote server
> * git clone --bare -l <path_to_repos> <new_dir>
> * renamed old repository directory
> * renamed new repository dir to what old repository used to be.
> 
> Like I said, this did the tick, but is this the correct way of doing it?
> 
> 
> Regards,
>   - Graeme -
> 

Sounds like that's the correct way. I sometimes faced the same problem 
and was lazy:

$ ssh to the remote && cd repo
$ rm everything except for the .git directory (make sure everything is 
committed before doing this)
$ mv .git/* . && rmdir .git # i.e.move the .git contents one level up
$ edit config
change 'core.bare=false' to 'core.bare=true' (or add a similar line)

done.

I think what you did is 'porcellain' while my solution is 'plumbing'.
Any complaints?

     Dirk

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Correct way of making existing remote repository "bare"
  2009-07-15 14:08 ` Johannes Schindelin
@ 2009-07-15 14:21   ` Dirk Süsserott
  2009-07-15 14:44   ` Graeme Geldenhuys
  2009-07-16  7:59   ` Eric Raible
  2 siblings, 0 replies; 7+ messages in thread
From: Dirk Süsserott @ 2009-07-15 14:21 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Graeme Geldenhuys, git

Am 15.07.2009 16:08 schrieb Johannes Schindelin:
> Hi,
> 
> On Wed, 15 Jul 2009, Graeme Geldenhuys wrote:
> 
>> Steps I done:
>>
>> * ssh to remote server
>> * git clone --bare -l <path_to_repos> <new_dir>
>> * renamed old repository directory
>> * renamed new repository dir to what old repository used to be.
>>
>> Like I said, this did the tick, but is this the correct way of doing it?
> 
> That's the easiest.  However, I regularly avoid those steps by doing
> 
> 	mv bla/.git bla.git
> 	git --git-dir=bla.git config core.bare true
> 	rm -rf bla
> 
> This requires a bit more familiarity with the Git internals than your 
> solution, though (although it makes sure that the config is unchanged, as 
> well as possibly installed hooks).
> 

Dscho, you boiled down my solution to real git commands. Great. -- Dirk

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Correct way of making existing remote repository "bare"
  2009-07-15 14:08 ` Johannes Schindelin
  2009-07-15 14:21   ` Dirk Süsserott
@ 2009-07-15 14:44   ` Graeme Geldenhuys
  2009-07-16  7:59   ` Eric Raible
  2 siblings, 0 replies; 7+ messages in thread
From: Graeme Geldenhuys @ 2009-07-15 14:44 UTC (permalink / raw)
  To: git

Johannes Schindelin wrote:
> 
> That's the easiest.  However, I regularly avoid those steps by doing

Thanks Johannes and Dirk. I'll make a not of this.

Maybe somebody could add this to some Git FAQ?  I did some Google'ing 
and didn't find any documentation on this (well nothing blatantly visible).


Regards,
   - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Correct way of making existing remote repository "bare"
  2009-07-15 14:12 ` Dirk Süsserott
@ 2009-07-15 19:39   ` Junio C Hamano
  0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2009-07-15 19:39 UTC (permalink / raw)
  To: Dirk Süsserott; +Cc: Graeme Geldenhuys, git

Dirk Süsserott <newsletter@dirk.my1.cc> writes:

> I think what you did is 'porcellain' while my solution is 'plumbing'.
> Any complaints?

No.

We need to be careful and either (1) to have anybody who adds 'plumbing'
procedure to any FAQ responsible for keeping it up to date, as the
implementation detail is subject to change, or (2) only to have
'Porcelain' description in the documentation.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Correct way of making existing remote repository "bare"
  2009-07-15 14:08 ` Johannes Schindelin
  2009-07-15 14:21   ` Dirk Süsserott
  2009-07-15 14:44   ` Graeme Geldenhuys
@ 2009-07-16  7:59   ` Eric Raible
  2 siblings, 0 replies; 7+ messages in thread
From: Eric Raible @ 2009-07-16  7:59 UTC (permalink / raw)
  To: git

Johannes Schindelin <Johannes.Schindelin <at> gmx.de> writes:

> That's the easiest.  However, I regularly avoid those steps by doing
> 
> 	mv bla/.git bla.git
> 	git --git-dir=bla.git config core.bare true
> 	rm -rf bla
> 

Is it simpler and more complete to do this?

	git config core.bare true
	git config core.logAllRefUpdates
	mv bla/.git bla.git
	rm -rf bla

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-07-16  7:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-15 12:20 Correct way of making existing remote repository "bare" Graeme Geldenhuys
2009-07-15 14:08 ` Johannes Schindelin
2009-07-15 14:21   ` Dirk Süsserott
2009-07-15 14:44   ` Graeme Geldenhuys
2009-07-16  7:59   ` Eric Raible
2009-07-15 14:12 ` Dirk Süsserott
2009-07-15 19:39   ` Junio C Hamano

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).