summaryrefslogtreecommitdiff
path: root/archive/bin/sync-for-dionysus
blob: 3dc366a1bbdde7bfcac4faf01e6edca41745be48 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh

. "$HOME/.shenv"
. "$HOME/src/dotfiles/lib-src/tputfs.sh"

# Sync ~/lib/dionysus annex, taking account of how I access it from
# dionysus.  Obsoleted by receive.denyCurrentBranch=updateInstead,
# once git annex >= 6.20170228 reaches athena

set -e

LOCAL="$HOME/lib/dionysus"
FLASH="/media/swhitton/SPWHITTON/doc"

athena_cmd () {
    # here we rely on the fact that ssh already passes argument
    # through `/bin/sh -c' (note use of single-quotes in this
    # function)
    ssh athena 'cd $HOME/'"$1"' && . $HOME/.shenv && '"$2"
}

if [ "$(hostname -f)" = "athena.silentflame.com" ]; then
    cd "$LOCAL" && git annex add && git annex sync
else
    # if [ -d "$FLASH" ]; then
    #     status adding new content on nickflash
    #     cd $FLASH && git annex add && git annex sync --no-pull --no-push --message=add
    # fi

    status work around gnupg bug on athena
    ssh athena 'rm $XDG_RUNTIME_DIR/gnupg/*' ||:

    status adding and syncing on athena
    athena_cmd lib/dionysus "git annex add"
    athena_cmd lib/dionysus "git annex sync origin"
    
    status running main sync from ~/lib/dionysus
    # if [ -d "$FLASH" ]; then
    #     cd "$LOCAL" && git annex add && git annex sync --content athena nickflash
    # else
        cd "$LOCAL" && git annex add && git annex sync --content
    # fi
    
    # if [ -d "$FLASH" ]; then
    #     status ensuring that new files on nickflash checked out
    #     cd $FLASH && git annex sync
    #     status attempting to unmount nickflash
    #     kill-ssh-and-umount /media/swhitton/SPWHITTON # TODO use $FLASH
    # fi
    
    status ensuring that new files on athena checked out
    # athena_cmd lib/dionysus "git annex merge"
    athena_cmd lib/dionysus "git annex sync origin"
fi