tests/bundles/remote.sh
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 16 Feb 2023 04:02:36 +0100
changeset 50140 ff12f42415f5
parent 20832 5d57b2101ab1
permissions -rwxr-xr-x
localrepo: stop doing special dirstate backup at transaction open Since the dirstate writes are already managed by the transaction, we already do a backup of the dirstate when necessary (and even trigger one to keep `hg rollback` happy). We needs some special code to deal with the initial empty checkout, but it is not too complicated. Managing variable filename (as dirstate-v2 uses) at the "journalfile" level, is complex and fragile (which is consistent with the fact these files are not journal…). If we no longer do it, our life is significantly simpler. In some sense, we apply the xkcd-1134¹ solution to our savebackup/restorebackup problem. [1] https://xkcd.com/1134/ (the change to test-hardlink are expect as decreasing the number of duplicated backup drive the hardlink count down)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20832
5d57b2101ab1 tests: don't hardcode path to bash interpreter
Olle Lundberg <geek@nerd.sh>
parents: 14117
diff changeset
     1
#!/usr/bin/env bash
14117
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     2
hg init remote
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     3
cd remote
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     4
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     5
echo "0" >> afile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     6
hg add afile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     7
hg commit -m "0.0"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     8
echo "1" >> afile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     9
hg commit -m "0.1"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    10
echo "2" >> afile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    11
hg commit -m "0.2"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    12
echo "3" >> afile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    13
hg commit -m "0.3"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    14
hg update -C 0
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    15
echo "1" >> afile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    16
hg commit -m "1.1"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    17
echo "2" >> afile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    18
hg commit -m "1.2"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    19
echo "a line" > fred
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    20
echo "3" >> afile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    21
hg add fred
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    22
hg commit -m "1.3"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    23
hg mv afile adifferentfile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    24
hg commit -m "1.3m"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    25
hg update -C 3
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    26
hg mv afile anotherfile
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    27
hg commit -m "0.3m"
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    28
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    29
hg bundle -a ../remote.hg
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    30
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    31
cd ..
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    32
rm -Rf remote