summaryrefslogtreecommitdiff
path: root/posts/git-patches.md
blob: 78aefb8d8e0caef1e68e4870d9257f9c9de5c0d5 (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
[[!meta title="Applying Email-Based Git Patches in Evolution on Linux"]]
[[!meta date="2023-04-25"]]

Users who work with git patches through email most likely use a terminal-based program such as `aerc` or `mutt`. CLI email clients tend to have built-in support for easily applying patches directly to their local repos. But what about people who prefer to use graphical email apps?

Lucky for us, it is actually fairly simple to replicate a similar workflow to that of a CLI client. In this example I will be focusing on the Evolution email client, but the core principles should work in most other GUIs.

## The Basics

> **Note:** The following assumes you already have `git` installed and setup on your existing system.

I find it best to first create a top-level folder on your system named `patches`. We will use this folder as a temporary location for reviewing any `git` patches submitted via email. I normally place this under `/home/<username>/patches`.

Next, locate the email patch in Evolution and right-click on it. Select "Save as mbox..." and place this file inside your newly created `patches` folder.

Now simply open your terminal, navigate to your project and run:


    git am <path-to-patches-folder>/<patch-filename>.mbox


This should apply the patch directly to your project without issue. You are now free to test these changes locally. If everything looks good, you're able to instantly push these changes remotely.

Done and done.

Feel free to purge your `patches` folder regularly or keep them around for future reference if you prefer!