Mercurial > public > mercurial-scm > hg
diff tests/test-subrepo-deep-nested-change @ 11110:22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
author | Edouard Gomez <ed.gomez@free.fr> |
---|---|
date | Sat, 01 May 2010 23:05:21 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-subrepo-deep-nested-change Sat May 01 23:05:21 2010 +0200 @@ -0,0 +1,57 @@ +#!/bin/sh + +echo % Preparing the subrepository 'sub2' +hg init sub2 +echo sub2 > sub2/sub2 +hg add -R sub2 +hg commit -R sub2 -m "sub2 import" + +echo % Preparing the 'sub1' repo which depends on the subrepo 'sub2' +hg init sub1 +echo sub1 > sub1/sub1 +echo "sub2 = ../sub2" > sub1/.hgsub +hg clone sub2 sub1/sub2 | sed 's/ .*sub/ ...sub/g' +hg add -R sub1 +hg commit -R sub1 -m "sub1 import" + +echo % Preparing the 'main' repo which depends on the subrepo 'sub1' +hg init main +echo main > main/main +echo "sub1 = ../sub1" > main/.hgsub +hg clone sub1 main/sub1 | sed 's/ .*sub/ ...sub/g' +hg add -R main +hg commit -R main -m "main import" + +echo % Cleaning both repositories, just as a clone -U +hg up -C -R sub2 null +hg up -C -R sub1 null +hg up -C -R main null +rm -rf main/sub1 +rm -rf sub1/sub2 + +echo % Clone main +hg clone main cloned | sed 's/ .*sub/ ...sub/g' + +echo % Checking cloned repo ids +printf "cloned " ; hg id -R cloned +printf "cloned/sub1 " ; hg id -R cloned/sub1 +printf "cloned/sub1/sub2 " ; hg id -R cloned/sub1/sub2 + +echo % debugsub output for main and sub1 +hg debugsub -R cloned +hg debugsub -R cloned/sub1 + +echo % Modifying deeply nested 'sub2' +echo modified > cloned/sub1/sub2/sub2 +hg commit -m "deep nested modif should trigger a commit" -R cloned + +echo % Checking modified node ids +printf "cloned " ; hg id -R cloned +printf "cloned/sub1 " ; hg id -R cloned/sub1 +printf "cloned/sub1/sub2 " ; hg id -R cloned/sub1/sub2 + +echo % debugsub output for main and sub1 +hg debugsub -R cloned +hg debugsub -R cloned/sub1 + +exit 0