Mercurial > hg
view tests/test-convert-bzr-directories.t @ 44941:edd08aa193fb
files: extract code for extra filtering of the `removed` entry into copies
We want to reduce the set of `removed` files that to the set of files actually
removed. That `removed` set is used as of the changeset centric algorithm,
having smaller sets means less processing and faster computation.
In this changeset we extract the code to be a function of it own. We will make
use of it in the next changesets.
Differential Revision: https://phab.mercurial-scm.org/D8588
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 27 May 2020 12:45:39 +0200 |
parents | 815e9ca1078c |
children | 26127236b229 |
line wrap: on
line source
#require bzr $ . "$TESTDIR/bzr-definitions" Work around https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944379 $ mkdir -p "${HOME}/.config/breezy" empty directory $ mkdir test-empty $ cd test-empty $ bzr init -q source $ cd source $ echo content > a $ bzr add -q a $ bzr commit -q -m 'Initial add' $ mkdir empty $ bzr add -q empty $ bzr commit -q -m 'Empty directory added' $ echo content > empty/something $ bzr add -q empty/something $ bzr commit -q -m 'Added file into directory' $ cd .. $ hg convert source source-hg initializing destination source-hg repository scanning source... sorting... converting... 2 Initial add 1 Empty directory added 0 Added file into directory $ manifest source-hg 1 % manifest of 1 644 a $ manifest source-hg tip % manifest of tip 644 a 644 empty/something $ cd .. directory renames $ mkdir test-dir-rename $ cd test-dir-rename $ bzr init -q source $ cd source $ mkdir tpyo $ echo content > tpyo/something $ bzr add -q tpyo $ bzr commit -q -m 'Added directory' $ bzr mv tpyo typo tpyo => typo $ bzr commit -q -m 'Oops, typo' $ cd .. $ hg convert source source-hg initializing destination source-hg repository scanning source... sorting... converting... 1 Added directory 0 Oops, typo $ manifest source-hg 0 % manifest of 0 644 tpyo/something $ manifest source-hg tip % manifest of tip 644 typo/something $ cd .. nested directory renames $ mkdir test-nested-dir-rename $ cd test-nested-dir-rename $ bzr init -q source $ cd source $ mkdir -p firstlevel/secondlevel/thirdlevel $ echo content > firstlevel/secondlevel/file $ echo this_needs_to_be_there_too > firstlevel/secondlevel/thirdlevel/stuff $ bzr add -q firstlevel $ bzr commit -q -m 'Added nested directories' $ bzr mv firstlevel/secondlevel secondlevel firstlevel/secondlevel => secondlevel $ bzr commit -q -m 'Moved secondlevel one level up' $ cd .. $ hg convert source source-hg initializing destination source-hg repository scanning source... sorting... converting... 1 Added nested directories 0 Moved secondlevel one level up $ manifest source-hg tip % manifest of tip 644 secondlevel/file 644 secondlevel/thirdlevel/stuff $ cd .. directory remove $ mkdir test-dir-remove $ cd test-dir-remove $ bzr init -q source $ cd source $ mkdir src $ echo content > src/sourcecode $ bzr add -q src $ bzr commit -q -m 'Added directory' $ bzr rm -q src $ bzr commit -q -m 'Removed directory' $ cd .. $ hg convert source source-hg initializing destination source-hg repository scanning source... sorting... converting... 1 Added directory 0 Removed directory $ manifest source-hg 0 % manifest of 0 644 src/sourcecode $ manifest source-hg tip % manifest of tip $ cd .. directory replace $ mkdir test-dir-replace $ cd test-dir-replace $ bzr init -q source $ cd source $ mkdir first second $ echo content > first/file $ echo morecontent > first/dummy $ echo othercontent > second/something $ bzr add -q first second $ bzr commit -q -m 'Initial layout' $ bzr mv first/file second/file first/file => second/file $ bzr mv first third first => third $ bzr commit -q -m 'Some conflicting moves' $ cd .. $ hg convert source source-hg initializing destination source-hg repository scanning source... sorting... converting... 1 Initial layout 0 Some conflicting moves $ manifest source-hg tip % manifest of tip 644 second/file 644 second/something 644 third/dummy $ cd .. divergent nested renames (issue3089) $ mkdir test-divergent-renames $ cd test-divergent-renames $ bzr init -q source $ cd source $ mkdir -p a/c $ echo a > a/fa $ echo c > a/c/fc $ bzr add -q a $ bzr commit -q -m 'Initial layout' $ bzr mv a b a => b $ mkdir a $ bzr add a add(ed|ing) a (re) $ bzr mv b/c a/c b/c => a/c $ bzr status added: a/ renamed: a/? => b/? (re) a/c/? => a/c/? (re) $ bzr commit -q -m 'Divergent renames' $ cd .. $ hg convert source source-hg initializing destination source-hg repository scanning source... sorting... converting... 1 Initial layout 0 Divergent renames $ hg -R source-hg st -C --change 1 A b/fa a/fa R a/fa $ hg -R source-hg manifest -r 1 a/c/fc b/fa $ cd ..