Skip to content

Commit

Permalink
docs: Add NEWS file for important announcements
Browse files Browse the repository at this point in the history
Includes the first news announcement, and section in the Readme to
call attention to it.

Signed-off-by: Sam Stuewe <[email protected]>
  • Loading branch information
HalosGhost committed Apr 5, 2022
1 parent f65fcef commit ce6e717
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 0 deletions.
102 changes: 102 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# 2022-04-05: Force-push against `trunk`

<details>

<summary>Fixing the initial commit co-author list</summary>

## Motivation

At launch of `opencbdc-tx`, the initial commit included squashed work from several authors.
To preserve record of that contribution, we included a `Co-authored-by` trailer for each author.
Additionally, following our [Contribution Guide](https://github.com/mit-dci/opencbdc-tx/blob/trunk/docs/contributing.md#intellectual-property), a `Signed-off-by` trailer was also included.

The complete trailer list as it originally appeared in the initial commit is below:

```
Co-authored-by: James Lovejoy <[email protected]>
Co-authored-by: Spencer Connaughton <[email protected]>
Co-authored-by: Gert-Jaap Glasbergen <[email protected]>
Co-authored-by: Cory Fields <[email protected]>
Co-authored-by: Neha Narula <[email protected]>
Co-authored-by: Sam Stuewe <[email protected]>
Co-authored-by: Kevin Karwaski <[email protected]>
Co-authored-by: Viktor Urvantsev <[email protected]>
Co-authored-by: jallen-frb <[email protected]>
Co-authored-by: Anders Brownworth <[email protected]>
Signed-off-by: Sam Stuewe <[email protected]>
```

Unfortunately, the new-line separating the `Co-authored-by` trailers and the `Signed-off-by` trailer is errant.
`git` (at time of writing) expects trailers to be in a single group (not separated by new-lines) at the end of the commit message (before the patch-section).
As a result, `git` (and, by extension, GitHub) read this commit as not including any `Co-authored-by` lines.

You can verify this locally by copying the above text to a file and asking `git` to parse it:

```terminal
$ git interpret-trailers --parse <the-file>
Signed-off-by: Sam Stuewe <[email protected]>
```

In short, this single newline caused all our initial contributors to not receive credit for their contribution.
In speaking with GitHub Support and talking with our initial contributors, it has been determined the best way to solve this problem would be to amend the root commit to remove the errant newline.

## Correction

On 05 April 2022, `trunk`'s root commit is amended to include the following trailer list:

```
Co-authored-by: James Lovejoy <[email protected]>
Co-authored-by: Spencer Connaughton <[email protected]>
Co-authored-by: Gert-Jaap Glasbergen <[email protected]>
Co-authored-by: Cory Fields <[email protected]>
Co-authored-by: Neha Narula <[email protected]>
Co-authored-by: Sam Stuewe <[email protected]>
Co-authored-by: Kevin Karwaski <[email protected]>
Co-authored-by: Viktor Urvantsev <[email protected]>
Co-authored-by: jallen-frb <[email protected]>
Co-authored-by: Anders Brownworth <[email protected]>
Signed-off-by: Sam Stuewe <[email protected]>
```

As this change rewrites history of a public branch, all clones and forks (created before 2022-04-05) need to rebase—forks additionally need to force-push each rebased branch once.
Luckily, as only the commit message has changed, no conflicts are possible, so it is a very simple rebase to perform.
General instructions for how to fix your copy can be found below.
If you need more thorough information, please see [`git`'s guide on recovering from an upstream rebase](https://git-scm.com/docs/git-rebase#_recovering_from_upstream_rebase).

## Action You Should Take

### Fixing a Clone

The following applies if you cloned the code directly from upstream (the `origin` remote points to https://github.com/mit-dci/opencbdc-tx).

For each local branch, switch to the branch and rebase it.

```terminal
$ git switch <branchname>
$ git rebase origin/trunk
```

### Fixing a Fork

The following applies if you forked the upstream repository and are working on a clone from that fork (the `origin` remote points to your fork URL).

If your clone does not already have a remote pointing to upstream, add one now:

```terminal
$ git remote add upstream https://github.com/mit-dci/opencbdc-tx
```

For each local branch, switch to the branch, rebase it, and force-push it to your fork:

```terminal
$ git switch <localbranchname>
$ git rebase upstream/trunk
$ git push --force origin <forkbranchname>
```

**Note:** `<localbranchname>` and `<forkbranchname>` are likely to the same unless you chose to manually name your local branch differently.

</details>
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ For higher-level conceptual explanations, as well as findings and conclusions re
Initially, we focused our work on achieving high transaction throughput, low latency, and resilience against multiple geographical datacenter outages without significant downtime or any data loss.
The design decisions we made to achieve these goals will help inform policy makers around the world about the spectrum of tradeoffs and available options for CBDC design.

# Important News

**NOTE:** In cases where there are significant changes to the repository that might need manual intervention down-stream (or other important updates), we will [make a NEWS post](NEWS.md).

# Architecture

We explored two system architectures for transaction settlement, both based on an [unspent transaction output (UTXO)](https://en.wikipedia.org/wiki/Unspent_transaction_output) data model and transaction format.
Expand Down

0 comments on commit ce6e717

Please sign in to comment.