Mercurial > hg
view tests/test-convert-filemap @ 7329:fd4bf5269733
Do not abort with inotify extension enabled, but not supported by the system.
And remove the "native support is required" message which is generated at an
inappropriate location and is printed more than once when using 'hg status'.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 07 Nov 2008 13:02:04 +0100 |
parents | 7239e06e58e9 |
children | 5b7da468531b |
line wrap: on
line source
#!/bin/sh HGMERGE=true; export HGMERGE echo '[extensions]' >> $HGRCPATH echo 'hgext.graphlog =' >> $HGRCPATH echo 'hgext.convert =' >> $HGRCPATH glog() { hg glog --template '#rev# "#desc#" files: #files#\n' "$@" } hg init source cd source echo foo > foo echo baz > baz mkdir dir echo dir/file >> dir/file echo dir/file2 >> dir/file2 hg ci -d '0 0' -qAm '0: add foo baz dir/' echo bar > bar echo quux > quux hg copy foo copied hg ci -d '1 0' -qAm '1: add bar quux; copy foo to copied' echo >> foo hg ci -d '2 0' -m '2: change foo' hg up -qC 1 echo >> bar echo >> quux hg ci -d '3 0' -m '3: change bar quux' hg up -qC 2 hg merge -qr 3 echo >> bar echo >> baz hg ci -d '4 0' -m '4: first merge; change bar baz' echo >> bar echo 1 >> baz echo >> quux hg ci -d '5 0' -m '5: change bar baz quux' hg up -qC 4 echo >> foo echo 2 >> baz hg ci -d '6 0' -m '6: change foo baz' hg up -qC 5 hg merge -qr 6 echo >> bar hg ci -d '7 0' -m '7: second merge; change bar' echo >> foo hg ci -m '8: change foo' glog echo '% final file versions in this repo:' hg manifest --debug hg debugrename copied echo cd .. splitrepo() { msg="$1" files="$2" opts=$3 echo "% $files: $msg" prefix=`echo "$files" | sed -e 's/ /-/g'` fmap="$prefix.fmap" repo="$prefix.repo" for i in $files; do echo "include $i" >> "$fmap" done hg -q convert $opts --filemap "$fmap" --datesort source "$repo" hg up -q -R "$repo" glog -R "$repo" hg -R "$repo" manifest --debug } splitrepo 'skip unwanted merges; use 1st parent in 1st merge, 2nd in 2nd' foo splitrepo 'merges are not merges anymore' bar splitrepo '1st merge is not a merge anymore; 2nd still is' baz splitrepo 'we add additional merges when they are interesting' 'foo quux' splitrepo 'partial conversion' 'bar quux' '-r 3' splitrepo 'complete the partial conversion' 'bar quux' rm -r foo.repo splitrepo 'partial conversion' 'foo' '-r 3' splitrepo 'complete the partial conversion' 'foo' splitrepo 'copied file; source not included in new repo' copied hg --cwd copied.repo debugrename copied splitrepo 'copied file; source included in new repo' 'foo copied' hg --cwd foo-copied.repo debugrename copied cat > renames.fmap <<EOF include dir exclude dir/file2 rename dir dir2 include foo include copied rename foo foo2 rename copied copied2 EOF hg -q convert --filemap renames.fmap --datesort source renames.repo hg up -q -R renames.repo glog -R renames.repo hg -R renames.repo manifest --debug hg --cwd renames.repo debugrename copied2 echo 'copied:' hg --cwd source cat copied echo 'copied2:' hg --cwd renames.repo cat copied2