1
0
mirror of synced 2025-12-19 18:14:56 -05:00

remove oss tooling (#11)

This commit is contained in:
Charles
2020-08-06 14:42:12 -07:00
committed by GitHub
parent 87ecfa75a9
commit be11cdfae6
3 changed files with 0 additions and 102 deletions

View File

@@ -1 +0,0 @@
# Dataline Public Repo

View File

@@ -1,16 +0,0 @@
#!/usr/bin/env bash
set -e
function _error() {
echo "$@"
exit 1
}
function main() {
[[ -e .root ]] || _error "Must run from root"
git remote add oss https://github.com/datalineio/public.git
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/env bash
set -e
_usage="
Usage: ./tools/oss/push_oss.sh <target-branch> <force (optional)>
Example: ./tools/oss/push_oss.sh my-branch force
"
function _error() {
echo "$@"
echo "$_usage"
exit 1
}
function _in_sync_with_remote() {
# https://stackoverflow.com/a/3278427
git remote update
UPSTREAM='@{u}'
echo "checking local commit history against remote: $(git rev-parse --symbolic-full-name --abbrev-ref ${UPSTREAM})"
LOCAL=$(git rev-parse @)
REMOTE=$(git rev-parse "$UPSTREAM")
BASE=$(git merge-base @ "$UPSTREAM")
if [ $LOCAL = $REMOTE ]; then
echo "Up-to-date"
elif [ $LOCAL = $BASE ]; then
echo "Need to pull"
exit 1
elif [ $REMOTE = $BASE ]; then
echo "Need to push"
exit 1
else
echo "Diverged"
exit 1
fi
}
function _on_master() {
# only push master to downstream repo.
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [[ "$CURRENT_BRANCH" != "master" ]]; then
_error 'Can only push to target branch master while on master branch.';
exit 1;
fi
}
# attempts to push the public dir to the specified branch in the dataline _public_ repository.
# * verifies that the branch being pushed is in sync with the origin remote of the monorepo.
# * allows force push (except when pushing to master--if you need to do this, do it manually).
# * only allows pushes to master from the master branch.
function main() {
[[ -e .root ]] || _error "Must run from root"
TARGET_BRANCH=$1; shift || _error "Missing target branch"
FORCE_RAW=$1;
FORCE=false
if [[ "$FORCE_RAW" = "force" ]]; then
FORCE=true
fi
echo "target branch: ${TARGET_BRANCH}"
echo "force: ${FORCE}"
# if pushing to master on the oss repo, must push from master.
if [[ "$TARGET_BRANCH" = "master" ]]; then
_on_master
fi
if [[ "$TARGET_BRANCH" = "master" && "$FORCE" = true ]]; then
_error "cannot force push to master."
fi
# do not push to oss repo, if local branch is not in sync with origin in monorepo.
_in_sync_with_remote
if [[ "$FORCE" = true ]]
then
git push oss `git subtree split --prefix public`:"${TARGET_BRANCH}" --force
else
git subtree push --prefix=public oss "${TARGET_BRANCH}"
fi
}
main "$@"