sapling/tests/test-sparse-merges.t
Jun Wu ca843d3676 test-sparse-merges: rewrite part related to named branch
Summary:
The test was relying on the ability to merge a "fast-forward" commit, it's no
longer possible without named branches. So the DAG was changed from two linear
commits to "Y"-ish 3 commits.

This makes the test future-proof.

Differential Revision: D13954460

fbshipit-source-id: 944747404843e985f06d18fe0618843dca64630f
2019-02-08 14:40:27 -08:00

67 lines
1.6 KiB
Perl

test merging things outside of the sparse checkout
$ hg init myrepo
$ cd myrepo
$ cat > .hg/hgrc <<EOF
> [extensions]
> sparse=
> EOF
$ echo foo > foo
$ hg commit -m initial -A foo
$ hg bookmark -ir. initial
$ echo bar > bar
$ hg commit -m 'feature - bar1' -A bar
$ hg bookmark -ir. feature1
$ hg update --inactive -q initial
$ echo bar2 > bar
$ hg commit -m 'feature - bar2' -A bar
$ hg bookmark -ir. feature2
$ hg update --inactive -q feature1
$ hg sparse --exclude 'bar**'
$ hg merge feature2 --tool :merge-other
temporarily included 1 file(s) in the sparse checkout for merging
merging bar
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Verify bar was merged temporarily
$ ls
bar
foo
$ hg status
M bar
Verify bar disappears automatically when the working copy becomes clean
$ hg commit -m "merged"
cleaned up 1 temporarily added file(s) from the sparse checkout
$ hg bookmark -ir. merged
$ hg status
$ ls
foo
$ hg cat -r . bar
bar2
Test merging things outside of the sparse checkout that are not in the working
copy
$ hg strip -q -r . --config extensions.strip=
$ hg up --inactive -q feature2
$ touch branchonly
$ hg ci -Aqm 'add branchonly'
$ hg up --inactive -q feature1
$ hg sparse -X branchonly
$ hg merge feature2 --tool :merge-other
temporarily included 1 file(s) in the sparse checkout for merging
merging bar
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)