summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2020-12-13 16:13:13 -0500
committerJason R. Coombs <jaraco@jaraco.com>2020-12-13 16:13:13 -0500
commita11446dc8ad2207306a0b58d61a6d404b56ecc4b (patch)
treebfb90052517a407ac0c7d5810dfae9689374e362
parenta81fb90c62238d21b96b4e927a3daa59eb1a50b0 (diff)
parent150321caba0dc73489b61d6b5bbfbed52b795ae7 (diff)
downloadpytest-runner-a11446dc8ad2207306a0b58d61a6d404b56ecc4b.tar.gz
Merge branch 'main' into 2020-handoff
-rw-r--r--.github/workflows/automerge.yml27
-rw-r--r--skeleton.md20
2 files changed, 47 insertions, 0 deletions
diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml
new file mode 100644
index 0000000..4f70acf
--- /dev/null
+++ b/.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 }}"
diff --git a/skeleton.md b/skeleton.md
index ec421c2..dd8ec01 100644
--- a/skeleton.md
+++ b/skeleton.md
@@ -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: