From: Tomas Carnecky Date: Wed, 11 Nov 2009 20:32:30 GMT Subject: Re: Unhelpful "branch.master.remote = " advice? Message-ID: In-Reply-To: <1257968052.26362.155.camel@heerbeest> On Nov 11, 2009, at 8:34 PM, Jan Nieuwenhuizen wrote: > Op woensdag 11-11-2009 om 20:10 uur [tijdzone +0100], schreef Tomas > Carnecky: >> On Nov 11, 2009, at 7:56 PM, Jan Nieuwenhuizen wrote: > > Hi Tomas, > >> You used this: >> $ git config branch.master.remote = >> Do you see the difference between that and what I posted? > > Sure, I now know what syntax you and the advise mean. However, > I'm just pointing out that the git pull advise makes no sense, > however way you try to interpret it? 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. >>> I think it might be more helpful if this text said >>> configuration file and gave a usable configuration file >>> snippet, or alternatively said git config, and gave usable >>> git config commands. >> >> Feel free to send a patch ;) > > [just maybe, if my uninstall patch goes in easily, but] > > First I need to know what the new advise should be. As you > can see below, I'm still confused. > > I was hoping someone would say: Ah blast! That was me, > stupid: Fixed in master :-) And everything would make > sense and work. You can use git-blame(1) to find out who wrote those lines ;) > >> branch.master.remote has two different values, git doesn't know which >> remote to use. > > Well, it can see that there already is a value for > branch.master.remote > defined, and it /still/ advises to add one. It also uses , > which suggests there could be multiple values? > > For all I know, pull can only handle one nickname and it shouldn't > give this advise at all? > >> Do you want to pull from origin or eddy? > > I'm publishing on origin -- that's what the original clone was > from. Also, I use it to update from most often, when I work > from different locations. All fine. > > Now this Eddy guy says: pull from here. I try it and get > this advise. So, I'd like to have > > git pull # use origin by default > git pull eddy # pull from eddy's url 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. > >> I would >> recommend only keeping one [branch "master"] section and edit it >> appropriately. > > Yes, I tried that and came up with > > [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 = eddy > # branch.master.remote = > # branch.master.merge = > # remote..url = > # remote..fetch = > #[branch "master"] > # remote = eddy # ignore branch.master.remote advise > # merge = refs/heads/master > [remote "eddy"] > url = http://github.com/epronk/gub.git > fetch = +refs/heads/*:refs/remotes/origin/* 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 . 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). > > This /seems/ to work. However, I still get this > > $ git pull -r > From git@github.com:janneke/gub > + 7bb5905...8ff38da master -> origin/master (forced update) > First, rewinding head to replay your work on top of it... > Fast-forwarded master to 8ff38da0a7013a891de18a0b7bec12b9d1fa6637. > 20:25:55 janneke@peder:~/vc/gub > > [looks okay] > > $ git pull -r eddy > From http://github.com/epronk/gub > + 8ff38da...7bb5905 master -> origin/master (forced update) > [looks fine too, but still continues with] > 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 '). > 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 = > branch.master.merge = > remote..url = > remote..fetch = > > See git-config(1) for details. > [1]20:26:01 janneke@peder:~/vc/gub > $ > > so I'm still missing something? > >> Is 'git pull -r' not short enough for you? > > It's more of a usability thing. It annoys me that the most > used functionality needs a command line option. Worse however, > is that people [myself included] tend to forget that "-r", > and our logs have lots of these ugly, unnecessary > > c377994 Merge branch 'master' of ssh+git://git.sv.gnu.org/srv/git/lilypond > > Also, we need to explain this to all newcomers. I've found that all the available guides and books about git explain merging pretty well (it's a central part of git after all). tom