+or run the shell command 'info "(emacs)Contributing"'.)
+
+** The Emacs repository
+
+Emacs development uses Git on Savannah for its main repository.
+Briefly, the following shell commands build and run Emacs from scratch:
+
+ git config --global user.name 'Your Name'
+ git config --global user.email 'your.name@example.com'
+ git config --global transfer.fsckObjects true
+ git clone git://git.sv.gnu.org/emacs.git
+ cd emacs
+ ./autogen.sh
+ ./configure
+ make
+ src/emacs
+
+For more details, see
+http://www.emacswiki.org/emacs/GitQuickStartForEmacsDevs and
+http://www.emacswiki.org/emacs/GitForEmacsDevs or see the file
+admin/notes/git-workflow.
+
+** Getting involved with development
+
+You can subscribe to the emacs-devel@gnu.org mailing list, paying
+attention to postings with subject lines containing "emacs-announce",
+as these discuss important events like feature freezes. See
+http://lists.gnu.org/mailman/listinfo/emacs-devel for mailing list
+instructions and archives. You can develop and commit changes in your
+own copy of the repository, and discuss proposed changes on the
+mailing list. Frequent contributors to Emacs can request write access
+there.
+
+** Committing changes by others
+
+If committing changes written by someone else, commit in their name,
+not yours. You can use 'git commit --author="AUTHOR"' to specify a
+change's author.
+
+** Commit messages
+
+Ordinarily, a change you commit should contain a log entry in its
+commit message and should not touch the repository's ChangeLog files.
+Here is an example commit message (indented):
+
+ Deactivate shifted region
+
+ Do not silently extend a region that is not highlighted;
+ this can happen after a shift (Bug#19003).
+ * doc/emacs/mark.texi (Shift Selection): Document the change.
+ * lisp/window.el (handle-select-window):
+ * src/frame.c (Fhandle_switch_frame, Fselected_frame):
+ Deactivate the mark.
+
+Occasionally, commit messages are collected and prepended to a
+ChangeLog file, where they can be corrected. It saves time to get
+them right the first time, so here are guidelines for formatting them:
+
+- Start with a single unindented summary line explaining the change;
+ do not end this line with a period. If that line starts with a
+ semicolon and a space "; ", the commit message will be ignored when
+ generating the ChangeLog file. Use this for minor commits that do
+ not need separate ChangeLog entries, such as changes in etc/NEWS.
+
+- After the summary line, there should be an empty line, then
+ unindented ChangeLog entries.
+
+- Limit lines in commit messages to 78 characters, unless they consist
+ of a single word of at most 140 characters; this is enforced by a
+ commit hook. It's nicer to limit the summary line to 50 characters;
+ this isn't enforced. If the change can't be summarized so briefly,
+ add a paragraph after the empty line and before the individual file
+ descriptions.