New beggining.
This commit is contained in:
commit
6964b2b200
33 changed files with 1281 additions and 0 deletions
59
gupdater
Executable file
59
gupdater
Executable file
|
@ -0,0 +1,59 @@
|
|||
#!/bin/env bash
|
||||
|
||||
# simple script to take a list of path in system of
|
||||
# git repos then doing specified action for it
|
||||
|
||||
starting_dir=$(pwd)
|
||||
|
||||
Push () {
|
||||
cd "$Path"
|
||||
[ -z "$(git status -s)" ] && printf '\n%s\n' "Repo $Path already up to date." && return
|
||||
|
||||
printf '\n%s\n' "In repo $Path"
|
||||
|
||||
commited="n"
|
||||
done="n"
|
||||
while [ ! -z "$(git status -s)" ] && [ "$done" != "y" ]; do
|
||||
|
||||
toCommit=$(git status -s | awk '{ print $2 }' | fzf -m)
|
||||
|
||||
if [ ! -z "$toCommit" ]; then
|
||||
git add "$toCommit"
|
||||
|
||||
read -p 'Commit message: ' message < /dev/tty
|
||||
git commit -m "$message"
|
||||
commited="y"
|
||||
fi
|
||||
|
||||
[ ! -z "$(git status -s )" ] && read -p "Have you commited everything you wanted to [y/n]: " done < /dev/tty
|
||||
done
|
||||
|
||||
[ "$commited" = "y" ] && git push
|
||||
|
||||
printf '\n%s\n' "Repo $Path pushed completely."
|
||||
}
|
||||
|
||||
Pull () {
|
||||
cd $Path
|
||||
|
||||
printf '\n%s\n' "In repo $Path"
|
||||
|
||||
git pull
|
||||
|
||||
printf '\n%s\n' "Repo $Path updated."
|
||||
}
|
||||
|
||||
while read -a Line; do
|
||||
Action=${Line[0]}
|
||||
Path=${Line[1]}
|
||||
|
||||
if [ "$Action" = "push" ]; then
|
||||
Push
|
||||
fi
|
||||
|
||||
if [ "$Action" = "pull" ]; then
|
||||
Pull
|
||||
fi
|
||||
done <<< "$(< $HOME/.config/gupdate/repos)"
|
||||
|
||||
cd "$starting_dir"
|
Loading…
Add table
Add a link
Reference in a new issue