diff --git a/git_tidy_local_branches.sh b/git_tidy_local_branches.sh new file mode 100755 index 0000000..e578f8f --- /dev/null +++ b/git_tidy_local_branches.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +# first we prune origin to ensure our local list of remote branches is up to date +git remote prune origin + +GONE_BRANCHES=$(git branch -vv | grep 'origin/.*: gone]' | awk '{print $1}') +echo "[DEBUG]: $GONE_BRANCHES" + +if [ -z "$GONE_BRANCHES" ]; then + echo "Could not find any local branches where the remote is gone" + exit 0 +fi + +if [ "$1" = "-f" ]; then + echo "$GONE_BRANCHES" | xargs git branch -D +#TODO: Do this in a loop so that we can provide output on which branches failed to delete +else + echo "$GONE_BRANCHES" | xargs git branch -d + if [ $? -ne 0 ]; then + FAILED_TO_DELETE="true" + fi +fi + +if [ "$FAILED_TO_DELETE" = "true" ]; then +# echo "error: Some local branches are not fully merged." + echo + echo "If you are sure you want to delete all branches above, run 'git-glean -f'" +fi + +# Handy script when following GitFlow and rebasing, since `git branch --merged master` will never list +# a rebased but merged branch (as their commit history differs). diff --git a/reset_kde.fish b/reset_kde.fish new file mode 100644 index 0000000..49999f9 --- /dev/null +++ b/reset_kde.fish @@ -0,0 +1,26 @@ +#!/usr/bin/fish + +if string length -q $HOME + + echo "Backup up $HOME/.config" + cp $HOME/.config $HOME/.config.bak + + echo "Deleting KDE config files" + set fileList Trolltech.conf akregatorrc baloofilerc bluedevilglobalrc kactivitymanagerd-statsrc + set -a fileList kactivitymanagerdrc kactivitymanagerd-pluginsrc kateschemarc kcmfonts kcminputrc kconf_updaterc kded5rc + set -a fileList kdeglobals kfontinstuirc kglobalshortcutsrc khotkeysrc kmixctrlrc kmixrc + set -a fileList kscreenlockerrc ksmserverrc ksplashrc ktimezonedrc kwinrc kwinrulesrc plasma-localerc + set -a fileList plasma-nm plasma-org.kde.plasma.desktop-appletsrc plasmarc plasmashellrc + set -a fileList powermanagementprofilesrc startupconfig startupconfigfiles startupconfigkeys + set -a fileList krunnerrc touchpadxlibinputrc systemsettingsrc kxkbrc PlasmaUserFeedback + set -a fileList kde.org/* kiorc klipperrc knfsshare kuriikwsfilterrc kwalletmanager5rc kwalletrc + set -a fileList plasma.emojierrc plasmanotifyrc PlasmaUserFeedback powerdevilrc kgammarc + set -a fileList kded_device_automounterrc device_automounter_kcmrc klaunchrc + set -a fileList trashrc kactivitymanagerd-switcher gtkrc-2.0 gtkrc baloofileinformationrc + set -a fileList breezerc + + rm $fileList + +[else; echo "HOME variable not defined"; exit;] + +end \ No newline at end of file