From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Steinar Bang Newsgroups: gmane.emacs.devel Subject: Re: Rewriting bzrmerge.el Date: Sun, 23 Nov 2014 17:32:57 +0100 Message-ID: References: <20141027000718.F09B5382A66@snark.thyrsus.com> <87bno8y0rt.fsf_-_@engster.org> <871tp4xx4i.fsf@engster.org> <87tx20whtq.fsf@engster.org> <87lhn4rx0v.fsf@engster.org> <838uj3tztm.fsf@gnu.org> <87egsvrz6e.fsf@engster.org> <83mw7jrxt9.fsf@gnu.org> <87a93jrw83.fsf@engster.org> <83ioi7rn9o.fsf@gnu.org> <87389brle1.fsf@engster.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1416764200 30581 80.91.229.3 (23 Nov 2014 17:36:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 23 Nov 2014 17:36:40 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Nov 23 18:36:25 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Xsb5E-0003Aw-Sx for ged-emacs-devel@m.gmane.org; Sun, 23 Nov 2014 18:36:25 +0100 Original-Received: from localhost ([::1]:49495 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xsb5E-0003jl-E2 for ged-emacs-devel@m.gmane.org; Sun, 23 Nov 2014 12:36:24 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35105) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xsa5k-0004Nj-7T for emacs-devel@gnu.org; Sun, 23 Nov 2014 11:32:57 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xsa5f-0004dV-14 for emacs-devel@gnu.org; Sun, 23 Nov 2014 11:32:52 -0500 Original-Received: from rainey.bang.priv.no ([212.110.185.190]:42586) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xsa5e-0004bu-Rp for emacs-devel@gnu.org; Sun, 23 Nov 2014 11:32:46 -0500 In-Reply-To: <87389brle1.fsf@engster.org> (David Engster's message of "Sat, 22 Nov 2014 22:11:18 +0100") User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.3 (windows-nt) X-SA-Exim-Connect-IP: 84.208.248.210 X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8 bytes) X-SA-Exim-Mail-From: sb@dod.no X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:57:07 +0000) X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 212.110.185.190 X-Mailman-Approved-At: Sun, 23 Nov 2014 12:36:20 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:178103 Archived-At: >>>>> David Engster : > It will always be able to merge origin/emacs-24. I guess you could set > things up to merge from a second, separate clone (by adding it as a > remote), but I don't see the need. You don't need a clone for this, just a local bare repo. I'm assuming that the two separate clones are %USERPROFILE%\emacs\master and %USERPROFILE%\emacs\master for the examples above. Open a magit bash window, and do this: mkdir -p $HOME/repositories/local/ (cd $HOME/repositories/local; rm -rf emacs.git; git init --bare emacs.git) cd $HOME/emacs/master git remote add local $HOME/repositories/local/emacs.git cd $HOME/emacs/emacs-24 git remote add local $HOME/repositories/local/emacs.git And now you're ready to go. If you have added a change to emacs-24 and want it on master, then do this (in magit bash): cd $HOME/emacs/emacs-24 git push local HEAD cd $HOME/emacs/master git fetch local git merge local/emacs-24 (if you were using a feature branch instead of emacs-24, you could just push it instead of "emacs-24" that was used in the example). To speed things up and keep the local repo small, you can do this: (cd $HOME/repositories/outgoing/emacs.git; git gc --prune=now --aggressive) If you have lots of clutter in the local repo (eg. lots of defunct feature branches), you can just do this and start fresh: (cd $HOME/repositories/local; rm -rf emacs.git; git init --bare emacs.git) One reason for using magit bash instead of using git from regular cmd.exe (which I also sometimes do), is that magit bash does TAB expand on tags and branch names.