blob: a4c75420c6ab3cd4846bfd498bba8a915523adaf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#!/bin/bash
# If git is working in other process, then don't sync again
pidof git >/dev/null && exit 0
# Print information about ~/.wakeup
echo 'latest: ' $(date -d @`stat -c %Y ~/.wakeup` --iso-8601=seconds)
echo 'wakeup at: ' $(cat ~/.wakeup | xargs -i date -d @{} --iso-8601=seconds)
# Sync a repo
sync() {
cd "$1" || return
[ -z "$(git remote -v)" ] && return
pwd
GIT_SSH_COMMAND="ssh -o ControlMaster=no" git pull --quiet || \
echo "Has trouble when syncing $(pwd)"
}
# Read file ~/.repos, and sync
sed /^#/d ~/.repos | while read -r repo; do
eval "sync $repo &"
done
while true; do
if test "$(jobs -r | wc -l)" -gt 0; then
sleep 1;
else
which notify-send &>/dev/null && notify-send 'Repos synced'
break
fi
done
touch ~/.wakeup
# others repo
#check_upstream ~/git/tig || echo in `pwd` >/dev/tty &
|