aboutsummaryrefslogtreecommitdiff
path: root/README.org
diff options
context:
space:
mode:
authorXinglu Chen <public@yoctocell.xyz>2021-01-24 12:16:18 +0100
committerXinglu Chen <public@yoctocell.xyz>2021-01-24 12:16:18 +0100
commit31bed859c05e26d45499269ee947844a33b99329 (patch)
tree6c1158b9a5e69b5f8c0e15d6750b0f0f5f112df0 /README.org
parent84f6d368a74ae1e876ba7d95d62a825f6d1ac643 (diff)
README: Add additional docs for using the package
Describe the process of creating and sending patches with `git-email-format-patch' and `git-email-send-email' respectively.
Diffstat (limited to 'README.org')
-rw-r--r--README.org50
1 files changed, 43 insertions, 7 deletions
diff --git a/README.org b/README.org
index c5c1ed5..bce6897 100644
--- a/README.org
+++ b/README.org
@@ -10,13 +10,10 @@ functions for sending email with git.
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 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=.
-
-You can see all the customizable variables running =M-x =customize-group=
-=<RET> =git-email <RET>=.
+- =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]].
@@ -25,6 +22,45 @@ should checkout [[https://git.kyleam.com/piem][piem]].
[[file:demo.gif]]
* Features
+** Send patches
+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 aren't
+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=.
+
+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.
+
+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>=.
+
+** 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.