Skip to content

Commit 9bb14a9

Browse files
author
ffranr
authored
Merge pull request #1 from lightninglabs/fork-description
README: describe fork and tag strategy
2 parents d63a8ea + b70c544 commit 9bb14a9

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,48 @@ __Database migrations written in Go. Use as [CLI](#cli-usage) or import as [libr
1919

2020
Forked from [mattes/migrate](https://github.com/mattes/migrate)
2121

22+
# forked repository
23+
24+
This is a fork from the [original
25+
`golang-migrate/migrate`](https://github.com/golang-migrate/migrate) project,
26+
maintained by Lightning Labs.
27+
28+
The project was forked to speed up development for features required by
29+
Lightning Labs. All changes in this fork will also be suggested upstream as
30+
Pull Requests, so there is a chance the fork will eventually not be needed.
31+
32+
As long as the fork exists, the following procedure is proposed:
33+
**New feature**:
34+
- Create a PR against the `ll-fork` branch.
35+
- Once merged, a new tag should be pushed (see "tag naming" section below),
36+
updating the PR number in the tag name.
37+
38+
**Rebasing with upstream**:
39+
- The `master` branch of the fork can always be fast-forwarded to match the
40+
upstream's `master` branch.
41+
- If a new feature or bugfix is added to upstream's `master`, we'll want to
42+
rebase the `ll-fork` branch on top of the latest `master` branch.
43+
- After rebasing, a new tag should be pushed (see "tag naming" section below),
44+
updating the first part of the tag name (upstream tag and commit).
45+
46+
## tag naming
47+
48+
To make it very obvious what a tagged version of this fork contains in terms of
49+
the upstream changes (independent of any rebases of the `ll-fork` branch), the
50+
tags pushed from the `ll-fork` branch should be named as follows:
51+
```text
52+
v4.18.2-9023d66-fork-pr-1
53+
```
54+
55+
Which consists of the following elements:
56+
57+
```text
58+
v<last_upstream_tag>-<actual_upstream_commit_in_master>-fork-pr-<last_merged_pr_in_fork>
59+
```
60+
61+
This naming schema allows us to track both rebases of the `ll-fork` as well as
62+
new features added to the fork.
63+
2264
## Databases
2365

2466
Database drivers run migrations. [Add a new database?](database/driver.go)

0 commit comments

Comments
 (0)