Patchwork D3983: sparse: add test showing `hg merge` is broken while using sparse extension

login
register
mail settings
Submitter phabricator
Date July 31, 2018, 1:21 p.m.
Message ID <08fb5f23a9f198a516920eb7fcb8d59a@localhost.localdomain>
Download mbox | patch
Permalink /patch/32980/
State Not Applicable
Headers show

Comments

phabricator - July 31, 2018, 1:21 p.m.
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&id=9674

REVISION DETAIL
  https://phab.mercurial-scm.org/D3983

AFFECTED FILES
  tests/test-sparse-merges.t

CHANGE DETAILS




To: pulkit, #hg-reviewers
Cc: mercurial-devel

Patch

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 <<EOF
+  > [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]