-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
102 lines (65 loc) · 2.19 KB
/
README
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
About patcher
-------------
Patcher is a tool for quick creation of patches against a project
source tree. Patcher functionality resembles a lightweight
version control system. It has no repository, and only controls
differences between a pristine version and a working copy.
Why?
----
The idea for developing patcher happened during the development
of Conectiva Linux. More specifically, when we had to fix some of
our packages to compile with GCC 3.2. Fixing a package which is
not compiling due to some issue in the environment is a very
common task in a distribution's development. At the same time,
the source code of projects must be kept intact, forcing
developers to work with individual patches to change some
behavior in the project. Patcher makes it very easy to work in
such environment.
Using patcher
-------------
Here's a very simple succession of commands, with explanations.
Unpack the project:
$ tar xzf project-1.0.tar.gz
$ cd project-1.0
Create patcher structures for the project:
$ ptr start
Change the project somehow:
$ cd src
$ vi project.c
Check what have been made so far:
$ ptr status
? project.o
M project.c
$ ptr diff project.c
...
Extract a patch for these changes:
$ cd ../..
$ ptr diff project-1.0 > project-1.0-changes.patch
Remove patcher structures from the project:
$ ptr stop project-1.0
Using patcher with large trees
------------------------------
When using patcher with a large source tree you can choose to include
files under patcher control "on demand". To do that, first run the start
command with the -n parameter:
$ tar xzf project-1.0.tar.gz
$ cd project-1.0
$ ptr start -n
Then, whenever you want to edit a file, add it to patcher control first:
$ cd src
$ ptr add project.c
A project.c
$ vi project.c
When you're done, extract a patch for these changes as usual:
$ cd ../..
$ ptr diff project-1.0 > project-1.0-changes.patch
Download
--------
You can find it at https://github.com/solbu/patcher
License
-------
Patcher is released under the GNU GPL version 2, or later. Read LICENSE file for more information.
Author
------
Patcher was written by Gustavo Niemeyer <niemeyer@conectiva.com>.
Current maintainer: Johnny A. Solbu <johnny@solbu.net>