Mercurial > hg
view tests/test-merge5.t @ 18940:798bdb7f1517
subrepo: do not push mercurial subrepos whose store is clean
This patch stops mercurial from pushing unmodified subrepos. An unmodified
subrepo is one whose store is "clean" versus a given target subrepo.
Note that subrepos may have a clean store versus a target repo but not versus another. This patch handles this scenario by individually keeping track of the state of the store versus all push targets.
Tests will be added on the following revision.
author | Angel Ezquerra <angel.ezquerra@gmail.com> |
---|---|
date | Sat, 16 Feb 2013 01:21:40 +0100 |
parents | 6da47b655d97 |
children | 76df01e56e7f |
line wrap: on
line source
$ hg init $ echo This is file a1 > a $ echo This is file b1 > b $ hg add a b $ hg commit -m "commit #0" $ echo This is file b22 > b $ hg commit -m "comment #1" $ hg update 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ rm b $ hg commit -A -m "comment #2" removing b created new head $ hg update 1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg update abort: crosses branches (merge branches or update --check to force update) [255] $ rm b $ hg update -c abort: uncommitted local changes [255] $ hg revert b $ hg update -c 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mv a c In theory, we shouldn't need the "-y" below, but it prevents this test from hanging when "hg update" erroneously prompts the user for "keep or delete". Should abort: $ hg update -y 1 abort: crosses branches (merge branches or use --clean to discard changes) [255] $ mv c a Should succeed: $ hg update -y 1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved