diff options
author | Aki <please@ignore.pl> | 2024-02-16 02:05:51 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2024-02-16 02:05:51 +0100 |
commit | b4fb2a19abb556bae5def910eaeed05e4dd1e109 (patch) | |
tree | d2f9cd353a2113f02344f17e3eec6e3ac080c6ac /dots | |
parent | f7d7a7b3d82cd01ef8bf66948c2c66f3398b437a (diff) | |
download | dots-b4fb2a19abb556bae5def910eaeed05e4dd1e109.zip dots-b4fb2a19abb556bae5def910eaeed05e4dd1e109.tar.gz dots-b4fb2a19abb556bae5def910eaeed05e4dd1e109.tar.bz2 |
Added sendemail git config
Also a helper script for synchronizing the dots
Diffstat (limited to 'dots')
-rwxr-xr-x | dots | 57 |
1 files changed, 57 insertions, 0 deletions
@@ -0,0 +1,57 @@ +#!/bin/bash +shopt -s globstar nullglob dotglob +REPO="$(realpath "$(dirname "$0")")" + + +ignored() { + case $1 in + .gitignore|dots|.git|.git/*) return 0;; + *) return 1;; + esac +} + + +get() { + for file in **; do + ignored "$file" && continue + [ -f "$HOME/$file" ] && cp "$HOME/$file" "$REPO/$file" + done +} + + +put() { + for file in **; do + ignored "$file" && continue + if [ -f "$HOME/$file" ]; then + diff "$REPO/$file" "$HOME/$file" >/dev/null 2>/dev/null && continue + cp "$HOME/$file" "$HOME/$file.bak.$(date +%Y%m%d)" + fi + cp "$REPO/$file" "$HOME/$file" + done +} + + +clear() { + for file in **; do + ignored "$file" && continue + for bak in "$HOME/$file".bak.*; do + rm "$bak" + done + done +} + + +list() { + for file in **; do + ignored "$file" || echo "$file" + done +} + + +case $1 in +get) get;; +put) put;; +clear) clear;; +list) list;; +*) exit 1;; +esac |