env
This commit is contained in:
parent
d29d7e23a4
commit
fc01d900b7
16
.envrc
16
.envrc
@ -15,23 +15,23 @@ now="$(date +%Y-%m-%d)"
|
|||||||
if [[ ! -d .direnv/tmp ]]; then
|
if [[ ! -d .direnv/tmp ]]; then
|
||||||
mkdir -p .direnv/tmp
|
mkdir -p .direnv/tmp
|
||||||
elif command -v find >/dev/null; then
|
elif command -v find >/dev/null; then
|
||||||
find .direnv/tmp/ -mindepth 1 -maxdepth 1 -type d -and ! -newermt "4 hours ago" -delete
|
find .direnv/tmp/ -mindepth 1 -maxdepth 1 -type d -and ! -newermt "4 hours ago" -exec rm -rf {} \;
|
||||||
fi
|
fi
|
||||||
if [[ ! -s .direnv/pull-date || "$now" != "$(cat .direnv/pull-date)" ]]; then
|
if [[ ! -s .direnv/pull-date || "$now" != "$(cat .direnv/pull-date)" ]]; then
|
||||||
tmp=$(mktemp -p .direnv/tmp -d)
|
tmp=$(mktemp -p .direnv/tmp -d)
|
||||||
trap 'rm -rf "$tmp" >&/dev/null' ERR EXIT RETURN
|
trap 'rm -rf "$tmp" >&/dev/null' ERR EXIT RETURN
|
||||||
if ! $GIT diff --exit-code --quiet HEAD -- flake.lock >&/dev/null; then
|
if ! git diff --exit-code --quiet HEAD -- flake.lock >&/dev/null; then
|
||||||
cp flake.lock "$tmp"/dirty-flake.lock
|
cp flake.lock "$tmp"/dirty-flake.lock
|
||||||
$GIT reset -- flake.lock
|
git reset -- flake.lock
|
||||||
$GIT restore -- flake.lock
|
git restore -- flake.lock
|
||||||
cp flake.lock "$tmp"/clean-flake.lock # we could instead preserve the current $GIT rev
|
cp flake.lock "$tmp"/clean-flake.lock # we could instead preserve the current git rev
|
||||||
fi
|
fi
|
||||||
$GIT pull --rebase --autostash
|
git pull --rebase --autostash
|
||||||
if grep -q "^=======" flake.lock; then
|
if grep -q "^=======" flake.lock; then
|
||||||
# TODO: can this happen anymore?
|
# TODO: can this happen anymore?
|
||||||
$GIT reset -- flake.lock
|
git reset -- flake.lock
|
||||||
rm flake.lock # restore?
|
rm flake.lock # restore?
|
||||||
$GIT checkout -- flake.lock
|
git checkout -- flake.lock
|
||||||
elif [[ -s "$tmp"/clean-flake.lock ]] && ! diff -q "$tmp"/clean-flake.lock flake.lock >&/dev/null; then
|
elif [[ -s "$tmp"/clean-flake.lock ]] && ! diff -q "$tmp"/clean-flake.lock flake.lock >&/dev/null; then
|
||||||
cp "$tmp"/flake-dirty.lock flake.lock
|
cp "$tmp"/flake-dirty.lock flake.lock
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user