diff options
author | Kane York <kanepyork@gmail.com> | 2020-08-17T01·03-0700 |
---|---|---|
committer | kanepyork <rikingcoding@gmail.com> | 2020-08-19T01·23+0000 |
commit | 92d4554b622ea85ca08d351f696f48a37c67e8b0 (patch) | |
tree | d7f5d041acef637f6e805daaac2550b7719c9f44 /tools/tvlc/common.sh | |
parent | d6f17f48de91538c5b3623484672c1a81d207cba (diff) |
feat(tools/tvlc): init project r/1681
tvlc is a tool for managing sparse git worktrees of the TVL depot. It is still in development; near-term tasks include a setup script, Nix dependency resolution, worktree removal, and the dispatch script. See cs.tvl.fyi/depot/docs/designs/SPARSE_CHECKOUTS.md for more info. Change-Id: Iad96656f0206178980fe7dcadd3dffe70d690f8f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1760 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'tools/tvlc/common.sh')
-rw-r--r-- | tools/tvlc/common.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/tvlc/common.sh b/tools/tvlc/common.sh new file mode 100644 index 000000000000..2c8cc603cb97 --- /dev/null +++ b/tools/tvlc/common.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +set -eu +set -o pipefail + +XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}" +tvlc_root="$XDG_DATA_HOME/tvlc" + +if [ -f "$tvlc_root"/nice_checkout_root ]; then + nice_checkout_root="$(cat "$tvlc_root"/nice_checkout_root)" +fi +nice_checkout_root="${nice_checkout_root:-$HOME/tvlc}" + +depot_root= +if [ -f "$tvlc_root/depot_root" ]; then + depot_root="$(cat "$tvlc_root/depot_root")" +fi +if [ -d /depot ]; then + # don't require config on tvl nixos servers + depot_root="${depot_root:-/depot}" +fi +if [ -n "$depot_root" ]; then + export DEPOT_ROOT="$depot_root" +fi + +if [ ! -d "$tvlc_root" ]; then + echo "tvlc: setup required" + echo "please run 'tvlc setup' from the depot root" + exit 1 +fi |