* pushing remote branches
@ 2009-11-14 23:37 Lorenzo Bettini
2009-11-15 0:45 ` Sitaram Chamarty
0 siblings, 1 reply; 6+ messages in thread
From: Lorenzo Bettini @ 2009-11-14 23:37 UTC (permalink / raw)
To: git
Hi
I recently started to use git, and I experienced problems with branches:
on my machine I did (on an already cloned repo)
git checkout -b experiments origin/experiments
and thus my config reads
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://...
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "experiments"]
remote = origin
merge = refs/heads/experiments
isn't this enough to be able to push the experiments branch?
I tried
git push origin experiments
It tells me that it is a read-only url...
after adding
[remote "experiments"]
url = git@...
fetch =
+refs/heads/experiments:refs/remotes/experiments/experiments
I can now push that branch with
git push experiments experiments
but I was wondering whether the initial config wasn't enough...
many thanks in advance
Lorenzo
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134 (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pushing remote branches
2009-11-14 23:37 pushing remote branches Lorenzo Bettini
@ 2009-11-15 0:45 ` Sitaram Chamarty
2009-11-15 10:21 ` Lorenzo Bettini
0 siblings, 1 reply; 6+ messages in thread
From: Sitaram Chamarty @ 2009-11-15 0:45 UTC (permalink / raw)
To: Lorenzo Bettini; +Cc: git
Hi Lorenzo,
On Sun, Nov 15, 2009 at 5:07 AM, Lorenzo Bettini <bettini@dsi.unifi.it> wrote:
> url = git://...
> isn't this enough to be able to push the experiments branch?
not normally.
The "git://" protocol is a read-only protocol by default. Since it is
completely unauthenticated, enabling push via git:// is not a good idea in
general.
> url = git@...
This is a shortcut for something like ssh://git@..., which then allows write
also.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pushing remote branches
2009-11-15 0:45 ` Sitaram Chamarty
@ 2009-11-15 10:21 ` Lorenzo Bettini
2009-11-15 11:04 ` Sitaram Chamarty
0 siblings, 1 reply; 6+ messages in thread
From: Lorenzo Bettini @ 2009-11-15 10:21 UTC (permalink / raw)
To: git
Sitaram Chamarty wrote:
> Hi Lorenzo,
>
> On Sun, Nov 15, 2009 at 5:07 AM, Lorenzo Bettini <bettini@dsi.unifi.it> wrote:
>
>> url = git://...
>
>> isn't this enough to be able to push the experiments branch?
>
> not normally.
>
> The "git://" protocol is a read-only protocol by default. Since it is
> completely unauthenticated, enabling push via git:// is not a good idea in
> general.
so probably I managed to push origin master anyway because gitorious
asked me for my ssh passphrase?
>
>> url = git@...
>
> This is a shortcut for something like ssh://git@..., which then allows write
> also.
Thus, if I had
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@...
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "experiments"]
remote = origin
merge = refs/heads/experiments
instead of
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://...
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "experiments"]
remote = origin
merge = refs/heads/experiments
I would have been able to push also to branch experiments? Without
having to add
[remote "experiments"]
url = git@...
fetch =
+refs/heads/experiments:refs/remotes/experiments/experiments
?
thanks in advance
Lorenzo
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134 (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pushing remote branches
2009-11-15 10:21 ` Lorenzo Bettini
@ 2009-11-15 11:04 ` Sitaram Chamarty
2009-11-16 15:27 ` Lorenzo Bettini
0 siblings, 1 reply; 6+ messages in thread
From: Sitaram Chamarty @ 2009-11-15 11:04 UTC (permalink / raw)
To: Lorenzo Bettini; +Cc: git
On Sun, Nov 15, 2009 at 3:51 PM, Lorenzo Bettini <bettini@dsi.unifi.it> wrote:
> Sitaram Chamarty wrote:
>>
>> Hi Lorenzo,
>>
>> On Sun, Nov 15, 2009 at 5:07 AM, Lorenzo Bettini <bettini@dsi.unifi.it>
>> wrote:
>>
>>> url = git://...
>>
>>> isn't this enough to be able to push the experiments branch?
>>
>> not normally.
>>
>> The "git://" protocol is a read-only protocol by default. Since it is
>> completely unauthenticated, enabling push via git:// is not a good idea in
>> general.
>
> so probably I managed to push origin master anyway because gitorious asked
> me for my ssh passphrase?
As far as I know you could not have pushed anything when the url is
git:// (at least by default. Push over git:// can be enabled but is
highly inadvisable and I have not seen anyone enable it nor any good
reason to)
> Thus, if I had
>
> [remote "origin"]
> fetch = +refs/heads/*:refs/remotes/origin/*
> url = git@...
> [branch "master"]
> remote = origin
> merge = refs/heads/master
> [branch "experiments"]
> remote = origin
> merge = refs/heads/experiments
>
> instead of
>
> [remote "origin"]
> fetch = +refs/heads/*:refs/remotes/origin/*
> url = git://...
> [branch "master"]
> remote = origin
> merge = refs/heads/master
> [branch "experiments"]
> remote = origin
> merge = refs/heads/experiments
>
> I would have been able to push also to branch experiments? Without having
> to add
>
> [remote "experiments"]
> url = git@...
> fetch = +refs/heads/experiments:refs/remotes/experiments/experiments
>
> ?
(by the way: do you mean refs/remotes/origin/experiments in that last
line above?)
Anyway to answer your question, I do not see the refspec line as the issue
here, but the URL for the repo, which determines how you access it.
regards,
sitaram
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pushing remote branches
2009-11-15 11:04 ` Sitaram Chamarty
@ 2009-11-16 15:27 ` Lorenzo Bettini
2009-11-16 20:05 ` Junio C Hamano
0 siblings, 1 reply; 6+ messages in thread
From: Lorenzo Bettini @ 2009-11-16 15:27 UTC (permalink / raw)
To: git
Sitaram Chamarty wrote:
>
>> Thus, if I had
>>
>> [remote "origin"]
>> fetch = +refs/heads/*:refs/remotes/origin/*
>> url = git@...
>> [branch "master"]
>> remote = origin
>> merge = refs/heads/master
>> [branch "experiments"]
>> remote = origin
>> merge = refs/heads/experiments
>>
>> instead of
>>
>> [remote "origin"]
>> fetch = +refs/heads/*:refs/remotes/origin/*
>> url = git://...
>> [branch "master"]
>> remote = origin
>> merge = refs/heads/master
>> [branch "experiments"]
>> remote = origin
>> merge = refs/heads/experiments
>>
>> I would have been able to push also to branch experiments? Without having
>> to add
>>
>> [remote "experiments"]
>> url = git@...
>> fetch = +refs/heads/experiments:refs/remotes/experiments/experiments
>>
>> ?
>
> (by the way: do you mean refs/remotes/origin/experiments in that last
> line above?)
>
no, it's just like I wrote it...
you mean in
[remote "experiments"]
url = git@gitorious.org...
fetch =
+refs/heads/experiments:refs/remotes/experiments/experiments
or in
[branch "experiments"]
remote = origin
merge = refs/heads/experiments
?
> Anyway to answer your question, I do not see the refspec line as the issue
> here, but the URL for the repo, which determines how you access it.
so this would have been enough:
>> [remote "origin"]
>> fetch = +refs/heads/*:refs/remotes/origin/*
>> url = git://...
>> [branch "master"]
>> remote = origin
>> merge = refs/heads/master
>> [branch "experiments"]
>> remote = origin
>> merge = refs/heads/experiments
?
thanks
Lorenzo
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
BLOGS: http://tronprog.blogspot.com http://longlivemusic.blogspot.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pushing remote branches
2009-11-16 15:27 ` Lorenzo Bettini
@ 2009-11-16 20:05 ` Junio C Hamano
0 siblings, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2009-11-16 20:05 UTC (permalink / raw)
To: Lorenzo Bettini; +Cc: git
Lorenzo Bettini <bettini@dsi.unifi.it> writes:
>> Anyway to answer your question, I do not see the refspec line as the issue
>> here, but the URL for the repo, which determines how you access it.
>
> so this would have been enough:
>
>>> [remote "origin"]
>>> fetch = +refs/heads/*:refs/remotes/origin/*
>>> url = git://...
>>> [branch "master"]
>>> remote = origin
>>> merge = refs/heads/master
>>> [branch "experiments"]
>>> remote = origin
>>> merge = refs/heads/experiments
Because "git://" is almost always read-only, you wouldn't be able to push
back to the origin with that configuration. If you are only following the
project that is perfectly fine.
Otherwise, either use "git@..." in remote.origin.url to use git-over-ssh
in both directions, or you can use pushurl if you have recent enough
version of git, like:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://...
pushurl = git@...
When you primed your repository with "git clone git://...", it would be
nice if "clone" added a "corresponding" pushurl for you. But ... part of
the two lines are often different, depending on how hosting site is
organized, so unfortunately "clone" cannot do so.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-11-16 20:05 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-14 23:37 pushing remote branches Lorenzo Bettini
2009-11-15 0:45 ` Sitaram Chamarty
2009-11-15 10:21 ` Lorenzo Bettini
2009-11-15 11:04 ` Sitaram Chamarty
2009-11-16 15:27 ` Lorenzo Bettini
2009-11-16 20:05 ` 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).