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: Merging changes from emacs-24 to master Date: Sat, 22 Nov 2014 11:00:10 +0100 Organization: Probably a good idea Message-ID: References: <83mw7rerwb.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1416650419 1291 80.91.229.3 (22 Nov 2014 10:00:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 22 Nov 2014 10:00:19 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 22 11:00:14 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 1Xs7UA-0007de-3R for ged-emacs-devel@m.gmane.org; Sat, 22 Nov 2014 11:00:10 +0100 Original-Received: from localhost ([::1]:44608 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xs7U9-0005p9-Ph for ged-emacs-devel@m.gmane.org; Sat, 22 Nov 2014 05:00:09 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50171) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xs7U2-0005lJ-3j for emacs-devel@gnu.org; Sat, 22 Nov 2014 05:00:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xs7Tx-0000vL-4x for emacs-devel@gnu.org; Sat, 22 Nov 2014 05:00:02 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:60868) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xs7Tw-0000vD-Tk for emacs-devel@gnu.org; Sat, 22 Nov 2014 04:59:57 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Xs7Tv-0007ZF-N9 for emacs-devel@gnu.org; Sat, 22 Nov 2014 10:59:55 +0100 Original-Received: from cm-84.208.248.210.getinternet.no ([84.208.248.210]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 22 Nov 2014 10:59:55 +0100 Original-Received: from sb by cm-84.208.248.210.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 22 Nov 2014 10:59:55 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-Lines: 62 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.208.248.210.getinternet.no Mail-Copies-To: never User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.3 (windows-nt) Cancel-Lock: sha1:TlS4aPoyIGsfbqEV4dLBonBv21k= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:177982 Archived-At: >>>>> Eli Zaretskii : >> Date: Sat, 15 Nov 2014 14:18:34 -0700 >> From: Christoph >> >> I just added rev b6cd03a to the emacs-24 branch (adding a file to .gitignore). >> The same issue needs to be fixed in master. What is the procedure to get the >> change from emacs-24 to master? Just cherry-pick the change? What about the >> Changelog? Is it expected to be merged in also? Or will there be a periodic >> bulk merge from emacs-24 to master? > There's no procedure yet. When there will be, it will be based on > merges, like with bzr. Here's how I would do it (assuming the standard layout of Lars's document): cd ~/emacs/master/ git merge --no-ff --no-commit emacs-24 After this, all successfully auto-merged files are staged and ready for commit, and all files that got a conflict from the commit are waiting for resolution. I use magit http://magit.github.io/ to inspect the merge results. The user interface is similar to svn-status and cvs-status: C-x d ~/emacs/master M-x magit-status RET I've installed magit using ELPA (but not the official GNU ELPA) https://github.com/magit/magit#installation (it's on both melpa and marmalade) In magit I look at the diffs for all of the files that are staged for commit and see if they are what I expected. Files staged for commit that contain changes that should be in master (e.g. files containing version numbers related to the emacs-24 branch), are reverted (magit key 'k'). On the next merge git will remember this resolution, and the change will not re-appear. If some of the staged files with desired changes contain undesired changes, such as e.g. version numbers, I manually edit the file to lose those diffs, and save the file. Then I re-stage the file in magit (magit key 's'), and check the diff of the staged file again. For conflicted files with a few lines of conflict, I try to resolve the conflicts manually in emacs, until I get the desired diff, then I stage the file from magit. For conflicted files that really should come from one of the branches (if merging to master, should come completely from master), I do this: git checkout origin/master example-file If you refresh magit, the file will have disappeared from the staged files for the commit. Also this file will be excluded from the future merges from emacs-24 to master. After I'm satisfied that the diff looks sensible, I commit from magit ('c c') and edit the automatic merge commit message if necessary (most of the time it isn't necessary, but sometimes it's useful to make a few notes about conflict resolutions, in particular where a file was taken completely from one of the branches).