Re: Starting a new project remotely

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Starting a new project remotely

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:16

Daniel Barkalow [off-list ref] writes:
Is there something currently that acts like git-clone, except that it sets 
up automatic connections in the opposite direction? That is, you run it in 
a repository with no origin, and it pushes the data to the specified 
location (which probably needs to be set up already as an empty 
repository) and sets the local side's origin remote to the location given.
The "git push" command allows you to push into an empty or even
unrelated destination, but I do think there no wrapper that
creates remotes/ file.  BTW, calling that "origin" is probably
confusing.  In the scenario you outlined, your local side is the
source and the remote is the sink.

FYI, here is what I have in my remotes/ko file to interact with
my kernel.org repository (the one that is mirrored out to the
public machines):

        URL: zzz.kernel.org:/pub/scm/git/git.git/
        Push: master
        Push: +pu
        Push: maint
        Pull: master:refs/tags/ko-master
        Pull: +pu:refs/tags/ko-pu
        Pull: maint:refs/tags/ko-maint

and with this, I first run

	$ git fetch ko
	$ git show-branch master ko-master

to make sure I am not rewinding what I have already pushed out
by mistake, and then

	$ git push ko
        $ git push --tags ko ;# if I added a new tag

Re: Starting a new project remotely

From: Daniel Barkalow <hidden>
Date: 2016-06-15 22:42:16

On Sun, 15 Jan 2006, Junio C Hamano wrote:
Daniel Barkalow [off-list ref] writes:
quoted
Is there something currently that acts like git-clone, except that it sets 
up automatic connections in the opposite direction? That is, you run it in 
a repository with no origin, and it pushes the data to the specified 
location (which probably needs to be set up already as an empty 
repository) and sets the local side's origin remote to the location given.
The "git push" command allows you to push into an empty or even
unrelated destination, but I do think there no wrapper that
creates remotes/ file.  BTW, calling that "origin" is probably
confusing.  In the scenario you outlined, your local side is the
source and the remote is the sink.
My general pattern is that I have an "origin" repository, which is public 
and central. I do work in various other repositories, and push the results 
to origin when I finish them. I create these with "git clone", so the 
central point is called "origin" in each clone.

The odd case is when I start out; I have a repository with the initial 
commit, and "origin" is blank. The desired result is that the central 
location gets this commit, and the repository I'm starting from becomes 
identical to any clone of the central location.

I don't create the initial commit in the central location because there's 
no working tree there, and it's a pain to prepare a commit without one. I 
suppose the alternative is to support cloning a blank repository, so I 
could prepare the initial commit just like any later one.

Incidentally, I think it would be useful to have a script that creates a 
remotes/ file given a command line like push or pull. Then you could use 
"git pull" with a long command line until you were happy with the 
behavior, and then make a shortcut out of it. It'd also be nice to have 
the command list the remotes for you as well. If anyone's in the mood for 
scripting and wants something to work on...

	-Daniel
*This .sig left intentionally blank*
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help