Mercurial > hg-stable
view tests/test-identify.t @ 28385:3f9e25a42e69
destutil: choose non-closed branch head at first (BC)
Before this patch, destupdate() returns the tipmost (descendant)
branch head regardless of closed or not. But updating to closed branch
head isn't reasonable for ordinary workflow, because:
- "hg heads" doesn't show closed heads (= updated parent itself) by
default
- subsequent committing on it re-opens closed branch
even if inactivation of closed head is needed, update destination
isn't it, because it should be merged into to another branch in
such case.
This patch chooses non-closed descendant branch head as default update
destination at first. If all descendant branch heads are closed,
destupdate() returns the tipmost closed branch head.
For simplicity, this patch chooses adding _destupdatebranchfallback()
instead largely changing _destupdatebranch().
This patch changes not only normal lookup code path, but also the "no
default branch" code path, for consistency.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Mon, 07 Mar 2016 03:14:19 +0900 |
parents | 4b0fc75f9403 |
children | 15a79ac823e8 |
line wrap: on
line source
#require serve #if no-outer-repo no repo $ hg id abort: there is no Mercurial repository here (.hg not found) [255] #endif create repo $ hg init test $ cd test $ echo a > a $ hg ci -Ama adding a basic id usage $ hg id cb9a9f314b8b tip $ hg id --debug cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b tip $ hg id -q cb9a9f314b8b $ hg id -v cb9a9f314b8b tip with options $ hg id -r. cb9a9f314b8b tip $ hg id -n 0 $ hg id -t tip $ hg id -b default $ hg id -i cb9a9f314b8b $ hg id -n -t -b -i cb9a9f314b8b 0 default tip with modifications $ echo b > a $ hg id -n -t -b -i cb9a9f314b8b+ 0+ default tip other local repo $ cd .. $ hg -R test id cb9a9f314b8b+ tip #if no-outer-repo $ hg id test cb9a9f314b8b+ tip #endif with remote http repo $ cd test $ hg serve -p $HGPORT1 -d --pid-file=hg.pid $ cat hg.pid >> $DAEMON_PIDS $ hg id http://localhost:$HGPORT1/ cb9a9f314b8b remote with rev number? $ hg id -n http://localhost:$HGPORT1/ abort: can't query remote revision number, branch, or tags [255] remote with tags? $ hg id -t http://localhost:$HGPORT1/ abort: can't query remote revision number, branch, or tags [255] remote with branch? $ hg id -b http://localhost:$HGPORT1/ abort: can't query remote revision number, branch, or tags [255] test bookmark support $ hg bookmark Y $ hg bookmark Z $ hg bookmarks Y 0:cb9a9f314b8b * Z 0:cb9a9f314b8b $ hg id cb9a9f314b8b+ tip Y/Z $ hg id --bookmarks Y Z test remote identify with bookmarks $ hg id http://localhost:$HGPORT1/ cb9a9f314b8b Y/Z $ hg id --bookmarks http://localhost:$HGPORT1/ Y Z $ hg id -r . http://localhost:$HGPORT1/ cb9a9f314b8b Y/Z $ hg id --bookmarks -r . http://localhost:$HGPORT1/ Y Z test invalid lookup $ hg id -r noNoNO http://localhost:$HGPORT1/ abort: unknown revision 'noNoNO'! [255] Make sure we do not obscure unknown requires file entries (issue2649) $ echo fake >> .hg/requires $ hg id abort: repository requires features unknown to this Mercurial: fake! (see https://mercurial-scm.org/wiki/MissingRequirement for more information) [255] $ cd .. #if no-outer-repo $ hg id test abort: repository requires features unknown to this Mercurial: fake! (see https://mercurial-scm.org/wiki/MissingRequirement for more information) [255] #endif