From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Shawn O. Pearce" Subject: Re: [PATCH resend] make "git push" update origin and mirrors, "git push --mirror" update mirrors Date: Sun, 27 Apr 2008 00:30:14 -0400 Message-ID: <20080427043014.GI29771@spearce.org> References: <4812DA50.3000702@gnu.org> <20080426170126.GC29771@spearce.org> <7vzlrgmrvb.fsf@gitster.siamese.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Cc: Paolo Bonzini , git@vger.kernel.org To: Junio C Hamano X-From: git-owner@vger.kernel.org Sun Apr 27 06:31:08 2008 connect(): Connection refused Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1JpyXb-0001na-Hk for gcvg-git-2@gmane.org; Sun, 27 Apr 2008 06:31:07 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750996AbYD0EaU (ORCPT ); Sun, 27 Apr 2008 00:30:20 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751183AbYD0EaU (ORCPT ); Sun, 27 Apr 2008 00:30:20 -0400 Received: from corvette.plexpod.net ([64.38.20.226]:44323 "EHLO corvette.plexpod.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750844AbYD0EaT (ORCPT ); Sun, 27 Apr 2008 00:30:19 -0400 Received: from cpe-74-70-48-173.nycap.res.rr.com ([74.70.48.173] helo=asimov.home.spearce.org) by corvette.plexpod.net with esmtpa (Exim 4.68) (envelope-from ) id 1JpyWm-0006Yp-UQ; Sun, 27 Apr 2008 00:30:17 -0400 Received: by asimov.home.spearce.org (Postfix, from userid 1000) id B5B0A20FBAE; Sun, 27 Apr 2008 00:30:14 -0400 (EDT) Content-Disposition: inline In-Reply-To: <7vzlrgmrvb.fsf@gitster.siamese.dyndns.org> User-Agent: Mutt/1.5.11 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - corvette.plexpod.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - spearce.org Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: Junio C Hamano wrote: > "Shawn O. Pearce" writes: > > > Why not just have a remote named "my-mirror" and do `git push my-mirror`? > > Yes, its on keystroke longer to type. Call it foo. `git push foo` would > > be shorter, and not require code changes in Git. ... > (2) no, by separating individual remotes (which are not 'foo') and a > magic "pushing to everywhere" (which is 'foo'), that extra 'foo' > simplifies things, to explain, understand, and diagnose (when > something goes south). This is the only behavior that really makes sense to me. When I first started to learn and use a DVCS I'll admit that I did found it odd that "$dvcs commit" did not make my changes immediately available to everyone else on the project. I've gotten over that and have become very used to the idea that "git push foo" is the means that I publish my work to location(s) named "foo", using the publication means I have pre-configured for that name. Not all of my work from the same repository is always published the same way. For example in egit I can publish to both the master egit tree (repo.or.cz/egit.git) and to my fork (repo.or.cz/egit/spearce.git). I publish to the latter almost daily, and rebase even more often than that. But the master tree only receives stable work whose history does not rewind. In git being able to configure two different remotes and specifically pushing to the destination is very easy. What is less easy is our reliance on a default named "origin" and the syntax we have for the remote configuration. It is fairly simple, but new users do seem to struggle with it a bit. -- Shawn.