From 2126076308e13efbacf115afc3856d2c1da541fa Mon Sep 17 00:00:00 2001 From: Rasmus Date: Mon, 3 Jul 2017 11:48:58 +0200 Subject: [PATCH] Update README_maintainer with upstream synchronization instructions * README_maintainer: Update with upstream synchronization instructions. --- README_maintainer | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/README_maintainer b/README_maintainer index 6b162aa52..bf2678da3 100644 --- a/README_maintainer +++ b/README_maintainer @@ -88,9 +88,62 @@ Org and contributed libraries. org-latest* snapshots are built from the *master* branch. -* Synchronization with Emacs - -** Updating etc/ORG-NEWS +* Synchronization Org and upstream Emacs +Org should be kept in sync with the upstream [[http://git.savannah.gnu.org/cgit/emacs.git/tree/][Emacs repository]]. +Sometimes Org is changed in the Emacs upstream repo. These changes +should be backported. Likewise, new stable releases of Org should be +added to Emacs. +** Backporting changes from upstream Emacs +To check for backports from the Emacs upstream repository, one can use +the following =git= command, cutesy of [[http://permalink.gmane.org/gmane.emacs.devel/215861][Kyle Meyer]], + +: git log $rev..origin/emacs-25 -- lisp/org doc/misc/org.texi etc/refcards/orgcard.tex + +where =$rev= is the last commit from the =emacs-25= branch that was +backported. The same should be done for the =master= branch. + +One may also use this [[http://git.savannah.gnu.org/cgit/emacs.git/atom/lisp/org/][Atom feed]] to see upstream changes. +** Updating the Org version in upstream Emacs +After a new release of Org, it should be synced to the Emacs +repository. + +Typically, Org can be synchronized by copying over files from the +=emacs-sync= branch of the Org repository to the =master= branch of Emacs +repository. The =emacs-sync= branch has a few extra changes compared to +the =maint= branch. If the Emacs maintainers are planning a new release +of Emacs soon, it is possible that another branch, e.g. =emacs-25=, +should be used. + +If you are synchronizing a major release of Org, it may be useful to +use a separate branch before merging, e.g. =scratch/org-mode-merge=. +This can then later be merged with the =master= branch, when everything +has been tested. + +Please also see [[http://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE][CONTRIBUTE]] in the Emacs repository. +*** Where to files go +The following detail where files in Org repository are copied to in +the Emacs repository. +*** =org-mode/doc= +- =org.texi= :: Copy to =emacs/doc/misc=. It may be necessary to replace, + ~@include org-version.inc~ #+end_src with ~@set VERSION 9.0.9~ + or similar. +- =orgcard.tex= :: Copy to =emacs/doc/refcards=. Make sure that + ~\def\orgversionnumber~ and ~\def\versionyear~ are up + to date, if necessary. +- =library-of-babel.org= :: Copy to =emacs/etc/org=. +*** =org-mode/etc= +- =styles/*= :: Copy to =emacs/etc/org=. +- =schema/*.rnc= :: Copy to =emacs/etc/schema=. +- =schema/schemas.xml= :: New entries of this files should be added to + =emacs/etc/schema/schemas.xml=. +- =ORG-NEWS= :: Copy to =emacs/etc= +*** =org-mode/lisp= +- Copy =*.el= files to =emacs/lisp/org=, except =org-loaddefs.el=! +- You should create =org-version.el= in =emacs/lisp/org=. The file is + created when you =make= Org. +*** TODO =org-mode/testing= +** Outdated notes +*** Updating etc/ORG-NEWS Latest changes in Emacs are described in Emacs =etc/NEWS=, and latest changes in major Emacs packages are described in =etc/ORG-NEWS=. @@ -100,7 +153,7 @@ always should), you need to update Org's =etc/ORG-NEWS= file so that you can merge it with that of Emacs. There is one top-level section for each release that is merged with Emacs. -** Merging with Emacs trunk branch +*** Merging with Emacs trunk branch This is still a significant headache. Some hand work is needed here. -- 2.13.2