changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > infra / scripts/bundle-comp.sh

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