changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > infra / annotate scripts/bundle-comp.sh

changeset 272: a2313c7003d4
child: 91b552d64438
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 16 Jun 2024 23:53:24 +0000
permissions: -rwxr-xr-x
description: better vc bundles
272
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 #!/usr/bin/env bash
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 # bundle a tar.zst archive of Mercurial repositories.
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 # must be absolute
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 BUNDLE="${1:-comp}"
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
5
 WD=$(realpath .stash)
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 OUT=$WD
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
7
 SRC_PATH=$HOME/src/$BUNDLE
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
8
 
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 echo "Bundling $BUNDLE_NAME in $OUT..."
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
 rm -rf $OUT/*
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
12
 mkdir -pv $OUT
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
13
 mkdir -pv $WD/vc/hg/{zst,stream}
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
 
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
15
 cd $SRC_PATH
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
16
 # Find all mercurial repositories, create bundles and dump them to $OUT dir.
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
17
 for i in $(find . -name ".hg" | cut -c 3-); do
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
18
     echo ""
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
19
     echo "found hg repo: $i"
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
20
     cd $i/..
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
21
     echo "making zstd-v2 bundle..."
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
22
     hg bundle -a -t zstd-v2 $WD/vc/hg/zst/$(basename $(hg root)).hg.zst
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
23
     echo "making none-v2 bundle..."
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
24
     hg bundle -a -t none-v2 $WD/vc/hg/$(basename $(hg root)).hg
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
     echo "making stream bundle..."
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
     hg debugcreatestreamclonebundle $WD/vc/hg/stream/$(basename $(hg root)).hg.stream
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
27
     echo "... Done."
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
28
     cd $SRC_PATH
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
29
 done
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
 
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
31
 # archive all *.hg bundles, final compression with zst
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
32
 cd $WD/vc && tar -I 'zstd' -cf $OUT/$BUNDLE.tar.zst --exclude hg/hg.hg hg/*.hg 
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
33
 # tar -cf $OUT/$BUNDLE.tar.stream vc/stream/*.hg.stream
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
 # tar -cf $OUT/$BUNDLE.tar vc/*.hg
a2313c7003d4 better vc bundles
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
35
 echo "Done."