On Wed, Apr 09, 2008 at 11:08:36PM +0300, Teemu Likonen wrote:This has been discussed before and rejected, because the point of doing a fetch of a URL (rather than a remote name) is to do a "one-off" thing. IOW, you don't _want_ the tracking branches, as they will just clutter your branch space (plus choosing the last component is a bad heuristic; lots of people must ask Linus to pull from their .../linux-2.6 repository). Almost nobody says "git fetch <URL>"; it is just a subpart of "git pull <URL>" which is intended for one-off merges (i.e., you are not tracking somebody over the long term, you just want to grab their work and merge it). It does; it puts the refs into FETCH_HEAD. Maybe a status table like the usual one would be more informative, like: From git://host/path/to/repo * [new branch] foo -> FETCH_HEAD though again, it would help if we could see a workflow that uses "git fetch <URL>" for something. I think the simplest answer in your case is "don't use git fetch <URL>". Sure. There is an explicit design decision that "because you gave this thing a nickname, you are probably interested in keeping its tracking branches around." It would probably be nice if "git fetch name foo" saved the remote tracking branch remotes/name/foo, which it doesn't currently. But whether to do it with a URL is orthogonal; it depends on whether we use tracking branches for URLs in general, as you suggested above. We almost have that. It's actually spelled: git fetch <URL|name> <Rbranch>:remotes/<Lbranch> But again, what is the workflow? There are generally two ways of fetching: 1. I am tracking some remote with multiple branches. I give it a remote name (either by editing the config file or by using git-remote). When i want to get updates, I do "git fetch <name>", and then I can work with the <name>/* branches as I want (diffing, merging, etc). 2. "Somehow" I found out about something interesting in a particular branch of a particular repo. I want to pull that in to see the work, so I use "git pull <repo> <branch>". Alternatively, if I prefer to fetch and examine before pulling (even though the merge can of course be cancelled easily), I can "git fetch <repo> <branch>", followed by "git diff HEAD FETCH_HEAD", followed by "git merge FETCH_HEAD". It seems like you are getting caught up on using "git fetch" in different ways that don't really make sense to its original use. So the problem is not so much one of "fetch doesn't do what I want it to do" as much as "it is easy to be confused about what it is I want to do." -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| David Newall | Re: Slow DOWN, please!!! |
| Ian Campbell | Re: [PATCH] x86: Construct 32 bit boot time page tables in native format. |
| Matthias Scheler | Re: HEADS UP: timecounters (branch simonb-timecounters) merged into -current |
| Greg Troxel | Re: Interface to change NFS exports |
| Thor Lancelot Simon | metadata cache and memory fragmentation |
| YAMAMOTO Takashi | amap memory allocation |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| David Miller | [GIT]: Networking |
| Dushan Tcholich | Re: ksoftirqd high cpu load on kernels 2.6.24 to 2.6.27-rc1-mm1 |
