summaryrefslogtreecommitdiff
path: root/git-maintenance/get.sh
blob: f05d388a7a66ae66e4eb34ef34d9c23335214cae (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
#!/usr/bin/env bash

PASS="$(ls "/run/media/"*/*"/key.fsojp.aes256" | head -n 1)"
PUBKEY=1KwpZECcrGWnM3AFVSbv3Xr5qguV4yG2sV

URLPFX="https://bico.media/$PUBKEY"
REPONAME=for-slow-organization-job-private

echo ""
echo "This script is expected to be kept in sync with:"
echo "  ${URLPFX}/get.sh"
echo ""

# 2. mkdir -p .git/encrypted and git init
mkdir -p "$REPONAME"
cd "$REPONAME"
git init

# prevent recreation of existing data on same medium-part
git config gc.auto 0

mkdir -p .git/encrypted

# 3. download .git/encrypted with wget
wget "$URLPFX"/refs.aes -O .git/encrypted/refs.aes
openssl aes-256-cbc -salt -pbkdf2 -pass "file:$PASS" -d -in .git/encrypted/refs.aes | tar -zxvf -

for encpack in $(<.git/encrypted/list.txt)
do
	wget "$URLPFX"/"$encpack" -O .git/encrypted/"$encpack"
	openssl aes-256-cbc -salt -pbkdf2 -pass "file:$PASS" -d -in .git/encrypted/"$encpack" | tar -zxvf -
done

for pack in .git/objects/pack/*.pack
do
	git index-pack "$pack"
done

git checkout

echo DONE