Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
jaraco committed Dec 29, 2020
2 parents 60c341b + 4b13346 commit 95a9c47
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 1 deletion.
27 changes: 27 additions & 0 deletions .github/workflows/automerge.yml
@@ -0,0 +1,27 @@
name: automerge
on:
pull_request:
types:
- labeled
- unlabeled
- synchronize
- opened
- edited
- ready_for_review
- reopened
- unlocked
pull_request_review:
types:
- submitted
check_suite:
types:
- completed
status: {}
jobs:
automerge:
runs-on: ubuntu-latest
steps:
- name: automerge
uses: "pascalgn/automerge-action@v0.12.0"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
2 changes: 1 addition & 1 deletion setup.cfg
Expand Up @@ -57,7 +57,7 @@ docs =
# Keep these in sync with docs/requirements.txt
# upstream
sphinx
jaraco.packaging >= 6.1
jaraco.packaging >= 8.2
rst.linker >= 1.9

# local
Expand Down
20 changes: 20 additions & 0 deletions skeleton.md
Expand Up @@ -46,6 +46,26 @@ For example, here's a session of the [path project](https://pypi.org/project/pat

Thereafter, the target project can make whatever customizations it deems relevant to the scaffolding. The project may even at some point decide that the divergence is too great to merit renewed merging with the original skeleton. This approach applies maximal guidance while creating minimal constraints.

## Periodic Collapse

In late 2020, this project [introduced](https://github.com/jaraco/skeleton/issues/27) the idea of a periodic but infrequent (O(years)) collapse of commits to limit the number of commits a new consumer will need to accept to adopt the skeleton.

The full history of commits is collapsed into a single commit and that commit becomes the new mainline head.

When one of these collapse operations happens, any project that previously pulled from the skeleton will no longer have a related history with that new main branch. For those projects, the skeleton provides a "handoff" branch that reconciles the two branches. Any project that has previously merged with the skeleton but now gets an error "fatal: refusing to merge unrelated histories" should instead use the handoff branch once to incorporate the new main branch.

```
$ git pull https://github.com/jaraco/skeleton 2020-handoff
```

This handoff needs to be pulled just once and thereafter the project can pull from the main head.

The archive and handoff branches from prior collapses are indicate here:

| refresh | archive | handoff |
|---------|-----------------|--------------|
| 2020-12 | archive/2020-12 | 2020-handoff |

# Features

The features/techniques employed by the skeleton include:
Expand Down

0 comments on commit 95a9c47

Please sign in to comment.