From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carl Worth Subject: Re: VCS comparison table Date: Sat, 21 Oct 2006 17:04:50 -0700 Message-ID: <874ptx1ahp.wl%cworth@cworth.org> References: <9e4733910610140807p633f5660q49dd2d2111c9f5fe@mail.gmail.com> <87irie1wvv.wl%cworth@cworth.org> <453A7D7E.8060105@utoronto.ca> <200610212248.37935.jnareb@gmail.com> <453AAFBD.7020009@utoronto.ca> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: multipart/signed; boundary="pgp-sign-Multipart_Sat_Oct_21_17:04:50_2006-1"; micalg=pgp-sha1; protocol="application/pgp-signature" Content-Transfer-Encoding: 7bit Cc: Jakub Narebski , Linus Torvalds , Andreas Ericsson , bazaar-ng@lists.canonical.com, git@vger.kernel.org X-From: git-owner@vger.kernel.org Sun Oct 22 02:04:58 2006 Return-path: Envelope-to: gcvg-git@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GbQpl-0005HK-2b for gcvg-git@gmane.org; Sun, 22 Oct 2006 02:04:57 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161502AbWJVAEy (ORCPT ); Sat, 21 Oct 2006 20:04:54 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1161510AbWJVAEy (ORCPT ); Sat, 21 Oct 2006 20:04:54 -0400 Received: from cworth.org ([217.160.249.188]:41173 "EHLO theworths.org") by vger.kernel.org with ESMTP id S1161502AbWJVAEx (ORCPT ); Sat, 21 Oct 2006 20:04:53 -0400 Received: (qmail 18955 invoked from network); 21 Oct 2006 20:04:51 -0400 Received: from localhost (HELO raht.cworth.org) (127.0.0.1) by localhost with SMTP; 21 Oct 2006 20:04:51 -0400 To: Aaron Bentley In-Reply-To: <453AAFBD.7020009@utoronto.ca> User-Agent: Wanderlust/2.14.0 (Africa) Emacs/21.4 Mule/5.0 (SAKAKI) Sender: git-owner@vger.kernel.org Precedence: bulk X-Mailing-List: git@vger.kernel.org Archived-At: --pgp-sign-Multipart_Sat_Oct_21_17:04:50_2006-1 Content-Type: text/plain; charset=US-ASCII On Sat, 21 Oct 2006 19:39:41 -0400, Aaron Bentley wrote: > Of course if you have a copy of bzr.dev on your computer, you don't need > to type the full URL. it's just like the 'merge ../b' above. > > But how can you use the branch name of a branch that isn't on your > computer? I suspect git requires a separate 'clone' step to get it onto > your computer first. No. You can merge a branch from a remote repository in a single step: git pull http://example.com/git/repo branch-of-interest But if you want to do something besides (or before) a merge, (for example, just explore its history, do some diffs etc.) then you would fetch it instead, assigning it a local branch name in the process: git fetch http://example.com/git/repo branch-of-interest:local-name After which "local-name" is all one would need to use. So after a fetch like the above, the equivalent of "bzr missing --theirs-only" would be: git log ..local-name [This shows some of the expressive power of git revision specifications. There's no need for a separate "missing" command. It's just one case of viewing a particular subset of the DAG. And the specification language makes almost all interesting subsets easy. The --mine-only specification would be "local-name.."] And beyond what bzr missing does (I believe) it's easy to also see the patch content of each commit with: git log -p ..local-name And then if everything is happy, one could merge that branch in: git pull . local-name (And, yes, it is the case that "pull" with a repository URL of "." is how merging is done. It's bizarre to me that this is not "git merge local-name" instead. There actually _is_ a "git merge" command that could be used here, but it is somewhat awkward to use, (requiring both a commit message (without the -m of git-commit(!)) and an explicit mention of the current branch). So using it would be something like: git merge "merge of local-name" HEAD local-name I've never claimed that git is completely free of its UI warts---though there are fewer now than when I started using it.) But, yes, the notion in git is to bring things in to the current repository and then work with them locally. This has an advantage that network traffic is spent only once if doing multiple operations, (say the three steps shown above: 1) investigate commit messages, 2) investigate patch content, 3) perform the merge). -Carl --pgp-sign-Multipart_Sat_Oct_21_17:04:50_2006-1 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQBFOrWi6JDdNq8qSWgRAnOvAJ9VtJrPRCtCYcJmI+FpIamWXbUbygCgnQQm c1ZEHuw7oGynN6Bj54A/6vg= =ZgoU -----END PGP SIGNATURE----- --pgp-sign-Multipart_Sat_Oct_21_17:04:50_2006-1--