Re: Unhelpful "branch.master.remote = <nickname>" advice?
- From
- Jan Nieuwenhuizen <janneke-list@xs4all.nl>
- Date
- Nov 12, 2009, 14:17 UTC
- Message-ID
- <1258035449.26362.273.camel@heerbeest>
- In-Reply-To
- <AC99BA30-A36D-4798-8E7D-9D69EFE99D55@dbservice.com>
Op woensdag 11-11-2009 om 21:32 uur [tijdzone +0100], schreef Tomas Carnecky:
Hi Tomas,
> It didn't tell you to copy'n'paste the whole lines to a git-config(1) > commandline. But I do see that the output can be confusing for someone > not familiar with the git configuration files/git-config.
Once I get this to work, I'll send a patch for it.
> I don't know the relationship between you and eddy, but usually you > shouldn't rebase (=rewrite) eddies commits. That also means you'd have > to live with the merge commits.
Hmm, okay.
> I see your mistake. Both the origin and eddy remote write to the same > namespace (refs/remotes/origin/*), and that's also why you get (force > update) below
Ah, that makes sense.
> . Change the fetch line of remote.eddy.fetch to +refs/heads/*:refs/ > remotes/eddy/*. After that both command (pull -r / pull -r eddy) > should work (I hope).
Okay, so now I have
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "origin"]
url = git@github.com:janneke/gub.git
fetch = +refs/heads/*:refs/remotes/origin/*
# advise from git pull, using <nickname> = eddy
# branch.master.remote = <nickname>
# branch.master.merge = <remote-ref>
# remote.<nickname>.url = <url>
# remote.<nickname>.fetch = <refspec>
#[branch "master"]
# remote = eddy
# merge = refs/heads/master
[remote "eddy"]
url = http://github.com/epronk/gub.git
#use remote.eddy.fetch to +refs/heads/*:refs/remotes/eddy/*.
fetch = +refs/heads/*:refs/remotes/eddy/*It looked promising, but still get
15:00:20 janneke@peder:~/vc/gub
$ git pull -r --verbose
From git@github.com:janneke/gub
= [up to date] lilypond-release-branch -> origin/lilypond-release-branch
= [up to date] master -> origin/master
Current branch master is up to date.
15:00:26 janneke@peder:~/vc/gub
$ git pull -r --verbose eddy
From http://github.com/epronk/gub
= [up to date] lilypond-release-branch -> eddy/lilypond-release-branch
= [up to date] master -> eddy/master
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me either. Please
specify which branch you want to merge on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details. If you often merge with the same branch, you may want to
configure the following variables in your configuration
file:branch.master.remote = <nickname> branch.master.merge = <remote-ref> remote.<nickname>.url = <url> remote.<nickname>.fetch = <refspec>
See git-config(1) for details.
[1]15:00:33 janneke@peder:~/vc/gub
$ After this I started to re-read git-config's man page again. There is something strange that I do not understand
branch.<name>.merge
Defines, together with branch.<name>.remote, the upstream
branch for the given branch. It tells git-fetch/git-pull
which branch to merge and can also affect git-push (see
push.default).this seems to imply that the merge variable here
[branch "master"]
remote = FOOBAR
merge = refs/heads/masteris somehow tied to the remote nick FOOBAR. That would mean it is actually taken as
branch.<name>.<nickname>.merge
and also that it's impossible to specify more than one <nickname>. That would be make nicknames unusable and thus silly, so I cannot be right?
Thanks a lot for your continued support!
Greetings, Jan.
-- Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter Avatar®: http://AvatarAcademy.nl | http://lilypond.org