##// END OF EJS Templates
shelve: add a shelve extension to save/restore working changes...
shelve: add a shelve extension to save/restore working changes This extension saves shelved changes using a temporary draft commit, and bundles the temporary commit and its draft ancestors, then strips them. This strategy makes it possible to use Mercurial's bundle and merge machinery to resolve conflicts if necessary when unshelving, even when the destination commit or its ancestors have been amended, squashed, or evolved. (Once a change has been unshelved, its associated unbundled commits are either rolled back or stripped.) Storing the shelved change as a bundle also avoids the difficulty that hidden commits would cause, of making it impossible to amend the parent if it is a draft commits (a common scenario). Although this extension shares its name and some functionality with the third party hgshelve extension, it has little else in common. Notably, the hgshelve extension shelves changes as unified diffs, which makes conflict resolution a matter of finding .rej files and conflict markers, and cleaning up the mess by hand. We do not yet allow hunk-level choosing of changes to record. Compared to the hgshelve extension, this is a small regression in usability, but we hope to integrate that at a later point, once the record machinery becomes more reusable and robust.

File last commit:

r18382:f3b21beb default
r19854:49d4919d default
Show More
test-fncache.t
180 lines | 5.6 KiB | text/troff | Tads3Lexer
Adrian Buehlmann
tests: unify test-fncache
r11865 Init repo1:
$ hg init repo1
$ cd repo1
$ echo "some text" > a
$ hg add
adding a
$ hg ci -m first
Adrian Buehlmann
tests: sort fncache
r13389 $ cat .hg/store/fncache | sort
Adrian Buehlmann
tests: unify test-fncache
r11865 data/a.i
Testing a.i/b:
$ mkdir a.i
$ echo "some other text" > a.i/b
$ hg add
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 adding a.i/b (glob)
Adrian Buehlmann
tests: unify test-fncache
r11865 $ hg ci -m second
Adrian Buehlmann
tests: sort fncache
r13389 $ cat .hg/store/fncache | sort
Adrian Buehlmann
tests: unify test-fncache
r11865 data/a.i
data/a.i.hg/b.i
Testing a.i.hg/c:
$ mkdir a.i.hg
$ echo "yet another text" > a.i.hg/c
$ hg add
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 adding a.i.hg/c (glob)
Adrian Buehlmann
tests: unify test-fncache
r11865 $ hg ci -m third
Adrian Buehlmann
tests: sort fncache
r13389 $ cat .hg/store/fncache | sort
Adrian Buehlmann
tests: unify test-fncache
r11865 data/a.i
Adrian Buehlmann
tests: sort fncache
r13389 data/a.i.hg.hg/c.i
Adrian Buehlmann
tests: unify test-fncache
r11865 data/a.i.hg/b.i
Testing verify:
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 3 changesets, 3 total revisions
$ rm .hg/store/fncache
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
data/a.i@0: missing revlog!
data/a.i.hg/c.i@2: missing revlog!
data/a.i/b.i@1: missing revlog!
3 files, 3 changesets, 3 total revisions
3 integrity errors encountered!
(first damaged changeset appears to be 0)
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Adrian Buehlmann
tests: unify test-fncache
r11865 $ cd ..
Non store repo:
$ hg --config format.usestore=False init foo
$ cd foo
$ mkdir tst.d
$ echo foo > tst.d/foo
$ hg ci -Amfoo
adding tst.d/foo
$ find .hg | sort
.hg
.hg/00changelog.i
.hg/00manifest.i
Mads Kiilerich
localrepo: update branchcache in a more reliable way...
r15886 .hg/cache
Kevin Bullock
filtering: rename filters to their antonyms...
r18382 .hg/cache/branchheads-served
Adrian Buehlmann
tests: unify test-fncache
r11865 .hg/data
.hg/data/tst.d.hg
.hg/data/tst.d.hg/foo.i
.hg/dirstate
.hg/last-message.txt
Pierre-Yves David
phases: set new commit in 1-phase
r15483 .hg/phaseroots
Adrian Buehlmann
tests: unify test-fncache
r11865 .hg/requires
.hg/undo
Alexander Solovyov
fix bookmarks rollback behavior...
r14266 .hg/undo.bookmarks
Adrian Buehlmann
tests: unify test-fncache
r11865 .hg/undo.branch
.hg/undo.desc
.hg/undo.dirstate
Pierre-Yves David
phases: add rollback support
r15455 .hg/undo.phaseroots
Adrian Buehlmann
tests: unify test-fncache
r11865 $ cd ..
Non fncache repo:
$ hg --config format.usefncache=False init bar
$ cd bar
$ mkdir tst.d
$ echo foo > tst.d/Foo
$ hg ci -Amfoo
adding tst.d/Foo
$ find .hg | sort
.hg
.hg/00changelog.i
Mads Kiilerich
localrepo: update branchcache in a more reliable way...
r15886 .hg/cache
Kevin Bullock
filtering: rename filters to their antonyms...
r18382 .hg/cache/branchheads-served
Adrian Buehlmann
tests: unify test-fncache
r11865 .hg/dirstate
.hg/last-message.txt
.hg/requires
.hg/store
.hg/store/00changelog.i
.hg/store/00manifest.i
.hg/store/data
.hg/store/data/tst.d.hg
.hg/store/data/tst.d.hg/_foo.i
Pierre-Yves David
phases: set new commit in 1-phase
r15483 .hg/store/phaseroots
Adrian Buehlmann
tests: unify test-fncache
r11865 .hg/store/undo
Pierre-Yves David
phases: add rollback support
r15455 .hg/store/undo.phaseroots
Alexander Solovyov
fix bookmarks rollback behavior...
r14266 .hg/undo.bookmarks
Adrian Buehlmann
tests: unify test-fncache
r11865 .hg/undo.branch
.hg/undo.desc
.hg/undo.dirstate
$ cd ..
Adrian Buehlmann
test-fncache: test reserved / long paths...
r17710 Encoding of reserved / long paths in the store
$ hg init r2
$ cd r2
$ cat <<EOF > .hg/hgrc
> [ui]
> portablefilenames = ignore
> EOF
Adrian Buehlmann
test-fncache: enable for Windows...
r17748 $ hg import -q --bypass - <<EOF
> # HG changeset patch
> # User test
> # Date 0 0
> # Node ID 1c7a2f7cb77be1a0def34e4c7cabc562ad98fbd7
> # Parent 0000000000000000000000000000000000000000
> 1
>
> diff --git a/12345678/12345678/12345678/12345678/12345678/12345678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWXYZ-abcdefghjiklmnopqrstuvwxyz b/12345678/12345678/12345678/12345678/12345678/12345678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWXYZ-abcdefghjiklmnopqrstuvwxyz
> new file mode 100644
> --- /dev/null
> +++ b/12345678/12345678/12345678/12345678/12345678/12345678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWXYZ-abcdefghjiklmnopqrstuvwxyz
> @@ -0,0 +1,1 @@
> +foo
> diff --git a/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/TENTH/ELEVENTH/LOREMIPSUM.TXT b/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/TENTH/ELEVENTH/LOREMIPSUM.TXT
> new file mode 100644
> --- /dev/null
> +++ b/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/TENTH/ELEVENTH/LOREMIPSUM.TXT
> @@ -0,0 +1,1 @@
> +foo
> diff --git a/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt b/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt
> new file mode 100644
> --- /dev/null
> +++ b/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt
> @@ -0,0 +1,1 @@
> +foo
> diff --git a/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c b/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c
> new file mode 100644
> --- /dev/null
> +++ b/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c
> @@ -0,0 +1,1 @@
> +foo
> diff --git a/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider b/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider
> new file mode 100644
> --- /dev/null
> +++ b/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider
> @@ -0,0 +1,1 @@
> +foo
> EOF
Adrian Buehlmann
test-fncache: test reserved / long paths...
r17710 $ find .hg/store -name *.i | sort
.hg/store/00changelog.i
.hg/store/00manifest.i
.hg/store/data/bla.aux/pr~6e/_p_r_n/lpt/co~6d3/nu~6c/coma/foo._n_u_l/normal.c.i
.hg/store/dh/12345678/12345678/12345678/12345678/12345678/12345678/12345678/12345/xxxxxx168e07b38e65eff86ab579afaaa8e30bfbe0f35f.i
.hg/store/dh/au~78/second/x.prn/fourth/fi~3afth/sixth/seventh/eighth/nineth/tenth/loremia20419e358ddff1bf8751e38288aff1d7c32ec05.i
.hg/store/dh/enterpri/openesba/contrib-/corba-bc/netbeans/wsdlexte/src/main/java/org.net7018f27961fdf338a598a40c4683429e7ffb9743.i
.hg/store/dh/project_/resource/anotherl/followed/andanoth/andthenanextremelylongfilename0d8e1f4187c650e2f1fdca9fd90f786bc0976b6b.i
$ cd ..