tests/test-merge8.t
author Patrick Mezard <patrick@mezard.eu>
Sun, 26 Feb 2012 17:12:15 +0100
changeset 16186 af3e67354beb
parent 11981 518b90d66fad
child 16913 f2719b387380
permissions -rw-r--r--
graphlog: apply file filters --patch/--stat output When passing --patch/--stat, file filters have to be applied to generate the correct diff or stat output: - Without --follow, the static match object can be reused - With --follow, the files displayed at revision X are the ancestors of selected files at parent revision. To do this, we reproduce the ancestry calculations done by --follow, lazily. test-glog.t changes show that --patch output is not satisfying because renames are reported as copies. This can probably be fixed by: - Without --follow: compute files to display, look for renames sources and extend the matcher to include them. - With --follow: detect .path() transitions between parent/child filectx, filter them using the linked changectx .removed() field and extend fcache with them.

Test for changeset ba7c74081861
(update dirstate correctly for non-branchmerge updates)
  $ hg init a
  $ cd a
  $ echo a > a
  $ hg add a
  $ hg commit -m a
  $ cd ..
  $ hg clone a b
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd a
  $ hg mv a b
  $ hg commit -m move
  $ echo b >> b
  $ hg commit -m b
  $ cd ../b
  $ hg pull ../a
  pulling from ../a
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 2 changesets with 2 changes to 1 files
  (run 'hg update' to get a working copy)
  $ hg update
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved