Skip to content

Commit 4f5a966

Browse files
authored
Add script for rebasing ledger actions (#354)
1 parent fff8cf9 commit 4f5a966

File tree

6 files changed

+3772
-1
lines changed

6 files changed

+3772
-1
lines changed

package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"license": "MIT",
88
"private": true,
99
"dependencies": {
10+
"lodash.isequal": "^4.5.0",
1011
"sourcecred": "^0.9.3"
1112
},
1213
"scripts": {
@@ -16,7 +17,8 @@
1617
"start": "dotenv -- sourcecred go --no-load && sourcecred serve",
1718
"serve": "sourcecred serve",
1819
"grain": "sourcecred grain",
19-
"go": "sourcecred go"
20+
"go": "sourcecred go",
21+
"rebase": "bash ./scripts/rebase-ledger/index.sh"
2022
},
2123
"devDependencies": {
2224
"dotenv-cli": "^4.0.0",

scripts/rebase-ledger/index.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const { rebase } = require("./rebase-ledger.js");
2+
const fs = require("fs");
3+
4+
const [base, target] = process.argv.slice(2);
5+
const { ledger1, ledger2, ledgerResult } = rebase(base, target);
6+
console.log(ledgerResult.serialize());

scripts/rebase-ledger/index.sh

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
exit() {
4+
exit_code=$?
5+
if [ $exit_code -ne 0 ]; then
6+
mv ./data/ledger-backup.json ./data/ledger.json
7+
rm ./data/ledger-result.json
8+
else
9+
mv ./data/ledger-result.json ./data/ledger.json
10+
rm ./data/ledger-backup.json
11+
fi
12+
13+
}
14+
15+
set -e
16+
trap exit EXIT
17+
18+
cp ./data/ledger.json ./data/ledger-backup.json
19+
20+
git fetch
21+
22+
git reset --hard origin/main
23+
24+
node ./scripts/rebase-ledger/rebase-test.js
25+
echo "Safety test passed. Proceeding with rebase."
26+
27+
node ./scripts/rebase-ledger/index.js \
28+
"./data/ledger.json" \
29+
"./data/ledger-backup.json" \
30+
> ./data/ledger-result.json \
31+
/
32+
33+
echo "Rebase complete. Commit and push changes."

0 commit comments

Comments
 (0)