mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-28 16:47:26 +00:00
Leftovers
This commit is contained in:
committed by
Bastian Köcher
parent
4ad46c8170
commit
a230a377d1
-91
@@ -1,91 +0,0 @@
|
||||
# Using Parity Bridges Common dependency (`git subtree`)
|
||||
|
||||
In `./bridges` sub-directory you can find a `git subtree` imported version of:
|
||||
[`parity-bridges-common`](https://github.com/paritytech/parity-bridges-common/) repository.
|
||||
|
||||
(For regular Cumulus contributor 1. is relevant) \
|
||||
(For Cumulus maintainer 1. and 2. are relevant) \
|
||||
(For Bridges team 1. and 2. and 3. are relevant)
|
||||
|
||||
## How to fix broken Bridges code?
|
||||
|
||||
To fix Bridges code simply create a commit in current (`Cumulus`) repo. Best if
|
||||
the commit is isolated to changes in `./bridges` sub-directory, because it makes
|
||||
it easier to import that change back to upstream repo.
|
||||
|
||||
(Any changes to `bridges` subtree require Bridges team approve and they should manage backport to Bridges repo)
|
||||
|
||||
|
||||
## How to pull latest Bridges code to the `bridges` subtree
|
||||
(in practice)
|
||||
|
||||
The `bridges` repo has a stabilized branch `polkadot-staging` dedicated for releasing.
|
||||
|
||||
```
|
||||
cd <cumulus-git-repo-dir>
|
||||
|
||||
# this will update new git branches from bridges repo
|
||||
# there could be unresolved conflicts, but don't worry,
|
||||
# lots of them are caused because of removed unneeded files with patch step,
|
||||
BRANCH=polkadot-staging ./scripts/bridges_update_subtree.sh fetch
|
||||
|
||||
# so, after fetch and before solving conflicts just run patch,
|
||||
# this will remove unneeded files and checks if subtree modules compiles
|
||||
./scripts/bridges_update_subtree.sh patch
|
||||
|
||||
# if there are conflicts, this could help,
|
||||
# this removes locally deleted files at least (move changes to git stash for commit)
|
||||
./scripts/bridges_update_subtree.sh merge
|
||||
|
||||
# (optional) when conflicts resolved, you can check build again - should pass
|
||||
# also important: this updates global Cargo.lock
|
||||
./scripts/bridges_update_subtree.sh patch
|
||||
|
||||
# add changes to the commit, first command `fetch` starts merge,
|
||||
# so after all conflicts are solved and patch passes and compiles,
|
||||
# then we need to finish merge with:
|
||||
git merge --continue
|
||||
```
|
||||
|
||||
## How to pull latest Bridges code or contribute back?
|
||||
(in theory)
|
||||
|
||||
Note that it's totally fine to ping the **Bridges Team** to do that for you. The point
|
||||
of adding the code as `git subtree` is to **reduce maintenance cost** for Cumulus/Polkadot
|
||||
developers.
|
||||
|
||||
If you still would like to either update the code to match latest code from the repo
|
||||
or create an upstream PR read below. The following commands should be run in the
|
||||
current (`polkadot`) repo.
|
||||
|
||||
### Add Bridges repo as a local remote
|
||||
```
|
||||
git remote add -f bridges git@github.com:paritytech/parity-bridges-common.git
|
||||
```
|
||||
|
||||
If you plan to contribute back, consider forking the repository on Github and adding
|
||||
your personal fork as a remote as well.
|
||||
```
|
||||
git remote add -f my-bridges git@github.com:tomusdrw/parity-bridges-common.git
|
||||
```
|
||||
|
||||
### To update Bridges
|
||||
```
|
||||
git fetch bridges polkadot-staging
|
||||
git subtree pull --prefix=bridges bridges polkadot-staging --squash
|
||||
```
|
||||
|
||||
We use `--squash` to avoid adding individual commits and rather squashing them
|
||||
all into one.
|
||||
|
||||
### Clean unneeded files here
|
||||
```
|
||||
./bridges/scripts/verify-pallets-build.sh --ignore-git-state --no-revert
|
||||
```
|
||||
|
||||
### Contributing back to Bridges (creating upstream PR)
|
||||
```
|
||||
git subtree push --prefix=bridges my-bridges polkadot-staging
|
||||
```
|
||||
This command will push changes to your personal fork of Bridges repo, from where
|
||||
you can simply create a PR to the main repo.
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# A script to update bridges repo as subtree to Cumulus
|
||||
# Usage:
|
||||
# ./scripts/bridges_update_subtree.sh fetch
|
||||
# ./scripts/bridges_update_subtree.sh patch
|
||||
# ./scripts/bridges_update_subtree.sh merge
|
||||
|
||||
set -e
|
||||
|
||||
BRIDGES_BRANCH="${BRANCH:-polkadot-staging}"
|
||||
BRIDGES_TARGET_DIR="${TARGET_DIR:-bridges}"
|
||||
|
||||
function fetch() {
|
||||
# the script is able to work only on clean git copy
|
||||
[[ -z "$(git status --porcelain)" ]] || {
|
||||
echo >&2 "The git copy must be clean (stash all your changes):";
|
||||
git status --porcelain
|
||||
exit 1;
|
||||
}
|
||||
|
||||
local bridges_remote=$(git remote -v | grep "parity-bridges-common.git (fetch)" | head -n1 | awk '{print $1;}')
|
||||
if [ -z "$bridges_remote" ]; then
|
||||
echo ""
|
||||
echo "Adding new remote: 'bridges' repo..."
|
||||
echo ""
|
||||
echo "... check your YubiKey ..."
|
||||
git remote add -f bridges git@github.com:paritytech/parity-bridges-common.git
|
||||
bridges_remote="bridges"
|
||||
else
|
||||
echo ""
|
||||
echo "Fetching remote: '${bridges_remote}' repo..."
|
||||
echo ""
|
||||
echo "... check your YubiKey ..."
|
||||
git fetch ${bridges_remote} --prune
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Syncing/updating subtree with remote branch '${bridges_remote}/$BRIDGES_BRANCH' to target directory: '$BRIDGES_TARGET_DIR'"
|
||||
echo ""
|
||||
echo "... check your YubiKey ..."
|
||||
git subtree pull --prefix=$BRIDGES_TARGET_DIR ${bridges_remote} $BRIDGES_BRANCH --squash
|
||||
}
|
||||
|
||||
function patch() {
|
||||
echo ""
|
||||
echo "Patching/removing unneeded stuff from subtree in target directory: '$BRIDGES_TARGET_DIR'"
|
||||
$BRIDGES_TARGET_DIR/scripts/verify-pallets-build.sh --ignore-git-state --no-revert
|
||||
}
|
||||
|
||||
function merge() {
|
||||
echo ""
|
||||
echo "Merging stuff from subtree in target directory: '$BRIDGES_TARGET_DIR'"
|
||||
|
||||
# stage all removed by patch: DU, MD, D, AD - only from subtree directory
|
||||
git status -s | awk '$1 == "DU" || $1 == "D" || $1 == "MD" || $1 == "AD" {print $2}' | grep "^$BRIDGES_TARGET_DIR/" | xargs git rm -q --ignore-unmatch
|
||||
|
||||
echo ""
|
||||
echo "When all conflicts are resolved, do 'git merge --continue'"
|
||||
}
|
||||
|
||||
function amend() {
|
||||
echo ""
|
||||
echo "Amend stuff from subtree in target directory: '$BRIDGES_TARGET_DIR'"
|
||||
git commit --amend -S -m "updating bridges subtree + remove extra folders"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
fetch)
|
||||
fetch
|
||||
;;
|
||||
patch)
|
||||
patch
|
||||
;;
|
||||
merge)
|
||||
merge
|
||||
;;
|
||||
amend)
|
||||
amend
|
||||
;;
|
||||
all)
|
||||
fetch
|
||||
patch
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user