view tests/test-update-issue1456.t @ 44450:7d5455b988ec stable

discovery: avoid wrong detection of multiple branch heads (issue6256) This fix the code using obsolescence markers to remove "to be obsoleted" heads during the detection of new head creation from push. The code turned out to not use the branch information at all. This lead changeset from different branch to be detected as new head on unrelated branch. The code fix is actually quite simple. New tests have been added to covers these cases. Differential Revision: https://phab.mercurial-scm.org/D8259
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 06 Mar 2020 23:27:28 +0100
parents 7a9cbb315d84
children 527ce85c2e60
line wrap: on
line source

#require execbit

  $ rm -rf a
  $ hg init a
  $ cd a

  $ echo foo > foo
  $ hg ci -qAm0
  $ echo toremove > toremove
  $ echo todelete > todelete
  $ chmod +x foo toremove todelete
  $ hg ci -qAm1

Test that local removed/deleted, remote removed works with flags
  $ hg rm toremove
  $ rm todelete
  $ hg co -q 0

  $ echo dirty > foo
  $ hg up -c
  abort: uncommitted changes
  [255]
  $ hg up -q
  $ cat foo
  dirty
  $ hg st -A
  M foo
  C todelete
  C toremove

Validate update of standalone execute bit change:

  $ hg up -C 0
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
  $ chmod -x foo
  $ hg ci -m removeexec
  nothing changed
  [1]
  $ hg up -C 0
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg up
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg st

  $ cd ..