D3983: sparse: add test showing `hg merge` is broken while using sparse extension
This revision was automatically updated to reflect the committed changes. Closed by commit rHG91c405f84cf7: sparse: add test showing `hg merge` is broken while using sparse extension (authored by pulkit, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D3983?vs=9667=9674 REVISION DETAIL https://phab.mercurial-scm.org/D3983 AFFECTED FILES tests/test-sparse-merges.t CHANGE DETAILS diff --git a/tests/test-sparse-merges.t b/tests/test-sparse-merges.t --- a/tests/test-sparse-merges.t +++ b/tests/test-sparse-merges.t @@ -60,3 +60,57 @@ temporarily included 2 file(s) in the sparse checkout for merging 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) + + $ cd .. + +Tests merging a file which is modified in one branch and deleted in another and +file is excluded from sparse checkout + + $ hg init ytest + $ cd ytest + $ echo "syntax: glob" >> .hgignore + $ echo "*.orig" >> .hgignore + $ hg ci -Aqm "added .hgignore" + $ for ch in a d; do echo foo > $ch; hg ci -Aqm "added "$ch; done; + $ cat >> .hg/hgrc < [alias] + > glog = log -GT "{rev}:{node|short} {desc}" + > [extensions] + > sparse = + > EOF + + $ hg glog + @ 2:f29feff37cfc added d + | + o 1:617125d27d6b added a + | + o 0:53f3774ed939 added .hgignore + + $ hg rm d + $ hg ci -m "removed d" + + $ hg up '.^' + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg debugsparse --reset + $ echo bar >> d + $ hg ci -Am "added bar to d" + created new head + + $ hg glog + @ 4:6527874a90e4 added bar to d + | + | o 3:372c8558de45 removed d + |/ + o 2:f29feff37cfc added d + | + o 1:617125d27d6b added a + | + o 0:53f3774ed939 added .hgignore + + $ hg debugsparse --exclude "d" + $ ls + a + + $ hg merge + abort: $ENOENT$: '$TESTTMP/ytest/d' + [255] To: pulkit, #hg-reviewers Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D3983: sparse: add test showing `hg merge` is broken while using sparse extension
pulkit added a comment. I feel like these two patches are appropriate for stable because this is a bugfix, so I propose them for stable. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D3983 To: pulkit, #hg-reviewers Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D3983: sparse: add test showing `hg merge` is broken while using sparse extension
pulkit created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This patch adds a test to demonstrate that `hg merge` is broken in some cases while using sparse extension. The case is when you have a file which is: - modified between current wdir parent and merge base - deleted between merge base and merge destination - excluded from sparse checkout Doing `hg merge` results in file not found error. Next patch will fix this. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D3983 AFFECTED FILES tests/test-sparse-merges.t CHANGE DETAILS diff --git a/tests/test-sparse-merges.t b/tests/test-sparse-merges.t --- a/tests/test-sparse-merges.t +++ b/tests/test-sparse-merges.t @@ -60,3 +60,57 @@ temporarily included 2 file(s) in the sparse checkout for merging 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) + + $ cd .. + +Tests merging a file which is modified in one branch and deleted in another and +file is excluded from sparse checkout + + $ hg init ytest + $ cd ytest + $ echo "syntax: glob" >> .hgignore + $ echo "*.orig" >> .hgignore + $ hg ci -Aqm "added .hgignore" + $ for ch in a d; do echo foo > $ch; hg ci -Aqm "added "$ch; done; + $ cat >> .hg/hgrc < [alias] + > glog = log -GT "{rev}:{node|short} {desc}" + > [extensions] + > sparse = + > EOF + + $ hg glog + @ 2:f29feff37cfc added d + | + o 1:617125d27d6b added a + | + o 0:53f3774ed939 added .hgignore + + $ hg rm d + $ hg ci -m "removed d" + + $ hg up '.^' + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg debugsparse --reset + $ echo bar >> d + $ hg ci -Am "added bar to d" + created new head + + $ hg glog + @ 4:6527874a90e4 added bar to d + | + | o 3:372c8558de45 removed d + |/ + o 2:f29feff37cfc added d + | + o 1:617125d27d6b added a + | + o 0:53f3774ed939 added .hgignore + + $ hg debugsparse --exclude "d" + $ ls + a + + $ hg merge + abort: $ENOENT$: '$TESTTMP/ytest/d' + [255] To: pulkit, #hg-reviewers Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel