PortValhalla/scripts/Common/Software/git/main.fish

68 lines
1.9 KiB
Fish
Raw Normal View History

2024-07-15 10:10:06 +00:00
#!/bin/env fish
begin
2024-07-15 18:24:47 +00:00
set -l dir (status dirname)
2024-07-15 10:10:06 +00:00
source "$(status dirname)/../../Scripts/software.fish"
2024-07-19 23:23:08 +00:00
function getSWName
echo "git"
end
2024-07-15 18:24:47 +00:00
function configureSW -S -V dir
source "$dir/../../Scripts/config.fish"
set -l branch "valhalla.git.defaultBranch"
2024-07-15 12:47:06 +00:00
function setConfig
sudo git config --system $argv
end
2024-07-15 12:58:54 +00:00
if isSet "$branch"
setConfig init.defaultBranch (getConfig "$branch")
end
2024-07-15 12:47:06 +00:00
setConfig user.name "Manuel Thalmann"
setConfig user.email "m@nuth.ch"
2024-07-15 10:10:06 +00:00
begin # Git Flow
set -l dir (mktemp -d)
pushd "$dir" > /dev/null
2024-07-15 12:58:54 +00:00
begin
2024-07-15 18:24:47 +00:00
set -l key valhalla.git.flow
set -l mainKey "$key.mainBranch"
set -l devKey "$key.devBranch"
2024-07-15 10:10:06 +00:00
git init
git commit --allow-empty -m "Initial commit" > /dev/null
git branch master || true &> /dev/null
git branch main || true &> /dev/null
git branch dev || true &> /dev/null
yes "" | git flow init &> /dev/null
2024-07-15 18:24:47 +00:00
if isSet "$mainKey"
sudo git flow config set --system master (getConfig "$mainKey") > /dev/null
else
true
end
if isSet "$devKey"
sudo git flow config set --system develop (getConfig "$devKey") > /dev/null
else
true
end
2024-07-15 12:58:54 +00:00
end
2024-07-15 10:10:06 +00:00
popd > /dev/null
rm -rf "$dir"
end
2024-07-15 18:24:47 +00:00
begin # Aliases
set -l key valhalla.git.aliases
set -l aliases (getConfig "$key" --json)
for name in (echo "$aliases" | jq 'keys[]' --raw-output0 | string split0)
setConfig "alias.$name" (getConfig "$key.$name")
end
end
2024-07-15 10:10:06 +00:00
end
end