summaryrefslogtreecommitdiff
path: root/posts/mail.md
blob: 9625ea8301214d903dccaeabdc867839d2d54417 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[[!meta title="Working with `git` Patches in Apple Mail"]]
[[!meta date="2023-05-11"]]

> **Before we begin**: You could likely automate this process in a more streamlined way, but for most use cases this workflow should be fine.

I recently covered how to [work with git email patches in Evolution on Linux](/git-patches), so I thought it would make sense to walk through a similar workflow for those using Apple Mail on MacOS. The idea is essentially the same, with just a little extra work involved.

## Create a "Patches" Mailbox

The first thing you'll need to do is make a new `Patches` mailbox folder inside your existing mail account. Once done, your default Mail sidebar should look similar to the following:

<figure>
	<img src="/public/images/apple-mail-1.png" alt="The Apple Mail sidebar with the Patches folder present">
	<figcaption>The Apple Mail sidebar with the "Patches" folder present</figcaption>
</figure>

## Applying Patches

Now navigate to the email message containing a `git` patch. Right-click and select *Move to* > *Patches*. Now in the sidebar, right-click your *Patches* folder and select *Export Mailbox...*. You'll be prompted to save this folder locally. I suggest having a top-level folder named **Patches** to make things consistent.

Inside this folder you should see something similar to the following structure:

<figure>
	<img src="/public/images/apple-mail-2.png" alt="The contents of the saved Patches mailbox folder">
	<figcaption>The contents of the saved Patches mailbox folder</figcaption>
</figure>

Once saved, open your terminal, navigate to the project you wish to apply this new patch to:


    cd my-path/very-cool-project


and then run:


    git apply ~/Patches/<saved-patches-mailbox-folder>/mbox


Congrats! You've successfully applied a git email patch through Apple Mail! Well, kind of. The terminal did most of the *real* work. Just be sure to periodically *purge* your local *Patches* folder to keep things clean!