diff tests/test-topic.t @ 1885:d49f75eab6a3

topic: take topic in account for all branch head computation This changeset introduce a "topicmap" that is tracking not just the head of all branches, but the heads of all branch+topic pair. Including the head of the part of the branch without any topic. In practice this means that BRANCHNAME now resolve to the tipmost part for the branch without topic and impact various other logic like head checking during push and default destination for update and merge (these aspect will need adjustment in later changesets). The on-the-fly-temporary-monkey-patching process is pretty horrible, but allow to move forward without waiting on having core patched. We use 'branch:topic' as the branchmap key, this is a small and easy hack that help use a lot for (future) support of heads discovery/checking and on disc cache. I'm not sure it is worthwhile to improve this until an implementation into core. Note that this changeset change the branchmap in all cases, including during exchange, see next changeset for improved behavior. We also currently have the on-disk cache disabled because the core branchmap is lacking phase information in its cache key. This will get done in a later changesets
author Pierre-Yves David <pierre-yves.david@fb.com>
date Sat, 12 Mar 2016 15:36:17 +0000
parents ec28b6c3414a
children c8e4c6e03957
line wrap: on
line diff
--- a/tests/test-topic.t	Mon Mar 14 20:18:09 2016 -0400
+++ b/tests/test-topic.t	Sat Mar 12 15:36:17 2016 +0000
@@ -75,7 +75,6 @@
      narf
   $ echo >> fran work >> beta
   $ hg ci -m 'start on fran'
-  created new head
   $ hg co narf
   switching to topic narf
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -86,6 +85,7 @@
   narf
   $ echo 'narf!!!' >> alpha
   $ hg ci -m 'narf!'
+  created new head
   $ hg log -G
   @  changeset:   6:7c34953036d6
   |  tag:         tip
@@ -287,6 +287,7 @@
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo answer >> alpha
   $ hg ci -m 'Narf is like `zort` or `poit`!'
+  created new head
   $ hg merge narf
   merging alpha
   warning: conflicts while merging alpha! (edit, then use 'hg resolve --mark')
@@ -298,12 +299,16 @@
   (no more unresolved files)
   $ hg topic narf
   $ hg ci -m 'Finish narf'
+  created new head
   $ hg topics
      fran
    * narf
      query
-  $ hg debugnamecomplete
+  $ hg debugnamecomplete # branch:topic here is a buggy side effect
   default
+  default:fran
+  default:narf
+  default:query
   fran
   narf
   query
@@ -381,7 +386,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  (run 'hg heads' to see heads, 'hg merge' to merge)
+  (run 'hg heads' to see heads)
   $ hg topics
      fran
    * query
@@ -513,6 +518,7 @@
   $ hg topics --clear
   $ echo fran? >> beta
   $ hg ci -m 'fran?'
+  created new head
   $ hg log -Gr 'draft()'
   @  changeset:   10:4073470c35e1
   |  tag:         tip