aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinglu Chen <public@yoctocell.xyz>2021-03-13 11:04:04 +0100
committerXinglu Chen <public@yoctocell.xyz>2021-03-13 11:06:26 +0100
commitb777d8e69944a1455bff4261920642ab1fb4518e (patch)
tree9649110a4b83a1be4223d1b17d3c95c04c53419c
parent49571ab4c2ddd07db68aac300bdbc9c6bfd31b0b (diff)
doc: Write manual in Texinfo.
-rw-r--r--.gitignore3
-rw-r--r--doc/fdl-1.3.texi505
-rw-r--r--doc/git-email.info791
-rw-r--r--doc/git-email.org647
-rw-r--r--doc/git-email.texi359
5 files changed, 866 insertions, 1439 deletions
diff --git a/.gitignore b/.gitignore
index 52ca0e7..68189a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
-/doc/git-email.texi
+/doc/git-email.info
+/doc/html
/result
diff --git a/doc/fdl-1.3.texi b/doc/fdl-1.3.texi
new file mode 100644
index 0000000..cb71f05
--- /dev/null
+++ b/doc/fdl-1.3.texi
@@ -0,0 +1,505 @@
+@c The GNU Free Documentation License.
+@center Version 1.3, 3 November 2008
+
+@c This file is intended to be included within another document,
+@c hence no sectioning command or @node.
+
+@display
+Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+@uref{http://fsf.org/}
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+@end display
+
+@enumerate 0
+@item
+PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document @dfn{free} in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+@item
+APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The ``Document'', below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as ``you''. You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A ``Modified Version'' of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A ``Secondary Section'' is a named appendix or a front-matter section
+of the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The ``Invariant Sections'' are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The ``Cover Texts'' are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A ``Transparent'' copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not ``Transparent'' is called ``Opaque''.
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, La@TeX{} input
+format, SGML or XML using a publicly available
+DTD, and standard-conforming simple HTML,
+PostScript or PDF designed for human modification. Examples
+of transparent image formats include PNG, XCF and
+JPG. Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, SGML or
+XML for which the DTD and/or processing tools are
+not generally available, and the machine-generated HTML,
+PostScript or PDF produced by some word processors for
+output purposes only.
+
+The ``Title Page'' means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, ``Title Page'' means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+The ``publisher'' means any person or entity that distributes copies
+of the Document to the public.
+
+A section ``Entitled XYZ'' means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as ``Acknowledgements'',
+``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
+of such a section when you modify the Document means that it remains a
+section ``Entitled XYZ'' according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+@item
+VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+@item
+COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+@item
+MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+@enumerate A
+@item
+Use in the Title Page (and on the covers, if any) a title distinct
+from that of the Document, and from those of previous versions
+(which should, if there were any, be listed in the History section
+of the Document). You may use the same title as a previous version
+if the original publisher of that version gives permission.
+
+@item
+List on the Title Page, as authors, one or more persons or entities
+responsible for authorship of the modifications in the Modified
+Version, together with at least five of the principal authors of the
+Document (all of its principal authors, if it has fewer than five),
+unless they release you from this requirement.
+
+@item
+State on the Title page the name of the publisher of the
+Modified Version, as the publisher.
+
+@item
+Preserve all the copyright notices of the Document.
+
+@item
+Add an appropriate copyright notice for your modifications
+adjacent to the other copyright notices.
+
+@item
+Include, immediately after the copyright notices, a license notice
+giving the public permission to use the Modified Version under the
+terms of this License, in the form shown in the Addendum below.
+
+@item
+Preserve in that license notice the full lists of Invariant Sections
+and required Cover Texts given in the Document's license notice.
+
+@item
+Include an unaltered copy of this License.
+
+@item
+Preserve the section Entitled ``History'', Preserve its Title, and add
+to it an item stating at least the title, year, new authors, and
+publisher of the Modified Version as given on the Title Page. If
+there is no section Entitled ``History'' in the Document, create one
+stating the title, year, authors, and publisher of the Document as
+given on its Title Page, then add an item describing the Modified
+Version as stated in the previous sentence.
+
+@item
+Preserve the network location, if any, given in the Document for
+public access to a Transparent copy of the Document, and likewise
+the network locations given in the Document for previous versions
+it was based on. These may be placed in the ``History'' section.
+You may omit a network location for a work that was published at
+least four years before the Document itself, or if the original
+publisher of the version it refers to gives permission.
+
+@item
+For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
+the Title of the section, and preserve in the section all the
+substance and tone of each of the contributor acknowledgements and/or
+dedications given therein.
+
+@item
+Preserve all the Invariant Sections of the Document,
+unaltered in their text and in their titles. Section numbers
+or the equivalent are not considered part of the section titles.
+
+@item
+Delete any section Entitled ``Endorsements''. Such a section
+may not be included in the Modified Version.
+
+@item
+Do not retitle any existing section to be Entitled ``Endorsements'' or
+to conflict in title with any Invariant Section.
+
+@item
+Preserve any Warranty Disclaimers.
+@end enumerate
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled ``Endorsements'', provided it contains
+nothing but endorsements of your Modified Version by various
+parties---for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+@item
+COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled ``History''
+in the various original documents, forming one section Entitled
+``History''; likewise combine any sections Entitled ``Acknowledgements'',
+and any sections Entitled ``Dedications''. You must delete all
+sections Entitled ``Endorsements.''
+
+@item
+COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+@item
+AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an ``aggregate'' if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+@item
+TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled ``Acknowledgements'',
+``Dedications'', or ``History'', the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+@item
+TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
+
+@item
+FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+@uref{http://www.gnu.org/copyleft/}.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License ``or any later version'' applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+@item
+RELICENSING
+
+``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+
+``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+``Incorporate'' means to publish or republish a Document, in whole or
+in part, as part of another Document.
+
+An MMC is ``eligible for relicensing'' if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
+@end enumerate
+
+@page
+@heading ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+@smallexample
+@group
+ Copyright (C) @var{year} @var{your name}.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+@end group
+@end smallexample
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the ``with@dots{}Texts.''@: line with this:
+
+@smallexample
+@group
+ with the Invariant Sections being @var{list their titles}, with
+ the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
+ being @var{list}.
+@end group
+@end smallexample
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
+
+@c Local Variables:
+@c ispell-local-pdict: "ispell-dict"
+@c End:
diff --git a/doc/git-email.info b/doc/git-email.info
deleted file mode 100644
index 5ad0cc3..0000000
--- a/doc/git-email.info
+++ /dev/null
@@ -1,791 +0,0 @@
-This is git-email.info, produced by makeinfo version 6.7 from
-git-email.texi.
-
-This manual is for git-email 0.2.0 (Updated on 2021-02-11 16:07 +0100).
-
- Copyright © 2021 Xinglu Chen.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.3 or any later version published by the Free Software
- Foundation; with no Invariant Sections, with no Front-Cover Texts,
- and with no Back-Cover Texts. A copy of the license is included in
- the section entitled "GNU Free Documentation License".
-
-INFO-DIR-SECTION Emacs
-START-INFO-DIR-ENTRY
-* git-email: (git-email). Integrate git with email.
-END-INFO-DIR-ENTRY
-
-
-File: git-email.info, Node: Top, Next: Introduction, Up: (dir)
-
-git-email
-*********
-
-* Menu:
-
-* Introduction::
-* Usage::
-* Customization options::
-* Integration with other packages::
-* Installation::
-* Acknowledgements::
-* Contributing::
-* GNU Free Documentation License::
-
-— The Detailed Node Listing —
-
-Usage
-
-* Send patches::
-
-Send patches
-
-* git-email-send-email::
-* git-email-format-patch::
-
-Customization options
-
-* Sending email::
-* Format patches::
-* Miscellaneous::
-
-Installation
-
-* Nix::
-
-
-
-File: git-email.info, Node: Introduction, Next: Usage, Prev: Top, Up: Top
-
-1 Introduction
-**************
-
-‘git-email’ integrates git and email with Emacs, it offers two main
-functions for sending email with git.
-
- • ‘git-email-send-email’ will send the marked files as patches using
- your mail client of choice. This means that you have to first run
- ‘git format-patch’ to generate the patches.
-
- • ‘git-email-format-patch’ will ask you for a base revision and
- generate patches for all the changes that occured between the
- revision and the current HEAD. It will then prepare the patches as
- email messages in the same way as ‘git-email-send-email’.
-
- If you want to easily apply patches you have recieved via email, you
-should checkout piem (https://git.kyleam.com/piem).
-
-
-File: git-email.info, Node: Usage, Next: Customization options, Prev: Introduction, Up: Top
-
-2 Usage
-*******
-
-* Menu:
-
-* Send patches::
-
-
-File: git-email.info, Node: Send patches, Up: Usage
-
-2.1 Send patches
-================
-
-* Menu:
-
-* git-email-send-email::
-* git-email-format-patch::
-
-
-File: git-email.info, Node: git-email-send-email, Next: git-email-format-patch, Up: Send patches
-
-2.1.1 git-email-send-email
---------------------------
-
-When you are in a dired, vc-dir, or ibuffer buffer, you can mark patch
-files and run ‘git-email-send-email’ to send the patches. If you arent
-in one of those bufffers, you will be prompted to enter a file path in
-the minibuffer.
-
- Once a message has been created, your cursor will automatically be
-placed in the appropriate location. This means that if the subject or
-"to" address is empty, the cursor will automatically be there already.
-
- By default, the built-in ‘message-mail’ function will be used for
-composing the message. You can change this to something else by
-customizing the ‘git-email-compose-email-function’.
-
-
-File: git-email.info, Node: git-email-format-patch, Prev: git-email-send-email, Up: Send patches
-
-2.1.2 git-email-format-patch
-----------------------------
-
-When you invoke ‘git-email-format-patch’, you will prompted in the
-minibuffer for extra arguments to give ‘git format-patch’. Some common
-arguments will be displayed in your completion framework. If you want
-to select multiple options, separate them with ‘,’ or whatever the value
-of ‘crm-separator’ is. You can add options to the list of candidates by
-customizing ‘git-email-format-patch-extra-args’.
-‘git-email-format-patch-default-args’ contains arguments automatically
-passed to ‘git format-patch’ if no extra arguments are given.
-
- After you have entered extra arguments, the minibuffer will prompt
-you to select the _base_ commit for your patches. That is, a patch will
-be generated for the changes between the _base_ commit and the current
-HEAD. Selecting the second candidate in the list is equivalent to
-typing ‘HEAD^1’ in the shell. If you are already in a VC log buffer,
-the revision under point will be used automatically.
-
- When the revision has been selected, patches will be generated and
-you will be greeted with a message buffer containing a patch, just like
-with ‘git-email-send-email’. By default, the generated patches will be
-deleted, if you don not like this behaviour, call
-‘git-email-format-patch’ with a prefix argument (C-u).
-
- You can see all the customizable variables running ‘M-x
-customize-group’ ‘<RET> =git-email <RET>’.
-
-
-File: git-email.info, Node: Customization options, Next: Integration with other packages, Prev: Usage, Up: Top
-
-3 Customization options
-***********************
-
-* Menu:
-
-* Sending email::
-* Format patches::
-* Miscellaneous::
-
-
-File: git-email.info, Node: Sending email, Next: Format patches, Up: Customization options
-
-3.1 Sending email
-=================
-
- • ‘git-email-compose-email-function’ is the function used to compose
- an email, defaults to ‘mesage-mail’.
-
- • ‘git-email-send-email-function’ is the function used to send the
- email, defaults to ‘message-send-and-exit’.
-
- • ‘git-email-pre-compose-email-hook’ is a list of functions to be
- executed before composing messages. This useful if you want to do
- extra formatting of the message.
-
- • ‘git-email-post-compose-email-hook’ is a list of functions to be
- executed after sending the messages. You could for example run
- ‘notmuch new’ to index your messages.
-
- • ‘git-email-headers’ is a list of headers to include in the message,
- you probably should not touch this unless you really know what you
- are doing.
-
- • ‘git-email-get-files-functions’ is a list of functions to run to
- get a list of patches to send. The default, there is already
- support for dired, ibuffer and vc-dir.
-
- • ‘git-email-get-to-address-function’ is a function that returns the
- “to” address for a message. The default function runs ‘git config
- --list’ to get the address, this will not work unless you are in a
- git repository.
-
-
-File: git-email.info, Node: Format patches, Next: Miscellaneous, Prev: Sending email, Up: Customization options
-
-3.2 Format patches
-==================
-
- • ‘git-email-format-patch-default-args’ is a string of arguments to
- give ‘git format-patch’ by default. If you choose to give extra
- arguments, the default arguments will not be used.
-
- • ‘git-email-format-patch-extra-args’ is a list of arguments
- presented in your completion framework when entering extra
- arguments to give to ‘git format-patch’. These arguments are just
- there for the sake of convience, you are not restricted to just the
- arguments in this list.
-
- • ‘git-email-revision-limit’ controls the number of revisions to show
- in the minibuffer when choosing a base revision.
-
- • ‘git-email-revision-command’ is the command to run to get a list of
- revisions. If you change this, you will most likely also have to
- change ‘git-email-revision-parser’ variable
-
- • ‘git-email-get-revision-functions’ is a list of functions to run to
- try to get the base revision for the patches. If all of the
- functions return nil, it fallsback to
- ‘git-email–minibuffer-get-revision’. By default, it will get the
- revision of under point if you are in a VC log buffer.
-
-
-File: git-email.info, Node: Miscellaneous, Prev: Format patches, Up: Customization options
-
-3.3 Miscellaneous
-=================
-
- • ‘git-email-get-current-project-functions’ is a hook that is
- executed to get the path of the current project. The path must
- include a trailing ‘/’.
-
-
-File: git-email.info, Node: Integration with other packages, Next: Installation, Prev: Customization options, Up: Top
-
-4 Integration with other packages
-*********************************
-
-‘git-email’ offers minor modes for Gnus and Notmuch, these minor modes
-will just configure some variables for you and provide any extra
-functionality as of right now.
-
- There is also integration with magit in the ‘git-email-magit.el’
-library. This will faciliate the transient library, you can send a
-patch from the magit status buffer by pressing ‘W c s’.
-
-
-File: git-email.info, Node: Installation, Next: Acknowledgements, Prev: Integration with other packages, Up: Top
-
-5 Installation
-**************
-
-You can install it by cloning this repo and adding ‘git-email’ to your
-‘load-path’.
-
-* Menu:
-
-* Nix::
-
-
-File: git-email.info, Node: Nix, Up: Installation
-
-5.1 Nix
-=======
-
-If you are using nix flakes (https://nixos.wiki/wiki/Flakes), three
-versions of the package are available:
-
- • ‘git-email-full-git’ – This includes all the optional libraries as
- is built from the latest master branch.
-
- • ‘git-email-git’ – This only contains the core ‘git-email.el‘
- library and is built from the latest master branch.
-
- • ‘git-email’ – This is the package from the latest release.
-
- You can install the package with
-
- nix profile install "git+https://git.sr.ht/~yoctocell/git-email#git-email{-full-git,-git}"
-
-
-File: git-email.info, Node: Acknowledgements, Next: Contributing, Prev: Installation, Up: Top
-
-6 Acknowledgements
-******************
-
-Thank you Protesilaos Stavrou for your extensive testing and feedback!
-
- Other packages of interest:
-
- • piem (https://git.kyleam.com/piem/) - gluing together public-inbox
- archives and git
-
-
-File: git-email.info, Node: Contributing, Next: GNU Free Documentation License, Prev: Acknowledgements, Up: Top
-
-7 Contributing
-**************
-
-You are welcome to send patches and bug reports to the git-email-devel
-(https://lists.sr.ht/~yoctocell/git-email-devel) mailing list.
-
- Please format commit messages as changelog entries, like people in
-Emacs upstream
-(https://git.savannah.gnu.org/cgit/git/emacs.git/tree/CONTRIBUTE?h=master).
-
-
-File: git-email.info, Node: GNU Free Documentation License, Prev: Contributing, Up: Top
-
-Appendix A GNU Free Documentation License
-*****************************************
-
- GNU Free Documentation License
- Version 1.3, 3 November 2008
-
-
- Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- <https://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- 0. PREAMBLE
-
- The purpose of this License is to make a manual, textbook, or other
- functional and useful document "free" in the sense of freedom: to
- assure everyone the effective freedom to copy and redistribute it,
- with or without modifying it, either commercially or noncommercially.
- Secondarily, this License preserves for the author and publisher a way
- to get credit for their work, while not being considered responsible
- for modifications made by others.
-
- This License is a kind of "copyleft", which means that derivative
- works of the document must themselves be free in the same sense. It
- complements the GNU General Public License, which is a copyleft
- license designed for free software.
-
- We have designed this License in order to use it for manuals for free
- software, because free software needs free documentation: a free
- program should come with manuals providing the same freedoms that the
- software does. But this License is not limited to software manuals;
- it can be used for any textual work, regardless of subject matter or
- whether it is published as a printed book. We recommend this License
- principally for works whose purpose is instruction or reference.
-
-
- 1. APPLICABILITY AND DEFINITIONS
-
- This License applies to any manual or other work, in any medium, that
- contains a notice placed by the copyright holder saying it can be
- distributed under the terms of this License. Such a notice grants a
- world-wide, royalty-free license, unlimited in duration, to use that
- work under the conditions stated herein. The "Document", below,
- refers to any such manual or work. Any member of the public is a
- licensee, and is addressed as "you". You accept the license if you
- copy, modify or distribute the work in a way requiring permission
- under copyright law.
-
- A "Modified Version" of the Document means any work containing the
- Document or a portion of it, either copied verbatim, or with
- modifications and/or translated into another language.
-
- A "Secondary Section" is a named appendix or a front-matter section of
- the Document that deals exclusively with the relationship of the
- publishers or authors of the Document to the Documents overall
- subject (or to related matters) and contains nothing that could fall
- directly within that overall subject. (Thus, if the Document is in
- part a textbook of mathematics, a Secondary Section may not explain
- any mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of legal,
- commercial, philosophical, ethical or political position regarding
- them.
-
- The "Invariant Sections" are certain Secondary Sections whose titles
- are designated, as being those of Invariant Sections, in the notice
- that says that the Document is released under this License. If a
- section does not fit the above definition of Secondary then it is not
- allowed to be designated as Invariant. The Document may contain zero
- Invariant Sections. If the Document does not identify any Invariant
- Sections then there are none.
-
- The "Cover Texts" are certain short passages of text that are listed,
- as Front-Cover Texts or Back-Cover Texts, in the notice that says that
- the Document is released under this License. A Front-Cover Text may
- be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
- A "Transparent" copy of the Document means a machine-readable copy,
- represented in a format whose specification is available to the
- general public, that is suitable for revising the document
- straightforwardly with generic text editors or (for images composed of
- pixels) generic paint programs or (for drawings) some widely available
- drawing editor, and that is suitable for input to text formatters or
- for automatic translation to a variety of formats suitable for input
- to text formatters. A copy made in an otherwise Transparent file
- format whose markup, or absence of markup, has been arranged to thwart
- or discourage subsequent modification by readers is not Transparent.
- An image format is not Transparent if used for any substantial amount
- of text. A copy that is not "Transparent" is called "Opaque".
-
- Examples of suitable formats for Transparent copies include plain
- ASCII without markup, Texinfo input format, LaTeX input format, SGML
- or XML using a publicly available DTD, and standard-conforming simple
- HTML, PostScript or PDF designed for human modification. Examples of
- transparent image formats include PNG, XCF and JPG. Opaque formats
- include proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD and/or
- processing tools are not generally available, and the
- machine-generated HTML, PostScript or PDF produced by some word
- processors for output purposes only.
-
- The "Title Page" means, for a printed book, the title page itself,
- plus such following pages as are needed to hold, legibly, the material
- this License requires to appear in the title page. For works in
- formats which do not have any title page as such, "Title Page" means
- the text near the most prominent appearance of the work's title,
- preceding the beginning of the body of the text.
-
- The "publisher" means any person or entity that distributes copies of
- the Document to the public.
-
- A section "Entitled XYZ" means a named subunit of the Document whose
- title either is precisely XYZ or contains XYZ in parentheses following
- text that translates XYZ in another language. (Here XYZ stands for a
- specific section name mentioned below, such as "Acknowledgements",
- "Dedications", "Endorsements", or "History".) To "Preserve the Title"
- of such a section when you modify the Document means that it remains a
- section "Entitled XYZ" according to this definition.
-
- The Document may include Warranty Disclaimers next to the notice which
- states that this License applies to the Document. These Warranty
- Disclaimers are considered to be included by reference in this
- License, but only as regards disclaiming warranties: any other
- implication that these Warranty Disclaimers may have is void and has
- no effect on the meaning of this License.
-
- 2. VERBATIM COPYING
-
- You may copy and distribute the Document in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License applies
- to the Document are reproduced in all copies, and that you add no
- other conditions whatsoever to those of this License. You may not use
- technical measures to obstruct or control the reading or further
- copying of the copies you make or distribute. However, you may accept
- compensation in exchange for copies. If you distribute a large enough
- number of copies you must also follow the conditions in section 3.
-
- You may also lend copies, under the same conditions stated above, and
- you may publicly display copies.
-
-
- 3. COPYING IN QUANTITY
-
- If you publish printed copies (or copies in media that commonly have
- printed covers) of the Document, numbering more than 100, and the
- Document's license notice requires Cover Texts, you must enclose the
- copies in covers that carry, clearly and legibly, all these Cover
- Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
- the back cover. Both covers must also clearly and legibly identify
- you as the publisher of these copies. The front cover must present
- the full title with all words of the title equally prominent and
- visible. You may add other material on the covers in addition.
- Copying with changes limited to the covers, as long as they preserve
- the title of the Document and satisfy these conditions, can be treated
- as verbatim copying in other respects.
-
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto adjacent
- pages.
-
- If you publish or distribute Opaque copies of the Document numbering
- more than 100, you must either include a machine-readable Transparent
- copy along with each Opaque copy, or state in or with each Opaque copy
- a computer-network location from which the general network-using
- public has access to download using public-standard network protocols
- a complete Transparent copy of the Document, free of added material.
- If you use the latter option, you must take reasonably prudent steps,
- when you begin distribution of Opaque copies in quantity, to ensure
- that this Transparent copy will remain thus accessible at the stated
- location until at least one year after the last time you distribute an
- Opaque copy (directly or through your agents or retailers) of that
- edition to the public.
-
- It is requested, but not required, that you contact the authors of the
- Document well before redistributing any large number of copies, to
- give them a chance to provide you with an updated version of the
- Document.
-
-
- 4. MODIFICATIONS
-
- You may copy and distribute a Modified Version of the Document under
- the conditions of sections 2 and 3 above, provided that you release
- the Modified Version under precisely this License, with the Modified
- Version filling the role of the Document, thus licensing distribution
- and modification of the Modified Version to whoever possesses a copy
- of it. In addition, you must do these things in the Modified Version:
-
- A. Use in the Title Page (and on the covers, if any) a title distinct
- from that of the Document, and from those of previous versions
- (which should, if there were any, be listed in the History section
- of the Document). You may use the same title as a previous version
- if the original publisher of that version gives permission.
- B. List on the Title Page, as authors, one or more persons or entities
- responsible for authorship of the modifications in the Modified
- Version, together with at least five of the principal authors of the
- Document (all of its principal authors, if it has fewer than five),
- unless they release you from this requirement.
- C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
- D. Preserve all the copyright notices of the Document.
- E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- F. Include, immediately after the copyright notices, a license notice
- giving the public permission to use the Modified Version under the
- terms of this License, in the form shown in the Addendum below.
- G. Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document's license notice.
- H. Include an unaltered copy of this License.
- I. Preserve the section Entitled "History", Preserve its Title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page. If
- there is no section Entitled "History" in the Document, create one
- stating the title, year, authors, and publisher of the Document as
- given on its Title Page, then add an item describing the Modified
- Version as stated in the previous sentence.
- J. Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and likewise
- the network locations given in the Document for previous versions
- it was based on. These may be placed in the "History" section.
- You may omit a network location for a work that was published at
- least four years before the Document itself, or if the original
- publisher of the version it refers to gives permission.
- K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the section all
- the substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
- L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
- M. Delete any section Entitled "Endorsements". Such a section
- may not be included in the Modified Version.
- N. Do not retitle any existing section to be Entitled "Endorsements"
- or to conflict in title with any Invariant Section.
- O. Preserve any Warranty Disclaimers.
-
- If the Modified Version includes new front-matter sections or
- appendices that qualify as Secondary Sections and contain no material
- copied from the Document, you may at your option designate some or all
- of these sections as invariant. To do this, add their titles to the
- list of Invariant Sections in the Modified Version's license notice.
- These titles must be distinct from any other section titles.
-
- You may add a section Entitled "Endorsements", provided it contains
- nothing but endorsements of your Modified Version by various
- parties--for example, statements of peer review or that the text has
- been approved by an organization as the authoritative definition of a
- standard.
-
- You may add a passage of up to five words as a Front-Cover Text, and a
- passage of up to 25 words as a Back-Cover Text, to the end of the list
- of Cover Texts in the Modified Version. Only one passage of
- Front-Cover Text and one of Back-Cover Text may be added by (or
- through arrangements made by) any one entity. If the Document already
- includes a cover text for the same cover, previously added by you or
- by arrangement made by the same entity you are acting on behalf of,
- you may not add another; but you may replace the old one, on explicit
- permission from the previous publisher that added the old one.
-
- The author(s) and publisher(s) of the Document do not by this License
- give permission to use their names for publicity for or to assert or
- imply endorsement of any Modified Version.
-
-
- 5. COMBINING DOCUMENTS
-
- You may combine the Document with other documents released under this
- License, under the terms defined in section 4 above for modified
- versions, provided that you include in the combination all of the
- Invariant Sections of all of the original documents, unmodified, and
- list them all as Invariant Sections of your combined work in its
- license notice, and that you preserve all their Warranty Disclaimers.
-
- The combined work need only contain one copy of this License, and
- multiple identical Invariant Sections may be replaced with a single
- copy. If there are multiple Invariant Sections with the same name but
- different contents, make the title of each such section unique by
- adding at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique number.
- Make the same adjustment to the section titles in the list of
- Invariant Sections in the license notice of the combined work.
-
- In the combination, you must combine any sections Entitled "History"
- in the various original documents, forming one section Entitled
- "History"; likewise combine any sections Entitled "Acknowledgements",
- and any sections Entitled "Dedications". You must delete all sections
- Entitled "Endorsements".
-
-
- 6. COLLECTIONS OF DOCUMENTS
-
- You may make a collection consisting of the Document and other
- documents released under this License, and replace the individual
- copies of this License in the various documents with a single copy
- that is included in the collection, provided that you follow the rules
- of this License for verbatim copying of each of the documents in all
- other respects.
-
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you insert a
- copy of this License into the extracted document, and follow this
- License in all other respects regarding verbatim copying of that
- document.
-
-
- 7. AGGREGATION WITH INDEPENDENT WORKS
-
- A compilation of the Document or its derivatives with other separate
- and independent documents or works, in or on a volume of a storage or
- distribution medium, is called an "aggregate" if the copyright
- resulting from the compilation is not used to limit the legal rights
- of the compilation's users beyond what the individual works permit.
- When the Document is included in an aggregate, this License does not
- apply to the other works in the aggregate which are not themselves
- derivative works of the Document.
-
- If the Cover Text requirement of section 3 is applicable to these
- copies of the Document, then if the Document is less than one half of
- the entire aggregate, the Document's Cover Texts may be placed on
- covers that bracket the Document within the aggregate, or the
- electronic equivalent of covers if the Document is in electronic form.
- Otherwise they must appear on printed covers that bracket the whole
- aggregate.
-
-
- 8. TRANSLATION
-
- Translation is considered a kind of modification, so you may
- distribute translations of the Document under the terms of section 4.
- Replacing Invariant Sections with translations requires special
- permission from their copyright holders, but you may include
- translations of some or all Invariant Sections in addition to the
- original versions of these Invariant Sections. You may include a
- translation of this License, and all the license notices in the
- Document, and any Warranty Disclaimers, provided that you also include
- the original English version of this License and the original versions
- of those notices and disclaimers. In case of a disagreement between
- the translation and the original version of this License or a notice
- or disclaimer, the original version will prevail.
-
- If a section in the Document is Entitled "Acknowledgements",
- "Dedications", or "History", the requirement (section 4) to Preserve
- its Title (section 1) will typically require changing the actual
- title.
-
-
- 9. TERMINATION
-
- You may not copy, modify, sublicense, or distribute the Document
- except as expressly provided under this License. Any attempt
- otherwise to copy, modify, sublicense, or distribute it is void, and
- will automatically terminate your rights under this License.
-
- However, if you cease all violation of this License, then your license
- from a particular copyright holder is reinstated (a) provisionally,
- unless and until the copyright holder explicitly and finally
- terminates your license, and (b) permanently, if the copyright holder
- fails to notify you of the violation by some reasonable means prior to
- 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
- reinstated permanently if the copyright holder notifies you of the
- violation by some reasonable means, this is the first time you have
- received notice of violation of this License (for any work) from that
- copyright holder, and you cure the violation prior to 30 days after
- your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
- licenses of parties who have received copies or rights from you under
- this License. If your rights have been terminated and not permanently
- reinstated, receipt of a copy of some or all of the same material does
- not give you any rights to use it.
-
-
- 10. FUTURE REVISIONS OF THIS LICENSE
-
- The Free Software Foundation may publish new, revised versions of the
- GNU Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ in
- detail to address new problems or concerns. See
- https://www.gnu.org/licenses/.
-
- Each version of the License is given a distinguishing version number.
- If the Document specifies that a particular numbered version of this
- License "or any later version" applies to it, you have the option of
- following the terms and conditions either of that specified version or
- of any later version that has been published (not as a draft) by the
- Free Software Foundation. If the Document does not specify a version
- number of this License, you may choose any version ever published (not
- as a draft) by the Free Software Foundation. If the Document
- specifies that a proxy can decide which future versions of this
- License can be used, that proxy's public statement of acceptance of a
- version permanently authorizes you to choose that version for the
- Document.
-
- 11. RELICENSING
-
- "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
- World Wide Web server that publishes copyrightable works and also
- provides prominent facilities for anybody to edit those works. A
- public wiki that anybody can edit is an example of such a server. A
- "Massive Multiauthor Collaboration" (or "MMC") contained in the site
- means any set of copyrightable works thus published on the MMC site.
-
- "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
- license published by Creative Commons Corporation, a not-for-profit
- corporation with a principal place of business in San Francisco,
- California, as well as future copyleft versions of that license
- published by that same organization.
-
- "Incorporate" means to publish or republish a Document, in whole or in
- part, as part of another Document.
-
- An MMC is "eligible for relicensing" if it is licensed under this
- License, and if all works that were first published under this License
- somewhere other than this MMC, and subsequently incorporated in whole or
- in part into the MMC, (1) had no cover texts or invariant sections, and
- (2) were thus incorporated prior to November 1, 2008.
-
- The operator of an MMC Site may republish an MMC contained in the site
- under CC-BY-SA on the same site at any time before August 1, 2009,
- provided the MMC is eligible for relicensing.
-
-
- ADDENDUM: How to use this License for your documents
-
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
-
- Copyright (c) YEAR YOUR NAME.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
-
- If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
- replace the "with...Texts." line with this:
-
- with the Invariant Sections being LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
- If you have Invariant Sections without Cover Texts, or some other
- combination of the three, merge those two alternatives to suit the
- situation.
-
- If your document contains nontrivial examples of program code, we
- recommend releasing these examples in parallel under your choice of
- free software license, such as the GNU General Public License,
- to permit their use in free software.
-
-
-
-Tag Table:
-Node: Top713
-Node: Introduction1222
-Node: Usage2055
-Node: Send patches2198
-Node: git-email-send-email2352
-Node: git-email-format-patch3153
-Node: Customization options4730
-Node: Sending email4962
-Node: Format patches6338
-Node: Miscellaneous7681
-Node: Integration with other packages7989
-Node: Installation8556
-Node: Nix8818
-Node: Acknowledgements9467
-Node: Contributing9808
-Node: GNU Free Documentation License10255
-
-End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End:
diff --git a/doc/git-email.org b/doc/git-email.org
deleted file mode 100644
index fa7c7fe..0000000
--- a/doc/git-email.org
+++ /dev/null
@@ -1,647 +0,0 @@
-#+TITLE: git-email
-#+AUTHOR: Xinglu Chen
-#+EMAIL: public@yoctocell.xyz
-#+LANGUAGE: en
-#+EXPORT_FILE_NAME: git-email.info
-#+MACRO: version 0.2.0
-#+MACRO: export-date (eval (format-time-string "%F %R %z" (current-time)))
-
-#+TEXINFO_FILENAME: git-email.info
-#+TEXINFO_DIR_CATEGORY: Emacs
-#+TEXINFO_DIR_TITLE: git-email: (git-email)
-#+TEXINFO_DIR_DESC: Work with git and email
-
-#+TOC: headlines 8 insert TOC here, with eight headline levels
-
-* Introduction
-=git-email= integrates git and email with Emacs, it offers two main
-functions for sending email with git.
-
-- =git-email-send-email= will send the marked files as patches using your
- mail client of choice. This means that you have to first run
- =git format-patch= to generate the patches.
-
-- =git-email-format-patch= will ask you for a base revision and generate
- patches for all the changes that occured between the revision and
- the current HEAD. It will then prepare the patches as email
- messages in the same way as =git-email-send-email=.
-
-If you want to easily apply patches you have recieved via email, you
-should checkout [[https://git.kyleam.com/piem][piem]].
-
-* Usage
-** Send patches
-*** git-email-send-email
-When you are in a dired, vc-dir, or ibuffer buffer, you can mark patch
-files and run =git-email-send-email= to send the patches. If you arent
-in one of those bufffers, you will be prompted to enter a file path in
-the minibuffer.
-
-Once a message has been created, your cursor will automatically be
-placed in the appropriate location. This means that if the subject or
-"to" address is empty, the cursor will automatically be there already.
-
-By default, the built-in =message-mail= function will be used for
-composing the message. You can change this to something else by
-customizing the =git-email-compose-email-function=.
-
-*** git-email-format-patch
-When you invoke =git-email-format-patch=, you will prompted in the
-minibuffer for extra arguments to give =git format-patch=. Some common
-arguments will be displayed in your completion framework. If you want
-to select multiple options, separate them with =,= or whatever the value
-of =crm-separator= is. You can add options to the list of candidates by
-customizing =git-email-format-patch-extra-args=.
-=git-email-format-patch-default-args= contains arguments automatically
-passed to =git format-patch= if no extra arguments are given.
-
-After you have entered extra arguments, the minibuffer will prompt you
-to select the /base/ commit for your patches. That is, a patch will be
-generated for the changes between the /base/ commit and the current
-HEAD. Selecting the second candidate in the list is equivalent to
-typing =HEAD^1= in the shell. If you are already in a VC log buffer,
-the revision under point will be used automatically.
-
-When the revision has been selected, patches will be generated and you
-will be greeted with a message buffer containing a patch, just like
-with =git-email-send-email=. By default, the generated patches will be
-deleted, if you don not like this behaviour, call
-=git-email-format-patch= with a prefix argument (C-u).
-
-You can see all the customizable variables running =M-x customize-group=
-=<RET> =git-email <RET>=.
-
-* Customization options
-** Sending email
-- =git-email-compose-email-function= is the function used to compose an
- email, defaults to =mesage-mail=.
-
-- =git-email-send-email-function= is the function used to send the
- email, defaults to =message-send-and-exit=.
-
-- =git-email-pre-compose-email-hook= is a list of functions to be
- executed before composing messages. This useful if you want to do
- extra formatting of the message.
-
-- =git-email-post-compose-email-hook= is a list of functions to be
- executed after sending the messages. You could for example run
- ‘notmuch new’ to index your messages.
-
-- =git-email-headers= is a list of headers to include in the message,
- you probably should not touch this unless you really know what you
- are doing.
-
-- =git-email-get-files-functions= is a list of functions to run to get
- a list of patches to send. The default, there is already support
- for dired, ibuffer and vc-dir.
-
-- =git-email-get-to-address-function= is a function that returns the
- “to” address for a message. The default function runs =git config
- --list= to get the address, this will not work unless you are in a
- git repository.
-
-** Format patches
-- =git-email-format-patch-default-args= is a string of arguments to give
- =git format-patch= by default. If you choose to give extra arguments,
- the default arguments will not be used.
-
-- =git-email-format-patch-extra-args= is a list of arguments presented
- in your completion framework when entering extra arguments to give
- to ‘git format-patch’. These arguments are just there for the sake
- of convience, you are not restricted to just the arguments in this
- list.
-
-- =git-email-revision-limit= controls the number of revisions to show in
- the minibuffer when choosing a base revision.
-
-- =git-email-revision-command= is the command to run to get a list of
- revisions. If you change this, you will most likely also have to
- change =git-email-revision-parser= variable
-
-- =git-email-get-revision-functions= is a list of functions to run to
- try to get the base revision for the patches. If all of the
- functions return nil, it fallsback to
- ‘git-email--minibuffer-get-revision’. By default, it will get the
- revision of under point if you are in a VC log buffer.
-
-** Miscellaneous
-- =git-email-get-current-project-functions= is a hook that is executed
- to get the path of the current project. The path must include a
- trailing =/=.
-
-* Integration with other packages
-=git-email= offers minor modes for Gnus and Notmuch, these minor modes
-will just configure some variables for you and provide any extra
-functionality as of right now.
-
-There is also integration with magit in the =git-email-magit.el=
-library. This will faciliate the transient library, you can send a
-patch from the magit status buffer by pressing =W c s=.
-
-* Installation
-You can install it by cloning this repo and adding =git-email= to your =load-path=.
-
-** Nix
-If you are using [[https://nixos.wiki/wiki/Flakes][nix flakes]], three versions of the package are
-available:
-
-- =git-email-full-git= -- This includes all the optional libraries as
- is built from the latest master branch.
-
-- =git-email-git= -- This only contains the core `git-email.el`
- library and is built from the latest master branch.
-
-- =git-email= -- This is the package from the latest release.
-
-You can install the package with
-
-#+begin_src sh
-nix profile install "git+https://git.sr.ht/~yoctocell/git-email#git-email{-full-git,-git}"
-#+end_src
-
-* Acknowledgements
-Thank you Protesilaos Stavrou for your extensive testing and feedback!
-
-Other packages of interest:
-
-- [[https://git.kyleam.com/piem/][piem]] - gluing together public-inbox archives and git
-
-* Contributing
-You are welcome to send patches and bug reports to the [[https://lists.sr.ht/~yoctocell/git-email-devel][git-email-devel]]
-mailing list.
-
-* Copying
-:PROPERTIES:
-:COPYING: t
-:END:
-
-This manual is for git-email {{{version}}} (Updated on {{{export-date}}}).
-
-Copyright \copy 2021 Xinglu Chen.
-
-#+BEGIN_QUOTE
-Permission is granted to copy, distribute and/or modify this
-document under the terms of the GNU Free Documentation License,
-Version 1.3 or any later version published by the Free Software
-Foundation; with no Invariant Sections, with no Front-Cover Texts,
-and with no Back-Cover Texts. A copy of the license is included in
-the section entitled "GNU Free Documentation License".
-#+END_QUOTE
-
-* GNU Free Documentation License
-:PROPERTIES:
-:APPENDIX: t
-:END:
-
-#+begin_src txt
- GNU Free Documentation License
- Version 1.3, 3 November 2008
-
-
- Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- <https://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-0. PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of "copyleft", which means that derivative
-works of the document must themselves be free in the same sense. It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does. But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book. We recommend this License
-principally for works whose purpose is instruction or reference.
-
-
-1. APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License. Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein. The "Document", below,
-refers to any such manual or work. Any member of the public is a
-licensee, and is addressed as "you". You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A "Modified Version" of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A "Secondary Section" is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Documents overall
-subject (or to related matters) and contains nothing that could fall
-directly within that overall subject. (Thus, if the Document is in
-part a textbook of mathematics, a Secondary Section may not explain
-any mathematics.) The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The "Invariant Sections" are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License. If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant. The Document may contain zero
-Invariant Sections. If the Document does not identify any Invariant
-Sections then there are none.
-
-The "Cover Texts" are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License. A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A "Transparent" copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters. A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text. A copy that is not "Transparent" is called "Opaque".
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification. Examples of
-transparent image formats include PNG, XCF and JPG. Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-
-The "Title Page" means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page. For works in
-formats which do not have any title page as such, "Title Page" means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-The "publisher" means any person or entity that distributes copies of
-the Document to the public.
-
-A section "Entitled XYZ" means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language. (Here XYZ stands for a
-specific section name mentioned below, such as "Acknowledgements",
-"Dedications", "Endorsements", or "History".) To "Preserve the Title"
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document. These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-2. VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no
-other conditions whatsoever to those of this License. You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute. However, you may accept
-compensation in exchange for copies. If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-
-3. COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover. Both covers must also clearly and legibly identify
-you as the publisher of these copies. The front cover must present
-the full title with all words of the title equally prominent and
-visible. You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to
-give them a chance to provide you with an updated version of the
-Document.
-
-
-4. MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it. In addition, you must do these things in the Modified Version:
-
-A. Use in the Title Page (and on the covers, if any) a title distinct
- from that of the Document, and from those of previous versions
- (which should, if there were any, be listed in the History section
- of the Document). You may use the same title as a previous version
- if the original publisher of that version gives permission.
-B. List on the Title Page, as authors, one or more persons or entities
- responsible for authorship of the modifications in the Modified
- Version, together with at least five of the principal authors of the
- Document (all of its principal authors, if it has fewer than five),
- unless they release you from this requirement.
-C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
-D. Preserve all the copyright notices of the Document.
-E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
-F. Include, immediately after the copyright notices, a license notice
- giving the public permission to use the Modified Version under the
- terms of this License, in the form shown in the Addendum below.
-G. Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document's license notice.
-H. Include an unaltered copy of this License.
-I. Preserve the section Entitled "History", Preserve its Title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page. If
- there is no section Entitled "History" in the Document, create one
- stating the title, year, authors, and publisher of the Document as
- given on its Title Page, then add an item describing the Modified
- Version as stated in the previous sentence.
-J. Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and likewise
- the network locations given in the Document for previous versions
- it was based on. These may be placed in the "History" section.
- You may omit a network location for a work that was published at
- least four years before the Document itself, or if the original
- publisher of the version it refers to gives permission.
-K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the section all
- the substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
-L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
-M. Delete any section Entitled "Endorsements". Such a section
- may not be included in the Modified Version.
-N. Do not retitle any existing section to be Entitled "Endorsements"
- or to conflict in title with any Invariant Section.
-O. Preserve any Warranty Disclaimers.
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version. Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity. If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-
-5. COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy. If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications". You must delete all sections
-Entitled "Endorsements".
-
-
-6. COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other
-documents released under this License, and replace the individual
-copies of this License in the various documents with a single copy
-that is included in the collection, provided that you follow the rules
-of this License for verbatim copying of each of the documents in all
-other respects.
-
-You may extract a single document from such a collection, and
-distribute it individually under this License, provided you insert a
-copy of this License into the extracted document, and follow this
-License in all other respects regarding verbatim copying of that
-document.
-
-
-7. AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-
-8. TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections. You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers. In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-
-9. TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense, or distribute it is void, and
-will automatically terminate your rights under this License.
-
-However, if you cease all violation of this License, then your license
-from a particular copyright holder is reinstated (a) provisionally,
-unless and until the copyright holder explicitly and finally
-terminates your license, and (b) permanently, if the copyright holder
-fails to notify you of the violation by some reasonable means prior to
-60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, receipt of a copy of some or all of the same material does
-not give you any rights to use it.
-
-
-10. FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions of the
-GNU Free Documentation License from time to time. Such new versions
-will be similar in spirit to the present version, but may differ in
-detail to address new problems or concerns. See
-https://www.gnu.org/licenses/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation. If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation. If the Document
-specifies that a proxy can decide which future versions of this
-License can be used, that proxy's public statement of acceptance of a
-version permanently authorizes you to choose that version for the
-Document.
-
-11. RELICENSING
-
-"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
-World Wide Web server that publishes copyrightable works and also
-provides prominent facilities for anybody to edit those works. A
-public wiki that anybody can edit is an example of such a server. A
-"Massive Multiauthor Collaboration" (or "MMC") contained in the site
-means any set of copyrightable works thus published on the MMC site.
-
-"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-license published by Creative Commons Corporation, a not-for-profit
-corporation with a principal place of business in San Francisco,
-California, as well as future copyleft versions of that license
-published by that same organization.
-
-"Incorporate" means to publish or republish a Document, in whole or in
-part, as part of another Document.
-
-An MMC is "eligible for relicensing" if it is licensed under this
-License, and if all works that were first published under this License
-somewhere other than this MMC, and subsequently incorporated in whole or
-in part into the MMC, (1) had no cover texts or invariant sections, and
-(2) were thus incorporated prior to November 1, 2008.
-
-The operator of an MMC Site may republish an MMC contained in the site
-under CC-BY-SA on the same site at any time before August 1, 2009,
-provided the MMC is eligible for relicensing.
-
-
-ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
- Copyright (c) YEAR YOUR NAME.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-
- with the Invariant Sections being LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-#+end_src
diff --git a/doc/git-email.texi b/doc/git-email.texi
new file mode 100644
index 0000000..72c4592
--- /dev/null
+++ b/doc/git-email.texi
@@ -0,0 +1,359 @@
+\input texinfo @c -*- texinfo -*-
+
+@set VERSION 0.2.0
+
+@setfilename git-email.info
+@settitle Format and send patches in Emacs
+@documentencoding UTF-8
+@documentlanguage en
+
+@copying
+This manual is for git-email 0.2.0.
+
+Copyright @copyright{} 2021 all contributors
+<~yoctocell/git-email-devel@@lists.sr.ht>
+
+@quotation
+Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License,
+Version 1.3 or any later version published by the Free Software
+Foundation; with no Invariant Sections, with no Front-Cover Texts,
+and with no Back-Cover Texts. A copy of the license is included in
+the section entitled "GNU Free Documentation License".
+@end quotation
+@end copying
+
+@dircategory Emacs
+@direntry
+* git-email: (git-email). Format and send patches in Emacs
+@end direntry
+
+@finalout
+@titlepage
+@title git-email reference manual
+@subtitle for version @value{VERSION}
+@author Xinglu Chen
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@contents
+
+@ifnottex
+@node Top
+@top git-email
+
+This manual is for git-email version @value{VERSION}
+@end ifnottex
+
+
+@menu
+* Introduction::
+* Installation::
+* Usage::
+* Customization options::
+* Integration with other packages::
+* Acknowledgements::
+* Contributing::
+
+Appendices
+* GNU Free Documentation License::
+
+Indices
+* Variable Index::
+* Lisp Function Index::
+* Concept Index::
+@end menu
+
+@c @detailmenu
+@c --- The Detailed Node Listing ---
+@c
+@c Usage
+@c
+@c * Send patches::
+@c
+@c Send patches
+@c
+@c * git-email-send-email::
+@c * git-email-format-patch::
+@c
+@c Customization options
+@c
+@c * Sending email::
+@c * Format patches::
+@c * Miscellaneous::
+@c
+@c Installation
+@c
+@c * Nix::
+@c
+@c @end detailmenu
+@c @end menu
+
+@node Introduction
+@chapter Introduction
+
+@samp{git-email} makes it easy to format and send patches via email in
+Emacs, it offers two main functions for sending email with Git.
+
+@itemize
+@item
+@samp{git-email-send-email} will send the marked files as patches using your
+mail client of choice. This means that you have to first run
+@samp{git format-patch} to generate the patches.
+
+@item
+@samp{git-email-format-patch} will ask you for a base revision and generate
+patches for all the changes that occured between the revision and
+the current HEAD@. It will then prepare the patches as email
+messages in the same way as @samp{git-email-send-email}.
+@end itemize
+
+If you want to easily apply patches you have recieved via email, you
+should checkout @uref{https://git.kyleam.com/piem, piem}.
+
+@node Installation
+@chapter Installation
+
+You can install it by cloning this repo and adding @samp{git-email} to
+your @samp{load-path}.
+
+@menu
+* Nix::
+@end menu
+
+@node Nix
+@section Nix
+
+If you are using @uref{https://nixos.wiki/wiki/Flakes, nix flakes},
+three versions of the package are available:
+
+@itemize
+@item
+@samp{git-email-full-git} -- This includes all the optional libraries as
+is built from the latest master branch.
+
+@item
+@samp{git-email-git} -- This only contains the core `git-email.el`
+library and is built from the latest master branch.
+
+@item
+@samp{git-email} -- This is the package from the latest release.
+@end itemize
+
+You can install the package with
+
+@example
+nix profile install "git+https://git.sr.ht/~yoctocell/git-email#git-email@{-full-git,-git@}"
+@end example
+
+@node Usage
+@chapter Usage
+
+@node Send patches
+@section Send patches
+
+@node git-email-send-email
+@subsection git-email-send-email
+@findex git-email-send-email
+
+When you are in a dired, vc-dir, or ibuffer buffer, you can mark patch
+files and run @samp{git-email-send-email} to send the patches. If you arent
+in one of those bufffers, you will be prompted to enter a file path in
+the minibuffer.
+
+Once a message has been created, your cursor will automatically be
+placed in the appropriate location. This means that if the subject or
+"to" address is empty, the cursor will automatically be there already.
+
+By default, the built-in @samp{message-mail} function will be used for
+composing the message. You can change this to something else by
+customizing the @samp{git-email-compose-email-function}.
+
+@node git-email-format-patch
+@subsection git-email-format-patch
+@findex git-email-format-patch
+
+When you invoke @samp{git-email-format-patch}, you will prompted in the
+minibuffer for extra arguments to give @samp{git format-patch}. Some common
+arguments will be displayed in your completion framework. If you want
+to select multiple options, separate them with @samp{,} or whatever the value
+of @samp{crm-separator} is. You can add options to the list of candidates by
+customizing @samp{git-email-format-patch-extra-args}.
+@samp{git-email-format-patch-default-args} contains arguments automatically
+passed to @samp{git format-patch} if no extra arguments are given.
+
+After you have entered extra arguments, the minibuffer will prompt you
+to select the @emph{base} commit for your patches. That is, a patch will be
+generated for the changes between the @emph{base} commit and the current
+HEAD@. Selecting the second candidate in the list is equivalent to
+typing @samp{HEAD^1} in the shell. If you are already in a VC log buffer,
+the revision under point will be used automatically.
+
+When the revision has been selected, patches will be generated and you
+will be greeted with a message buffer containing a patch, just like
+with @samp{git-email-send-email}. By default, the generated patches will be
+deleted, if you don not like this behaviour, call
+@samp{git-email-format-patch} with a prefix argument (C-u).
+
+You can see all the customizable variables running @samp{M-x customize-group}
+@samp{<RET> =git-email <RET>}.
+
+@node Customization options
+@chapter Customization options
+
+@node Sending email
+@section Sending email
+
+@itemize
+@vindex git-email-compose-email-function
+@item
+@samp{git-email-compose-email-function} is the function used to compose an
+email, defaults to @samp{mesage-mail}.
+
+@vindex git-email-send-email-function
+@item
+@samp{git-email-send-email-function} is the function used to send the
+email, defaults to @samp{message-send-and-exit}.
+
+@vindex git-email-pre-compose-email-hook
+@item
+@samp{git-email-pre-compose-email-hook} is a list of functions to be
+executed before composing messages. This useful if you want to do
+extra formatting of the message.
+
+@vindex git-email-post-compose-email-hook
+@item
+@samp{git-email-post-compose-email-hook} is a list of functions to be
+executed after sending the messages. You could for example run
+‘notmuch new’ to index your messages.
+
+@vindex git-email-headers
+@item
+@samp{git-email-headers} is a list of headers to include in the message,
+you probably should not touch this unless you really know what you
+are doing.
+
+@vindex git-email-get-files-functions
+@item
+@samp{git-email-get-files-functions} is a list of functions to run to get
+a list of patches to send. The default, there is already support
+for dired, ibuffer and vc-dir.
+
+@vindex git-email-get-to-address-function
+@item
+@samp{git-email-get-to-address-function} is a function that returns the
+“to” address for a message. The default function runs @samp{git config
+ --list} to get the address, this will not work unless you are in a
+git repository.
+@end itemize
+
+@node Format patches
+@section Format patches
+
+@itemize
+@vindex git-email-format-patch-default-args
+@item
+@samp{git-email-format-patch-default-args} is a string of arguments to give
+@samp{git format-patch} by default. If you choose to give extra arguments,
+the default arguments will not be used.
+
+@vindex git-email-format-patch-extra-args
+@item
+@samp{git-email-format-patch-extra-args} is a list of arguments presented
+in your completion framework when entering extra arguments to give
+to ‘git format-patch’. These arguments are just there for the sake
+of convience, you are not restricted to just the arguments in this
+list.
+
+@vindex git-email-revision-limit
+@item
+@samp{git-email-revision-limit} controls the number of revisions to show in
+the minibuffer when choosing a base revision.
+
+@vindex git-email-revision-command
+@item
+@samp{git-email-revision-command} is the command to run to get a list of
+revisions. If you change this, you will most likely also have to
+change @samp{git-email-revision-parser} variable
+
+@vindex git-email-get-revision-functions
+@item
+@samp{git-email-get-revision-functions} is a list of functions to run to
+try to get the base revision for the patches. If all of the
+functions return nil, it fallsback to
+‘git-email--minibuffer-get-revision’. By default, it will get the
+revision of under point if you are in a VC log buffer.
+@end itemize
+
+@node Miscellaneous
+@section Miscellaneous
+
+@itemize
+@vindex git-email-get-current-project-functions
+@item
+@samp{git-email-get-current-project-functions} is a hook that is executed
+to get the path of the current project. The path must include a
+trailing @samp{/}.
+@end itemize
+
+@node Integration with other packages
+@chapter Integration with other packages
+
+@samp{git-email} offers minor modes for Gnus and Notmuch, these minor modes
+will just configure some variables for you and provide any extra
+functionality as of right now.
+
+There is also integration with magit in the @samp{git-email-magit.el}
+library. This will faciliate the transient library, you can send a
+patch from the magit status buffer by pressing @samp{W c s}.
+
+@node Acknowledgements
+@chapter Acknowledgements
+
+Thank you Protesilaos Stavrou for your extensive testing and feedback!
+
+Other packages and tools of interest:
+
+@itemize
+@cindex public-inbox
+@item
+@uref{https://git.kyleam.com/piem/, piem} - gluing together
+public-inbox archives and Git.
+@end itemize
+
+@itemize
+@item
+@uref{https://git-send-email.io/, git-send-email.io} - tutorial for
+configuring and using @code{git send-email}.
+@end itemize
+
+@node Contributing
+@chapter Contributing
+
+You are welcome to send patches and bug reports to the
+@uref{https://lists.sr.ht/~yoctocell/git-email-devel, git-email-devel}
+mailing list.
+
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
+@include fdl-1.3.texi
+
+@node Variable Index
+@unnumbered Variable Index
+
+@printindex vr
+
+@node Lisp Function Index
+@unnumbered Function Index
+
+@printindex fn
+
+@node Concept Index
+@unnumbered Concept Index
+
+@printindex cp
+
+
+@bye