blob: 02cf88fc35520cb52c7c4dd12bbbb776f1a9bfac (
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
|
---
title: Suckless upgrade workflow
date: 2025-11-30
layout: post
---
Workflow for managing suckless patches across upgrades:
Initial setup:
- Clone from suckless
- Reset to stable tag
- Set push URL to my repo (git.asciimx.com)
- Pull from upstream, push to mine
Config changes only:
- Edit config.h (or let make generate it)
- make clean install
- Commit, push
dwm/slstatus installs:
- Can't replace running binaries
- Kill dwm (Mod+Shift+q)
- Switch to tty (Ctrl+Alt+F1 on OpenBSD)
- make install
- Back to X (Ctrl+Alt+F5)
Upgrades:
- git pull --rebase
- git rebase -i to drop commits between my patch and new stable
- Keep only: my patches + new stable tag + old history
- Install, commit, push
Example:
Before: [my patch] -> [6.5] <br>
After pull: [my patch] -> [random commits] -> [6.6] -> [old stuff] -> [6.5] <br>
After rebase: [my patch] -> [6.6] -> [old stuff] -> [6.5]
Note: This keeps patch history clean while staying current.
|