Compare commits
3 Commits
b045babff4
...
168dbfe770
Author | SHA1 | Date | |
---|---|---|---|
168dbfe770 | |||
|
b945893d50 | ||
af7bc3dc02 |
@ -6,6 +6,41 @@ xgit() {
|
||||
git -c "user.name=Flake Update Bot" -c "user.email=flake-update-bot@clerie.de" -c "core.pager=cat" "$@"
|
||||
}
|
||||
|
||||
xgit_merge_theirs() {
|
||||
# base branch is the one currently checked out
|
||||
|
||||
# this is the branch we want to merge into the base branch
|
||||
OTHER_BRANCH="$1"
|
||||
|
||||
# merge commit message
|
||||
COMMIT_MESSAGE="$2"
|
||||
|
||||
# this branch gets used while merging
|
||||
TEMP_BRANCH="tempbranch"
|
||||
|
||||
# create a merge commit between base branch and other branch, so it shows up correctly in git log
|
||||
# we use `ours` so we make sure there are no merge conflicts
|
||||
git merge -s ours "${OTHER_BRANCH}" -m "${COMMIT_MESSAGE}"
|
||||
|
||||
# save our newly created merge commit in a seperate branch
|
||||
git branch "${TEMP_BRANCH}"
|
||||
|
||||
# export contents of other branch to current working directory
|
||||
# this will change the last commit of our base branch too
|
||||
git reset --hard "${OTHER_BRANCH}"
|
||||
|
||||
# return to our merge commit from the base branch
|
||||
# but without touching the current working directory
|
||||
git reset --soft "${TEMP_BRANCH}"
|
||||
|
||||
# Add the changes to our merge commit
|
||||
git commit --amend --no-edit
|
||||
|
||||
# we are now on our base branch again
|
||||
# so we can delete the temp branch
|
||||
git branch -D "${TEMP_BRANCH}"
|
||||
}
|
||||
|
||||
NOW="$(date --utc +%Y-%m-%d-%H-%M)"
|
||||
|
||||
xgit status || xgit clone gitea@git.clerie.de:clerie/nixfiles.git .
|
||||
@ -43,7 +78,7 @@ xgit push --set-upstream origin "${UPDATE_BRANCH}"
|
||||
|
||||
echo "[!] Merge ${UPDATE_BRANCH} into updated-inputs"
|
||||
xgit checkout updated-inputs
|
||||
xgit merge -s ort -X theirs "${UPDATE_BRANCH}" -m "Update from ${UPDATE_BRANCH}"
|
||||
xgit_merge_theirs "${UPDATE_BRANCH}" "Update from ${UPDATE_BRANCH}"
|
||||
|
||||
echo "[!] Publish updated-inputs"
|
||||
xgit push origin updated-inputs
|
||||
|
Loading…
Reference in New Issue
Block a user