Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 257531 Details for
Bug 348499
Stabilize =dev-vcs/mercurial-1.7
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
tests failure on SPARC
build.log (text/plain), 317.98 KB, created by
Alex Buell
on 2010-12-19 10:05:43 UTC
(
hide
)
Description:
tests failure on SPARC
Filename:
MIME Type:
Creator:
Alex Buell
Created:
2010-12-19 10:05:43 UTC
Size:
317.98 KB
patch
obsolete
>[32;01m * [39;49;00mPackage: dev-vcs/mercurial-1.7 >[32;01m * [39;49;00mRepository: gentoo >[32;01m * [39;49;00mMaintainer: nelchael@gentoo.org djc@gentoo.org >[32;01m * [39;49;00mUSE: elibc_glibc kernel_linux multilib sparc test userland_GNU > [33;01m*[0m When migrating to the new sparc mutlilib profile please keep in mind that it > [33;01m*[0m is still in an experimental state. Also note that you need to follow the > [33;01m*[0m migration guide [0], otherwise important packages such as gcc or glibc will > [33;01m*[0m fail to compile and most other packages will be installed incorrectly. > [33;01m*[0m > [33;01m*[0m [0] http://sparc.gentoo.org/multilib.xml > >>>> Unpacking source... >>>> Unpacking mercurial-1.7.tar.gz to /var/tmp/portage/dev-vcs/mercurial-1.7/work >>>> Source unpacked in /var/tmp/portage/dev-vcs/mercurial-1.7/work >>>> Preparing source in /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7 ... >>>> Source prepared. >>>> Configuring source in /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7 ... >>>> Source configured. >>>> Compiling source in /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7 ... > * Building of dev-vcs/mercurial-1.7 with CPython 2.6... >python2.6 setup.py build -b build-2.6 >running build >running build_mo >creating mercurial/locale >creating mercurial/locale/da >creating mercurial/locale/da/LC_MESSAGES >generating mercurial/locale/da/LC_MESSAGES/hg.mo from i18n/da.po >msgfmt -v -o mercurial/locale/da/LC_MESSAGES/hg.mo i18n/da.po -c >1855 translated messages, 1164 untranslated messages. >creating mercurial/locale/it >creating mercurial/locale/it/LC_MESSAGES >generating mercurial/locale/it/LC_MESSAGES/hg.mo from i18n/it.po >msgfmt -v -o mercurial/locale/it/LC_MESSAGES/hg.mo i18n/it.po -c >1166 translated messages, 285 fuzzy translations, 1392 untranslated messages. >creating mercurial/locale/zh_TW >creating mercurial/locale/zh_TW/LC_MESSAGES >generating mercurial/locale/zh_TW/LC_MESSAGES/hg.mo from i18n/zh_TW.po >msgfmt -v -o mercurial/locale/zh_TW/LC_MESSAGES/hg.mo i18n/zh_TW.po -c >640 translated messages, 8 fuzzy translations, 2372 untranslated messages. >creating mercurial/locale/ro >creating mercurial/locale/ro/LC_MESSAGES >generating mercurial/locale/ro/LC_MESSAGES/hg.mo from i18n/ro.po >msgfmt -v -o mercurial/locale/ro/LC_MESSAGES/hg.mo i18n/ro.po -c >517 translated messages, 5 fuzzy translations, 2350 untranslated messages. >creating mercurial/locale/el >creating mercurial/locale/el/LC_MESSAGES >generating mercurial/locale/el/LC_MESSAGES/hg.mo from i18n/el.po >msgfmt -v -o mercurial/locale/el/LC_MESSAGES/hg.mo i18n/el.po -c >315 translated messages, 35 fuzzy translations, 1933 untranslated messages. >creating mercurial/locale/pt_BR >creating mercurial/locale/pt_BR/LC_MESSAGES >generating mercurial/locale/pt_BR/LC_MESSAGES/hg.mo from i18n/pt_BR.po >msgfmt -v -o mercurial/locale/pt_BR/LC_MESSAGES/hg.mo i18n/pt_BR.po -c >3026 translated messages. >creating mercurial/locale/sv >creating mercurial/locale/sv/LC_MESSAGES >generating mercurial/locale/sv/LC_MESSAGES/hg.mo from i18n/sv.po >msgfmt -v -o mercurial/locale/sv/LC_MESSAGES/hg.mo i18n/sv.po -c >1188 translated messages, 1832 untranslated messages. >creating mercurial/locale/fr >creating mercurial/locale/fr/LC_MESSAGES >generating mercurial/locale/fr/LC_MESSAGES/hg.mo from i18n/fr.po >msgfmt -v -o mercurial/locale/fr/LC_MESSAGES/hg.mo i18n/fr.po -c >358 translated messages, 104 fuzzy translations, 1775 untranslated messages. >creating mercurial/locale/de >creating mercurial/locale/de/LC_MESSAGES >generating mercurial/locale/de/LC_MESSAGES/hg.mo from i18n/de.po >msgfmt -v -o mercurial/locale/de/LC_MESSAGES/hg.mo i18n/de.po -c >2245 translated messages, 237 fuzzy translations, 417 untranslated messages. >creating mercurial/locale/ja >creating mercurial/locale/ja/LC_MESSAGES >generating mercurial/locale/ja/LC_MESSAGES/hg.mo from i18n/ja.po >msgfmt -v -o mercurial/locale/ja/LC_MESSAGES/hg.mo i18n/ja.po -c >2526 translated messages, 493 untranslated messages. >creating mercurial/locale/zh_CN >creating mercurial/locale/zh_CN/LC_MESSAGES >generating mercurial/locale/zh_CN/LC_MESSAGES/hg.mo from i18n/zh_CN.po >msgfmt -v -o mercurial/locale/zh_CN/LC_MESSAGES/hg.mo i18n/zh_CN.po -c >335 translated messages, 204 fuzzy translations, 1791 untranslated messages. >running build_py >creating build-2.6 >creating build-2.6/lib.linux-sparc64-2.6 >creating build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/byterange.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/bundlerepo.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/keepalive.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/windows.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/templatefilters.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/manifest.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/discovery.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/parser.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/sshrepo.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/dispatch.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/changelog.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/templater.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/lsprof.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/wireproto.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/encoding.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/localrepo.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/hook.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/config.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/simplemerge.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/changegroup.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/match.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/url.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/tags.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/hbisect.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/ignore.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/similar.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/patch.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/verify.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/dagparser.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/extensions.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/mail.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/repair.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/fancyopts.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/mdiff.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/graphmod.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/i18n.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/archival.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/repo.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/pushkey.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/subrepo.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/sshserver.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/win32.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/cmdutil.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/commands.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/strutil.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/store.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/merge.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/filemerge.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/error.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/__version__.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/minirst.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/hg.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/posix.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/transaction.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/demandimport.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/copies.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/revset.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/filelog.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/httprepo.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/ancestor.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/node.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/templatekw.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/lsprofcalltree.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/py3kcompat.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/context.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/lock.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/help.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/statichttprepo.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/dirstate.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/revlog.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/util.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/ui.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >copying mercurial/__init__.py -> build-2.6/lib.linux-sparc64-2.6/mercurial >creating build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/request.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/protocol.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/webutil.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/hgweb_mod.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/server.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/wsgicgi.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/webcommands.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/hgwebdir_mod.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/common.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >copying mercurial/hgweb/__init__.py -> build-2.6/lib.linux-sparc64-2.6/mercurial/hgweb >creating build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/bookmarks.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/children.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/hgk.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/transplant.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/schemes.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/mq.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/hgcia.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/rebase.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/graphlog.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/interhg.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/bugzilla.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/patchbomb.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/eol.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/win32text.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/churn.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/progress.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/win32mbcs.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/pager.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/parentrevspec.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/keyword.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/record.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/notify.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/gpg.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/relink.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/fetch.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/purge.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/acl.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/share.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/extdiff.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/color.py -> build-2.6/lib.linux-sparc64-2.6/hgext >copying hgext/__init__.py -> build-2.6/lib.linux-sparc64-2.6/hgext >creating build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/bzr.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/cvs.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/subversion.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/convcmd.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/p4.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/cvsps.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/transport.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/monotone.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/darcs.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/gnuarch.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/git.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/hg.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/filemap.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/common.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >copying hgext/convert/__init__.py -> build-2.6/lib.linux-sparc64-2.6/hgext/convert >creating build-2.6/lib.linux-sparc64-2.6/hgext/highlight >copying hgext/highlight/highlight.py -> build-2.6/lib.linux-sparc64-2.6/hgext/highlight >copying hgext/highlight/__init__.py -> build-2.6/lib.linux-sparc64-2.6/hgext/highlight >creating build-2.6/lib.linux-sparc64-2.6/hgext/zeroconf >copying hgext/zeroconf/Zeroconf.py -> build-2.6/lib.linux-sparc64-2.6/hgext/zeroconf >copying hgext/zeroconf/__init__.py -> build-2.6/lib.linux-sparc64-2.6/hgext/zeroconf >creating build-2.6/lib.linux-sparc64-2.6/hgext/inotify >copying hgext/inotify/client.py -> build-2.6/lib.linux-sparc64-2.6/hgext/inotify >copying hgext/inotify/server.py -> build-2.6/lib.linux-sparc64-2.6/hgext/inotify >copying hgext/inotify/linuxserver.py -> build-2.6/lib.linux-sparc64-2.6/hgext/inotify >copying hgext/inotify/common.py -> build-2.6/lib.linux-sparc64-2.6/hgext/inotify >copying hgext/inotify/__init__.py -> build-2.6/lib.linux-sparc64-2.6/hgext/inotify >creating build-2.6/lib.linux-sparc64-2.6/hgext/inotify/linux >copying hgext/inotify/linux/watcher.py -> build-2.6/lib.linux-sparc64-2.6/hgext/inotify/linux >copying hgext/inotify/linux/__init__.py -> build-2.6/lib.linux-sparc64-2.6/hgext/inotify/linux >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/da >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/da/LC_MESSAGES >copying mercurial/locale/da/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/da/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/fr >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/fr/LC_MESSAGES >copying mercurial/locale/fr/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/fr/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/ro >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/ro/LC_MESSAGES >copying mercurial/locale/ro/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/ro/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/el >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/el/LC_MESSAGES >copying mercurial/locale/el/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/el/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/pt_BR >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/pt_BR/LC_MESSAGES >copying mercurial/locale/pt_BR/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/pt_BR/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/zh_TW >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/zh_TW/LC_MESSAGES >copying mercurial/locale/zh_TW/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/zh_TW/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/zh_CN >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/zh_CN/LC_MESSAGES >copying mercurial/locale/zh_CN/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/zh_CN/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/it >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/it/LC_MESSAGES >copying mercurial/locale/it/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/it/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/ja >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/ja/LC_MESSAGES >copying mercurial/locale/ja/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/ja/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/de >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/de/LC_MESSAGES >copying mercurial/locale/de/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/de/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/sv >creating build-2.6/lib.linux-sparc64-2.6/mercurial/locale/sv/LC_MESSAGES >copying mercurial/locale/sv/LC_MESSAGES/hg.mo -> build-2.6/lib.linux-sparc64-2.6/mercurial/locale/sv/LC_MESSAGES >creating build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/revsets.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/subrepos.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/glossary.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/merge-tools.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/templates.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/environment.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/hgweb.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/config.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/extensions.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/diffs.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/revisions.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/patterns.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/multirevs.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/urls.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >copying mercurial/help/dates.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/help >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates >copying mercurial/templates/map-cmdline.default -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates >copying mercurial/templates/map-cmdline.xml -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates >copying mercurial/templates/map-cmdline.changelog -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates >copying mercurial/templates/map-cmdline.compact -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates >copying mercurial/templates/template-vars.txt -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >copying mercurial/templates/atom/filelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >copying mercurial/templates/atom/error.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >copying mercurial/templates/atom/changelogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >copying mercurial/templates/atom/tags.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >copying mercurial/templates/atom/map -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >copying mercurial/templates/atom/changelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >copying mercurial/templates/atom/tagentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >copying mercurial/templates/atom/header.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/atom >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/coal-file.png -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/background.png -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/graph.js -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/hglogo.png -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/excanvas.js -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/hgicon.png -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/style.css -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/style-gitweb.css -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/style-monoblue.css -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/style-coal.css -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/style-paper.css -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >copying mercurial/templates/static/coal-folder.png -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/static >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/filelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/error.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/changelogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/shortlog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/tags.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/graph.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/index.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/filediff.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/help.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/summary.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/map -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/branches.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/helptopics.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/fileannotate.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/changeset.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/filerevision.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/manifest.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/footer.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/changelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/search.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/notfound.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >copying mercurial/templates/gitweb/header.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/gitweb >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/filelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/error.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/shortlog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/tags.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/graph.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/index.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/filediff.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/help.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/map -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/branches.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/helptopics.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/shortlogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/fileannotate.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/changeset.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/filerevision.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/manifest.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/footer.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/search.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/notfound.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/filelogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >copying mercurial/templates/paper/header.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/paper >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/coal >copying mercurial/templates/coal/map -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/coal >copying mercurial/templates/coal/header.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/coal >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/filelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/error.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/changelogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/shortlog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/tags.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/graph.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/index.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/filediff.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/help.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/summary.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/map -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/branches.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/helptopics.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/fileannotate.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/changeset.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/filerevision.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/manifest.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/footer.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/changelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/search.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/notfound.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >copying mercurial/templates/monoblue/header.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/monoblue >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/filelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/error.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/changelogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/shortlog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/tags.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/graph.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/index.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/filediff.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/map -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/branches.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/shortlogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/fileannotate.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/changeset.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/filerevision.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/manifest.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/footer.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/changelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/search.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/notfound.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/filelogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >copying mercurial/templates/spartan/header.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/spartan >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/filelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/error.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/changelogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/tags.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/map -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/changelog.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/tagentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/filelogentry.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >copying mercurial/templates/rss/header.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/rss >creating build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >copying mercurial/templates/raw/error.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >copying mercurial/templates/raw/index.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >copying mercurial/templates/raw/filediff.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >copying mercurial/templates/raw/map -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >copying mercurial/templates/raw/fileannotate.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >copying mercurial/templates/raw/changeset.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >copying mercurial/templates/raw/manifest.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >copying mercurial/templates/raw/notfound.tmpl -> build-2.6/lib.linux-sparc64-2.6/mercurial/templates/raw >warning: hgbuildpy: byte-compiling is disabled, skipping. >running build_ext >building 'mercurial.base85' extension >creating build-2.6/temp.linux-sparc64-2.6 >creating build-2.6/temp.linux-sparc64-2.6/mercurial >sparc-unknown-linux-gnu-gcc -pthread -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing -fPIC -I/usr/include/python2.6 -c mercurial/base85.c -o build-2.6/temp.linux-sparc64-2.6/mercurial/base85.o >sparc-unknown-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing build-2.6/temp.linux-sparc64-2.6/mercurial/base85.o -L/usr/lib32 -lpython2.6 -o build-2.6/lib.linux-sparc64-2.6/mercurial/base85.so >building 'mercurial.bdiff' extension >sparc-unknown-linux-gnu-gcc -pthread -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing -fPIC -I/usr/include/python2.6 -c mercurial/bdiff.c -o build-2.6/temp.linux-sparc64-2.6/mercurial/bdiff.o >sparc-unknown-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing build-2.6/temp.linux-sparc64-2.6/mercurial/bdiff.o -L/usr/lib32 -lpython2.6 -o build-2.6/lib.linux-sparc64-2.6/mercurial/bdiff.so >building 'mercurial.diffhelpers' extension >sparc-unknown-linux-gnu-gcc -pthread -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing -fPIC -I/usr/include/python2.6 -c mercurial/diffhelpers.c -o build-2.6/temp.linux-sparc64-2.6/mercurial/diffhelpers.o >sparc-unknown-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing build-2.6/temp.linux-sparc64-2.6/mercurial/diffhelpers.o -L/usr/lib32 -lpython2.6 -o build-2.6/lib.linux-sparc64-2.6/mercurial/diffhelpers.so >building 'mercurial.mpatch' extension >sparc-unknown-linux-gnu-gcc -pthread -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing -fPIC -I/usr/include/python2.6 -c mercurial/mpatch.c -o build-2.6/temp.linux-sparc64-2.6/mercurial/mpatch.o >sparc-unknown-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing build-2.6/temp.linux-sparc64-2.6/mercurial/mpatch.o -L/usr/lib32 -lpython2.6 -o build-2.6/lib.linux-sparc64-2.6/mercurial/mpatch.so >building 'mercurial.parsers' extension >sparc-unknown-linux-gnu-gcc -pthread -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing -fPIC -I/usr/include/python2.6 -c mercurial/parsers.c -o build-2.6/temp.linux-sparc64-2.6/mercurial/parsers.o >sparc-unknown-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing build-2.6/temp.linux-sparc64-2.6/mercurial/parsers.o -L/usr/lib32 -lpython2.6 -o build-2.6/lib.linux-sparc64-2.6/mercurial/parsers.so >building 'mercurial.osutil' extension >sparc-unknown-linux-gnu-gcc -pthread -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing -fPIC -I/usr/include/python2.6 -c mercurial/osutil.c -o build-2.6/temp.linux-sparc64-2.6/mercurial/osutil.o >sparc-unknown-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing build-2.6/temp.linux-sparc64-2.6/mercurial/osutil.o -L/usr/lib32 -lpython2.6 -o build-2.6/lib.linux-sparc64-2.6/mercurial/osutil.so >building 'hgext.inotify.linux._inotify' extension >creating build-2.6/temp.linux-sparc64-2.6/hgext >creating build-2.6/temp.linux-sparc64-2.6/hgext/inotify >creating build-2.6/temp.linux-sparc64-2.6/hgext/inotify/linux >sparc-unknown-linux-gnu-gcc -pthread -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing -fPIC -Imercurial -I/usr/include/python2.6 -c hgext/inotify/linux/_inotify.c -o build-2.6/temp.linux-sparc64-2.6/hgext/inotify/linux/_inotify.o >sparc-unknown-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -O2 -mcpu=ultrasparc -pipe -ggdb -fno-strict-aliasing build-2.6/temp.linux-sparc64-2.6/hgext/inotify/linux/_inotify.o -L/usr/lib32 -lpython2.6 -o build-2.6/lib.linux-sparc64-2.6/hgext/inotify/linux/_inotify.so >running build_scripts >creating build-2.6/scripts-2.6 >copying and adjusting hg -> build-2.6/scripts-2.6 >changing mode of build-2.6/scripts-2.6/hg from 644 to 755 >>>> Source compiled. > * Testing of dev-vcs/mercurial-1.7 with CPython 2.6... >...................... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-bheads.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-bheads.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-bheads.t.err >@@ -1,367 +1,6 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ heads() > > { > > hg heads --template '{rev}: {desc|firstline|strip} ({branches})\n' "$@" > > } >- >- $ hg init a >- $ cd a >- $ echo 'root' >root >- $ hg add root >- $ hg commit -m "Adding root node" >- $ heads >- 0: Adding root node () >-------- >- $ heads . >- 0: Adding root node () >- >-======= >- >- $ echo 'a' >a >- $ hg add a >- $ hg branch a >- marked working directory as branch a >- $ hg commit -m "Adding a branch" >- $ heads >- 1: Adding a branch (a) >- 0: Adding root node () >-------- >- $ heads . >- 1: Adding a branch (a) >- >-======= >- >- $ hg update -C 0 >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo 'b' >b >- $ hg add b >- $ hg branch b >- marked working directory as branch b >- $ hg commit -m "Adding b branch" >- $ heads >- 2: Adding b branch (b) >- 1: Adding a branch (a) >- 0: Adding root node () >-------- >- $ heads . >- 2: Adding b branch (b) >- >-======= >- >- $ echo 'bh1' >bh1 >- $ hg add bh1 >- $ hg commit -m "Adding b branch head 1" >- $ heads >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >-------- >- $ heads . >- 3: Adding b branch head 1 (b) >- >-======= >- >- $ hg update -C 2 >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo 'bh2' >bh2 >- $ hg add bh2 >- $ hg commit -m "Adding b branch head 2" >- created new head >- $ heads >- 4: Adding b branch head 2 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- $ heads . >- 4: Adding b branch head 2 (b) >- 3: Adding b branch head 1 (b) >- >-======= >- >- $ hg update -C 2 >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo 'bh3' >bh3 >- $ hg add bh3 >- $ hg commit -m "Adding b branch head 3" >- created new head >- $ heads >- 5: Adding b branch head 3 (b) >- 4: Adding b branch head 2 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >-------- >- $ heads . >- 5: Adding b branch head 3 (b) >- 4: Adding b branch head 2 (b) >- 3: Adding b branch head 1 (b) >- >-======= >- >- $ hg merge 4 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ hg commit -m "Merging b branch head 2 and b branch head 3" >- $ heads >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >-------- >- $ heads . >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- >-======= >- >- $ echo 'c' >c >- $ hg add c >- $ hg branch c >- marked working directory as branch c >- $ hg commit -m "Adding c branch" >- $ heads >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >-------- >- $ heads . >- 7: Adding c branch (c) >- >-======= >- >- $ heads -r 3 . >- no open branch heads found on branches c (started at 3) >- [1] >- $ heads -r 2 . >- 7: Adding c branch (c) >-------- >- $ hg update -C 4 >- 0 files updated, 0 files merged, 2 files removed, 0 files unresolved >-------- >- $ heads -r 3 . >- 3: Adding b branch head 1 (b) >-------- >- $ heads -r 2 . >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >-------- >- $ heads -r 7 . >- no open branch heads found on branches b (started at 7) >- [1] >- >-======= >- >- $ for i in 0 1 2 3 4 5 6 7; do >- > hg update -C "$i" >- > heads >- > echo '-------' >- > heads . >- > echo '-------' >- > done >- 0 files updated, 0 files merged, 2 files removed, 0 files unresolved >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- ------- >- 0: Adding root node () >- ------- >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- ------- >- 1: Adding a branch (a) >- ------- >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- ------- >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- ------- >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- ------- >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- ------- >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- ------- >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- ------- >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- ------- >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- ------- >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- ------- >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- ------- >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- ------- >- 7: Adding c branch (c) >- ------- >- >-======= >- >- $ for i in a b c z; do >- > heads "$i" >- > echo '-------' >- > done >- 1: Adding a branch (a) >- ------- >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- ------- >- 7: Adding c branch (c) >- ------- >- abort: unknown revision 'z'! >- ------- >- >-======= >- >- $ heads 0 1 2 3 4 5 6 7 >- 7: Adding c branch (c) >- 6: Merging b branch head 2 and b branch head 3 (b) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- 0: Adding root node () >- >-Topological heads: >- >- $ heads -t >- 7: Adding c branch (c) >- 3: Adding b branch head 1 (b) >- 1: Adding a branch (a) >- >- $ cd .. >-______________ >- >-"created new head" message tests >- >- $ hg init newheadmsg >- $ cd newheadmsg >- >-Init: no msg >- >- $ echo 1 > a >- $ hg ci -Am "a0: Initial root" >- adding a >- $ echo 2 >> a >- $ hg ci -m "a1 (HN)" >- >- $ hg branch b >- marked working directory as branch b >- $ echo 1 > b >- $ hg ci -Am "b2: Initial root for branch b" >- adding b >- $ echo 2 >> b >- $ hg ci -m "b3 (HN)" >- >-Case NN: msg >- >- $ hg up -q null >- $ hg branch -f b >- marked working directory as branch b >- $ echo 1 > bb >- $ hg ci -Am "b4 (NN): new topo root for branch b" >- adding bb >- created new head >- >-Case HN: no msg >- >- $ echo 2 >> bb >- $ hg ci -m "b5 (HN)" >- >-Case BN: msg >- >- $ hg branch -f default >- marked working directory as branch default >- $ echo 1 > aa >- $ hg ci -Am "a6 (BN): new branch root" >- adding aa >- created new head >- >-Case CN: msg >- >- $ hg up -q 4 >- $ echo 3 >> bbb >- $ hg ci -Am "b7 (CN): regular new head" >- adding bbb >- created new head >- >-Case BB: msg >- >- $ hg up -q 4 >- $ hg merge -q 3 >- $ hg branch -f default >- marked working directory as branch default >- $ hg ci -m "a8 (BB): weird new branch root" >- created new head >- >-Case CB: msg >- >- $ hg up -q 4 >- $ hg merge -q 1 >- $ hg ci -m "b9 (CB): new head from branch merge" >- created new head >- >-Case HB: no msg >- >- $ hg up -q 7 >- $ hg merge -q 6 >- $ hg ci -m "b10 (HB): continuing head from branch merge" >- >-Case CC: msg >- >- $ hg up -q 4 >- $ hg merge -q 2 >- $ hg ci -m "b11 (CC): new head from merge" >- created new head >- >-Case CH: no msg >- >- $ hg up -q 2 >- $ hg merge -q 10 >- $ hg ci -m "b12 (CH): continuing head from merge" >- >-Case HH: no msg >- >- $ hg merge -q 3 >- $ hg ci -m "b12 (HH): merging two heads" >- >!............ >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-command-template.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-command-template.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-command-template.t.err >@@ -1,1333 +1,3 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ hg init a >- $ cd a >- $ echo a > a >- $ hg add a >- $ echo line 1 > b >- $ echo line 2 >> b >- $ hg commit -l b -d '1000000 0' -u 'User Name <user@hostname>' >- >- $ hg add b >- $ echo other 1 > c >- $ echo other 2 >> c >- $ echo >> c >- $ echo other 3 >> c >- $ hg commit -l c -d '1100000 0' -u 'A. N. Other <other@place>' >- >- $ hg add c >- $ hg commit -m 'no person' -d '1200000 0' -u 'other@place' >- $ echo c >> c >- $ hg commit -m 'no user, no domain' -d '1300000 0' -u 'person' >- >- $ echo foo > .hg/branch >- $ hg commit -m 'new branch' -d '1400000 0' -u 'person' >- >- $ hg co -q 3 >- $ echo other 4 >> d >- $ hg add d >- $ hg commit -m 'new head' -d '1500000 0' -u 'person' >- >- $ hg merge -q foo >- $ hg commit -m 'merge' -d '1500001 0' -u 'person' >- >-Second branch starting at nullrev: >- >- $ hg update null >- 0 files updated, 0 files merged, 4 files removed, 0 files unresolved >- $ echo second > second >- $ hg add second >- $ hg commit -m second -d '1000000 0' -u 'User Name <user@hostname>' >- created new head >- >- $ echo third > third >- $ hg add third >- $ hg mv second fourth >- $ hg commit -m third -d "2020-01-01 10:01" >- >-Make sure user/global hgrc does not affect tests >- >- $ echo '[ui]' > .hg/hgrc >- $ echo 'logtemplate =' >> .hg/hgrc >- $ echo 'style =' >> .hg/hgrc >- >-Default style is like normal output: >- >- $ hg log > log.out >- $ hg log --style default > style.out >- $ cmp log.out style.out || diff -u log.out style.out >- >- $ hg log -v > log.out >- $ hg log -v --style default > style.out >- $ cmp log.out style.out || diff -u log.out style.out >- >- $ hg log --debug > log.out >- $ hg log --debug --style default > style.out >- $ cmp log.out style.out || diff -u log.out style.out >- >-Revision with no copies (used to print a traceback): >- >- $ hg tip -v --template '\n' >- >- >-Compact style works: >- >- $ hg log --style compact >- 8[tip] 95c24699272e 2020-01-01 10:01 +0000 test >- third >- >- 7:-1 29114dbae42b 1970-01-12 13:46 +0000 user >- second >- >- 6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person >- merge >- >- 5:3 13207e5a10d9 1970-01-18 08:40 +0000 person >- new head >- >- 4 32a18f097fcc 1970-01-17 04:53 +0000 person >- new branch >- >- 3 10e46f2dcbf4 1970-01-16 01:06 +0000 person >- no user, no domain >- >- 2 97054abb4ab8 1970-01-14 21:20 +0000 other >- no person >- >- 1 b608e9d1a3f0 1970-01-13 17:33 +0000 other >- other 1 >- >- 0 1e4e1b8f71e0 1970-01-12 13:46 +0000 user >- line 1 >- >- >- $ hg log -v --style compact >- 8[tip] 95c24699272e 2020-01-01 10:01 +0000 test >- third >- >- 7:-1 29114dbae42b 1970-01-12 13:46 +0000 User Name <user@hostname> >- second >- >- 6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person >- merge >- >- 5:3 13207e5a10d9 1970-01-18 08:40 +0000 person >- new head >- >- 4 32a18f097fcc 1970-01-17 04:53 +0000 person >- new branch >- >- 3 10e46f2dcbf4 1970-01-16 01:06 +0000 person >- no user, no domain >- >- 2 97054abb4ab8 1970-01-14 21:20 +0000 other@place >- no person >- >- 1 b608e9d1a3f0 1970-01-13 17:33 +0000 A. N. Other <other@place> >- other 1 >- other 2 >- >- other 3 >- >- 0 1e4e1b8f71e0 1970-01-12 13:46 +0000 User Name <user@hostname> >- line 1 >- line 2 >- >- >- $ hg log --debug --style compact >- 8[tip]:7,-1 95c24699272e 2020-01-01 10:01 +0000 test >- third >- >- 7:-1,-1 29114dbae42b 1970-01-12 13:46 +0000 User Name <user@hostname> >- second >- >- 6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person >- merge >- >- 5:3,-1 13207e5a10d9 1970-01-18 08:40 +0000 person >- new head >- >- 4:3,-1 32a18f097fcc 1970-01-17 04:53 +0000 person >- new branch >- >- 3:2,-1 10e46f2dcbf4 1970-01-16 01:06 +0000 person >- no user, no domain >- >- 2:1,-1 97054abb4ab8 1970-01-14 21:20 +0000 other@place >- no person >- >- 1:0,-1 b608e9d1a3f0 1970-01-13 17:33 +0000 A. N. Other <other@place> >- other 1 >- other 2 >- >- other 3 >- >- 0:-1,-1 1e4e1b8f71e0 1970-01-12 13:46 +0000 User Name <user@hostname> >- line 1 >- line 2 >- >- >-Test xml styles: >- >- $ hg log --style xml >- <?xml version="1.0"?> >- <log> >- <logentry revision="8" node="95c24699272ef57d062b8bccc32c878bf841784a"> >- <tag>tip</tag> >- <author email="test">test</author> >- <date>2020-01-01T10:01:00+00:00</date> >- <msg xml:space="preserve">third</msg> >- </logentry> >- <logentry revision="7" node="29114dbae42b9f078cf2714dbe3a86bba8ec7453"> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="user@hostname">User Name</author> >- <date>1970-01-12T13:46:40+00:00</date> >- <msg xml:space="preserve">second</msg> >- </logentry> >- <logentry revision="6" node="c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f"> >- <parent revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f" /> >- <parent revision="4" node="32a18f097fcccf76ef282f62f8a85b3adf8d13c4" /> >- <author email="person">person</author> >- <date>1970-01-18T08:40:01+00:00</date> >- <msg xml:space="preserve">merge</msg> >- </logentry> >- <logentry revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f"> >- <parent revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47" /> >- <author email="person">person</author> >- <date>1970-01-18T08:40:00+00:00</date> >- <msg xml:space="preserve">new head</msg> >- </logentry> >- <logentry revision="4" node="32a18f097fcccf76ef282f62f8a85b3adf8d13c4"> >- <branch>foo</branch> >- <author email="person">person</author> >- <date>1970-01-17T04:53:20+00:00</date> >- <msg xml:space="preserve">new branch</msg> >- </logentry> >- <logentry revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47"> >- <author email="person">person</author> >- <date>1970-01-16T01:06:40+00:00</date> >- <msg xml:space="preserve">no user, no domain</msg> >- </logentry> >- <logentry revision="2" node="97054abb4ab824450e9164180baf491ae0078465"> >- <author email="other@place">other</author> >- <date>1970-01-14T21:20:00+00:00</date> >- <msg xml:space="preserve">no person</msg> >- </logentry> >- <logentry revision="1" node="b608e9d1a3f0273ccf70fb85fd6866b3482bf965"> >- <author email="other@place">A. N. Other</author> >- <date>1970-01-13T17:33:20+00:00</date> >- <msg xml:space="preserve">other 1 >- other 2 >- >- other 3</msg> >- </logentry> >- <logentry revision="0" node="1e4e1b8f71e05681d422154f5421e385fec3454f"> >- <author email="user@hostname">User Name</author> >- <date>1970-01-12T13:46:40+00:00</date> >- <msg xml:space="preserve">line 1 >- line 2</msg> >- </logentry> >- </log> >- >- $ hg log -v --style xml >- <?xml version="1.0"?> >- <log> >- <logentry revision="8" node="95c24699272ef57d062b8bccc32c878bf841784a"> >- <tag>tip</tag> >- <author email="test">test</author> >- <date>2020-01-01T10:01:00+00:00</date> >- <msg xml:space="preserve">third</msg> >- <paths> >- <path action="A">fourth</path> >- <path action="A">third</path> >- <path action="R">second</path> >- </paths> >- <copies> >- <copy source="second">fourth</copy> >- </copies> >- </logentry> >- <logentry revision="7" node="29114dbae42b9f078cf2714dbe3a86bba8ec7453"> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="user@hostname">User Name</author> >- <date>1970-01-12T13:46:40+00:00</date> >- <msg xml:space="preserve">second</msg> >- <paths> >- <path action="A">second</path> >- </paths> >- </logentry> >- <logentry revision="6" node="c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f"> >- <parent revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f" /> >- <parent revision="4" node="32a18f097fcccf76ef282f62f8a85b3adf8d13c4" /> >- <author email="person">person</author> >- <date>1970-01-18T08:40:01+00:00</date> >- <msg xml:space="preserve">merge</msg> >- <paths> >- </paths> >- </logentry> >- <logentry revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f"> >- <parent revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47" /> >- <author email="person">person</author> >- <date>1970-01-18T08:40:00+00:00</date> >- <msg xml:space="preserve">new head</msg> >- <paths> >- <path action="A">d</path> >- </paths> >- </logentry> >- <logentry revision="4" node="32a18f097fcccf76ef282f62f8a85b3adf8d13c4"> >- <branch>foo</branch> >- <author email="person">person</author> >- <date>1970-01-17T04:53:20+00:00</date> >- <msg xml:space="preserve">new branch</msg> >- <paths> >- </paths> >- </logentry> >- <logentry revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47"> >- <author email="person">person</author> >- <date>1970-01-16T01:06:40+00:00</date> >- <msg xml:space="preserve">no user, no domain</msg> >- <paths> >- <path action="M">c</path> >- </paths> >- </logentry> >- <logentry revision="2" node="97054abb4ab824450e9164180baf491ae0078465"> >- <author email="other@place">other</author> >- <date>1970-01-14T21:20:00+00:00</date> >- <msg xml:space="preserve">no person</msg> >- <paths> >- <path action="A">c</path> >- </paths> >- </logentry> >- <logentry revision="1" node="b608e9d1a3f0273ccf70fb85fd6866b3482bf965"> >- <author email="other@place">A. N. Other</author> >- <date>1970-01-13T17:33:20+00:00</date> >- <msg xml:space="preserve">other 1 >- other 2 >- >- other 3</msg> >- <paths> >- <path action="A">b</path> >- </paths> >- </logentry> >- <logentry revision="0" node="1e4e1b8f71e05681d422154f5421e385fec3454f"> >- <author email="user@hostname">User Name</author> >- <date>1970-01-12T13:46:40+00:00</date> >- <msg xml:space="preserve">line 1 >- line 2</msg> >- <paths> >- <path action="A">a</path> >- </paths> >- </logentry> >- </log> >- >- $ hg log --debug --style xml >- <?xml version="1.0"?> >- <log> >- <logentry revision="8" node="95c24699272ef57d062b8bccc32c878bf841784a"> >- <tag>tip</tag> >- <parent revision="7" node="29114dbae42b9f078cf2714dbe3a86bba8ec7453" /> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="test">test</author> >- <date>2020-01-01T10:01:00+00:00</date> >- <msg xml:space="preserve">third</msg> >- <paths> >- <path action="A">fourth</path> >- <path action="A">third</path> >- <path action="R">second</path> >- </paths> >- <copies> >- <copy source="second">fourth</copy> >- </copies> >- <extra key="branch">default</extra> >- </logentry> >- <logentry revision="7" node="29114dbae42b9f078cf2714dbe3a86bba8ec7453"> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="user@hostname">User Name</author> >- <date>1970-01-12T13:46:40+00:00</date> >- <msg xml:space="preserve">second</msg> >- <paths> >- <path action="A">second</path> >- </paths> >- <extra key="branch">default</extra> >- </logentry> >- <logentry revision="6" node="c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f"> >- <parent revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f" /> >- <parent revision="4" node="32a18f097fcccf76ef282f62f8a85b3adf8d13c4" /> >- <author email="person">person</author> >- <date>1970-01-18T08:40:01+00:00</date> >- <msg xml:space="preserve">merge</msg> >- <paths> >- </paths> >- <extra key="branch">default</extra> >- </logentry> >- <logentry revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f"> >- <parent revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47" /> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="person">person</author> >- <date>1970-01-18T08:40:00+00:00</date> >- <msg xml:space="preserve">new head</msg> >- <paths> >- <path action="A">d</path> >- </paths> >- <extra key="branch">default</extra> >- </logentry> >- <logentry revision="4" node="32a18f097fcccf76ef282f62f8a85b3adf8d13c4"> >- <branch>foo</branch> >- <parent revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47" /> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="person">person</author> >- <date>1970-01-17T04:53:20+00:00</date> >- <msg xml:space="preserve">new branch</msg> >- <paths> >- </paths> >- <extra key="branch">foo</extra> >- </logentry> >- <logentry revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47"> >- <parent revision="2" node="97054abb4ab824450e9164180baf491ae0078465" /> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="person">person</author> >- <date>1970-01-16T01:06:40+00:00</date> >- <msg xml:space="preserve">no user, no domain</msg> >- <paths> >- <path action="M">c</path> >- </paths> >- <extra key="branch">default</extra> >- </logentry> >- <logentry revision="2" node="97054abb4ab824450e9164180baf491ae0078465"> >- <parent revision="1" node="b608e9d1a3f0273ccf70fb85fd6866b3482bf965" /> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="other@place">other</author> >- <date>1970-01-14T21:20:00+00:00</date> >- <msg xml:space="preserve">no person</msg> >- <paths> >- <path action="A">c</path> >- </paths> >- <extra key="branch">default</extra> >- </logentry> >- <logentry revision="1" node="b608e9d1a3f0273ccf70fb85fd6866b3482bf965"> >- <parent revision="0" node="1e4e1b8f71e05681d422154f5421e385fec3454f" /> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="other@place">A. N. Other</author> >- <date>1970-01-13T17:33:20+00:00</date> >- <msg xml:space="preserve">other 1 >- other 2 >- >- other 3</msg> >- <paths> >- <path action="A">b</path> >- </paths> >- <extra key="branch">default</extra> >- </logentry> >- <logentry revision="0" node="1e4e1b8f71e05681d422154f5421e385fec3454f"> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <parent revision="-1" node="0000000000000000000000000000000000000000" /> >- <author email="user@hostname">User Name</author> >- <date>1970-01-12T13:46:40+00:00</date> >- <msg xml:space="preserve">line 1 >- line 2</msg> >- <paths> >- <path action="A">a</path> >- </paths> >- <extra key="branch">default</extra> >- </logentry> >- </log> >- >- >-Error if style not readable: >- >- $ touch q >- $ chmod 0 q >- $ hg log --style ./q >- abort: Permission denied: ./q >- [255] >- >-Error if no style: >- >- $ hg log --style notexist >- abort: style not found: notexist >- [255] >- >-Error if style missing key: >- >- $ echo 'q = q' > t >- $ hg log --style ./t >- abort: ./t: no key named 'changeset' >- [255] >- >-Error if include fails: >- >- $ echo 'changeset = q' >> t >- $ hg log --style ./t >- abort: template file ./q: Permission denied >- [255] >- >-Include works: >- >- $ rm q >- $ echo '{rev}' > q >- $ hg log --style ./t >- 8 >- 7 >- 6 >- 5 >- 4 >- 3 >- 2 >- 1 >- 0 >- >-ui.style works: >- >- $ echo '[ui]' > .hg/hgrc >- $ echo 'style = t' >> .hg/hgrc >- $ hg log >- 8 >- 7 >- 6 >- 5 >- 4 >- 3 >- 2 >- 1 >- 0 >- >- >-Issue338: >- >- $ hg log --style=changelog > changelog >- >- $ cat changelog >- 2020-01-01 test <test> >- >- * fourth, second, third: >- third >- [95c24699272e] [tip] >- >- 1970-01-12 User Name <user@hostname> >- >- * second: >- second >- [29114dbae42b] >- >- 1970-01-18 person <person> >- >- * merge >- [c7b487c6c50e] >- >- * d: >- new head >- [13207e5a10d9] >- >- 1970-01-17 person <person> >- >- * new branch >- [32a18f097fcc] <foo> >- >- 1970-01-16 person <person> >- >- * c: >- no user, no domain >- [10e46f2dcbf4] >- >- 1970-01-14 other <other@place> >- >- * c: >- no person >- [97054abb4ab8] >- >- 1970-01-13 A. N. Other <other@place> >- >- * b: >- other 1 other 2 >- >- other 3 >- [b608e9d1a3f0] >- >- 1970-01-12 User Name <user@hostname> >- >- * a: >- line 1 line 2 >- [1e4e1b8f71e0] >- >- >-Issue2130: xml output for 'hg heads' is malformed >- >- $ hg heads --style changelog >- 2020-01-01 test <test> >- >- * fourth, second, third: >- third >- [95c24699272e] [tip] >- >- 1970-01-18 person <person> >- >- * merge >- [c7b487c6c50e] >- >- 1970-01-17 person <person> >- >- * new branch >- [32a18f097fcc] <foo> >- >- >-Keys work: >- >- $ for key in author branches date desc file_adds file_dels file_mods \ >- > file_copies file_copies_switch files \ >- > manifest node parents rev tags diffstat extras; do >- > for mode in '' --verbose --debug; do >- > hg log $mode --template "$key$mode: {$key}\n" >- > done >- > done >- author: test >- author: User Name <user@hostname> >- author: person >- author: person >- author: person >- author: person >- author: other@place >- author: A. N. Other <other@place> >- author: User Name <user@hostname> >- author--verbose: test >- author--verbose: User Name <user@hostname> >- author--verbose: person >- author--verbose: person >- author--verbose: person >- author--verbose: person >- author--verbose: other@place >- author--verbose: A. N. Other <other@place> >- author--verbose: User Name <user@hostname> >- author--debug: test >- author--debug: User Name <user@hostname> >- author--debug: person >- author--debug: person >- author--debug: person >- author--debug: person >- author--debug: other@place >- author--debug: A. N. Other <other@place> >- author--debug: User Name <user@hostname> >- branches: >- branches: >- branches: >- branches: >- branches: foo >- branches: >- branches: >- branches: >- branches: >- branches--verbose: >- branches--verbose: >- branches--verbose: >- branches--verbose: >- branches--verbose: foo >- branches--verbose: >- branches--verbose: >- branches--verbose: >- branches--verbose: >- branches--debug: >- branches--debug: >- branches--debug: >- branches--debug: >- branches--debug: foo >- branches--debug: >- branches--debug: >- branches--debug: >- branches--debug: >- date: 1577872860.00 >- date: 1000000.00 >- date: 1500001.00 >- date: 1500000.00 >- date: 1400000.00 >- date: 1300000.00 >- date: 1200000.00 >- date: 1100000.00 >- date: 1000000.00 >- date--verbose: 1577872860.00 >- date--verbose: 1000000.00 >- date--verbose: 1500001.00 >- date--verbose: 1500000.00 >- date--verbose: 1400000.00 >- date--verbose: 1300000.00 >- date--verbose: 1200000.00 >- date--verbose: 1100000.00 >- date--verbose: 1000000.00 >- date--debug: 1577872860.00 >- date--debug: 1000000.00 >- date--debug: 1500001.00 >- date--debug: 1500000.00 >- date--debug: 1400000.00 >- date--debug: 1300000.00 >- date--debug: 1200000.00 >- date--debug: 1100000.00 >- date--debug: 1000000.00 >- desc: third >- desc: second >- desc: merge >- desc: new head >- desc: new branch >- desc: no user, no domain >- desc: no person >- desc: other 1 >- other 2 >- >- other 3 >- desc: line 1 >- line 2 >- desc--verbose: third >- desc--verbose: second >- desc--verbose: merge >- desc--verbose: new head >- desc--verbose: new branch >- desc--verbose: no user, no domain >- desc--verbose: no person >- desc--verbose: other 1 >- other 2 >- >- other 3 >- desc--verbose: line 1 >- line 2 >- desc--debug: third >- desc--debug: second >- desc--debug: merge >- desc--debug: new head >- desc--debug: new branch >- desc--debug: no user, no domain >- desc--debug: no person >- desc--debug: other 1 >- other 2 >- >- other 3 >- desc--debug: line 1 >- line 2 >- file_adds: fourth third >- file_adds: second >- file_adds: >- file_adds: d >- file_adds: >- file_adds: >- file_adds: c >- file_adds: b >- file_adds: a >- file_adds--verbose: fourth third >- file_adds--verbose: second >- file_adds--verbose: >- file_adds--verbose: d >- file_adds--verbose: >- file_adds--verbose: >- file_adds--verbose: c >- file_adds--verbose: b >- file_adds--verbose: a >- file_adds--debug: fourth third >- file_adds--debug: second >- file_adds--debug: >- file_adds--debug: d >- file_adds--debug: >- file_adds--debug: >- file_adds--debug: c >- file_adds--debug: b >- file_adds--debug: a >- file_dels: second >- file_dels: >- file_dels: >- file_dels: >- file_dels: >- file_dels: >- file_dels: >- file_dels: >- file_dels: >- file_dels--verbose: second >- file_dels--verbose: >- file_dels--verbose: >- file_dels--verbose: >- file_dels--verbose: >- file_dels--verbose: >- file_dels--verbose: >- file_dels--verbose: >- file_dels--verbose: >- file_dels--debug: second >- file_dels--debug: >- file_dels--debug: >- file_dels--debug: >- file_dels--debug: >- file_dels--debug: >- file_dels--debug: >- file_dels--debug: >- file_dels--debug: >- file_mods: >- file_mods: >- file_mods: >- file_mods: >- file_mods: >- file_mods: c >- file_mods: >- file_mods: >- file_mods: >- file_mods--verbose: >- file_mods--verbose: >- file_mods--verbose: >- file_mods--verbose: >- file_mods--verbose: >- file_mods--verbose: c >- file_mods--verbose: >- file_mods--verbose: >- file_mods--verbose: >- file_mods--debug: >- file_mods--debug: >- file_mods--debug: >- file_mods--debug: >- file_mods--debug: >- file_mods--debug: c >- file_mods--debug: >- file_mods--debug: >- file_mods--debug: >- file_copies: fourth (second) >- file_copies: >- file_copies: >- file_copies: >- file_copies: >- file_copies: >- file_copies: >- file_copies: >- file_copies: >- file_copies--verbose: fourth (second) >- file_copies--verbose: >- file_copies--verbose: >- file_copies--verbose: >- file_copies--verbose: >- file_copies--verbose: >- file_copies--verbose: >- file_copies--verbose: >- file_copies--verbose: >- file_copies--debug: fourth (second) >- file_copies--debug: >- file_copies--debug: >- file_copies--debug: >- file_copies--debug: >- file_copies--debug: >- file_copies--debug: >- file_copies--debug: >- file_copies--debug: >- file_copies_switch: >- file_copies_switch: >- file_copies_switch: >- file_copies_switch: >- file_copies_switch: >- file_copies_switch: >- file_copies_switch: >- file_copies_switch: >- file_copies_switch: >- file_copies_switch--verbose: >- file_copies_switch--verbose: >- file_copies_switch--verbose: >- file_copies_switch--verbose: >- file_copies_switch--verbose: >- file_copies_switch--verbose: >- file_copies_switch--verbose: >- file_copies_switch--verbose: >- file_copies_switch--verbose: >- file_copies_switch--debug: >- file_copies_switch--debug: >- file_copies_switch--debug: >- file_copies_switch--debug: >- file_copies_switch--debug: >- file_copies_switch--debug: >- file_copies_switch--debug: >- file_copies_switch--debug: >- file_copies_switch--debug: >- files: fourth second third >- files: second >- files: >- files: d >- files: >- files: c >- files: c >- files: b >- files: a >- files--verbose: fourth second third >- files--verbose: second >- files--verbose: >- files--verbose: d >- files--verbose: >- files--verbose: c >- files--verbose: c >- files--verbose: b >- files--verbose: a >- files--debug: fourth second third >- files--debug: second >- files--debug: >- files--debug: d >- files--debug: >- files--debug: c >- files--debug: c >- files--debug: b >- files--debug: a >- manifest: 8:94961b75a2da >- manifest: 7:f2dbc354b94e >- manifest: 6:91015e9dbdd7 >- manifest: 5:4dc3def4f9b4 >- manifest: 4:90ae8dda64e1 >- manifest: 3:cb5a1327723b >- manifest: 2:6e0e82995c35 >- manifest: 1:4e8d705b1e53 >- manifest: 0:a0c8bcbbb45c >- manifest--verbose: 8:94961b75a2da >- manifest--verbose: 7:f2dbc354b94e >- manifest--verbose: 6:91015e9dbdd7 >- manifest--verbose: 5:4dc3def4f9b4 >- manifest--verbose: 4:90ae8dda64e1 >- manifest--verbose: 3:cb5a1327723b >- manifest--verbose: 2:6e0e82995c35 >- manifest--verbose: 1:4e8d705b1e53 >- manifest--verbose: 0:a0c8bcbbb45c >- manifest--debug: 8:94961b75a2da554b4df6fb599e5bfc7d48de0c64 >- manifest--debug: 7:f2dbc354b94e5ec0b4f10680ee0cee816101d0bf >- manifest--debug: 6:91015e9dbdd76a6791085d12b0a0ec7fcd22ffbf >- manifest--debug: 5:4dc3def4f9b4c6e8de820f6ee74737f91e96a216 >- manifest--debug: 4:90ae8dda64e1a876c792bccb9af66284f6018363 >- manifest--debug: 3:cb5a1327723bada42f117e4c55a303246eaf9ccc >- manifest--debug: 2:6e0e82995c35d0d57a52aca8da4e56139e06b4b1 >- manifest--debug: 1:4e8d705b1e53e3f9375e0e60dc7b525d8211fe55 >- manifest--debug: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0 >- node: 95c24699272ef57d062b8bccc32c878bf841784a >- node: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 >- node: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f >- node: 13207e5a10d9fd28ec424934298e176197f2c67f >- node: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 >- node: 10e46f2dcbf4823578cf180f33ecf0b957964c47 >- node: 97054abb4ab824450e9164180baf491ae0078465 >- node: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 >- node: 1e4e1b8f71e05681d422154f5421e385fec3454f >- node--verbose: 95c24699272ef57d062b8bccc32c878bf841784a >- node--verbose: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 >- node--verbose: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f >- node--verbose: 13207e5a10d9fd28ec424934298e176197f2c67f >- node--verbose: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 >- node--verbose: 10e46f2dcbf4823578cf180f33ecf0b957964c47 >- node--verbose: 97054abb4ab824450e9164180baf491ae0078465 >- node--verbose: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 >- node--verbose: 1e4e1b8f71e05681d422154f5421e385fec3454f >- node--debug: 95c24699272ef57d062b8bccc32c878bf841784a >- node--debug: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 >- node--debug: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f >- node--debug: 13207e5a10d9fd28ec424934298e176197f2c67f >- node--debug: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 >- node--debug: 10e46f2dcbf4823578cf180f33ecf0b957964c47 >- node--debug: 97054abb4ab824450e9164180baf491ae0078465 >- node--debug: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 >- node--debug: 1e4e1b8f71e05681d422154f5421e385fec3454f >- parents: >- parents: -1:000000000000 >- parents: 5:13207e5a10d9 4:32a18f097fcc >- parents: 3:10e46f2dcbf4 >- parents: >- parents: >- parents: >- parents: >- parents: >- parents--verbose: >- parents--verbose: -1:000000000000 >- parents--verbose: 5:13207e5a10d9 4:32a18f097fcc >- parents--verbose: 3:10e46f2dcbf4 >- parents--verbose: >- parents--verbose: >- parents--verbose: >- parents--verbose: >- parents--verbose: >- parents--debug: 7:29114dbae42b9f078cf2714dbe3a86bba8ec7453 -1:0000000000000000000000000000000000000000 >- parents--debug: -1:0000000000000000000000000000000000000000 -1:0000000000000000000000000000000000000000 >- parents--debug: 5:13207e5a10d9fd28ec424934298e176197f2c67f 4:32a18f097fcccf76ef282f62f8a85b3adf8d13c4 >- parents--debug: 3:10e46f2dcbf4823578cf180f33ecf0b957964c47 -1:0000000000000000000000000000000000000000 >- parents--debug: 3:10e46f2dcbf4823578cf180f33ecf0b957964c47 -1:0000000000000000000000000000000000000000 >- parents--debug: 2:97054abb4ab824450e9164180baf491ae0078465 -1:0000000000000000000000000000000000000000 >- parents--debug: 1:b608e9d1a3f0273ccf70fb85fd6866b3482bf965 -1:0000000000000000000000000000000000000000 >- parents--debug: 0:1e4e1b8f71e05681d422154f5421e385fec3454f -1:0000000000000000000000000000000000000000 >- parents--debug: -1:0000000000000000000000000000000000000000 -1:0000000000000000000000000000000000000000 >- rev: 8 >- rev: 7 >- rev: 6 >- rev: 5 >- rev: 4 >- rev: 3 >- rev: 2 >- rev: 1 >- rev: 0 >- rev--verbose: 8 >- rev--verbose: 7 >- rev--verbose: 6 >- rev--verbose: 5 >- rev--verbose: 4 >- rev--verbose: 3 >- rev--verbose: 2 >- rev--verbose: 1 >- rev--verbose: 0 >- rev--debug: 8 >- rev--debug: 7 >- rev--debug: 6 >- rev--debug: 5 >- rev--debug: 4 >- rev--debug: 3 >- rev--debug: 2 >- rev--debug: 1 >- rev--debug: 0 >- tags: tip >- tags: >- tags: >- tags: >- tags: >- tags: >- tags: >- tags: >- tags: >- tags--verbose: tip >- tags--verbose: >- tags--verbose: >- tags--verbose: >- tags--verbose: >- tags--verbose: >- tags--verbose: >- tags--verbose: >- tags--verbose: >- tags--debug: tip >- tags--debug: >- tags--debug: >- tags--debug: >- tags--debug: >- tags--debug: >- tags--debug: >- tags--debug: >- tags--debug: >- diffstat: 3: +2/-1 >- diffstat: 1: +1/-0 >- diffstat: 0: +0/-0 >- diffstat: 1: +1/-0 >- diffstat: 0: +0/-0 >- diffstat: 1: +1/-0 >- diffstat: 1: +4/-0 >- diffstat: 1: +2/-0 >- diffstat: 1: +1/-0 >- diffstat--verbose: 3: +2/-1 >- diffstat--verbose: 1: +1/-0 >- diffstat--verbose: 0: +0/-0 >- diffstat--verbose: 1: +1/-0 >- diffstat--verbose: 0: +0/-0 >- diffstat--verbose: 1: +1/-0 >- diffstat--verbose: 1: +4/-0 >- diffstat--verbose: 1: +2/-0 >- diffstat--verbose: 1: +1/-0 >- diffstat--debug: 3: +2/-1 >- diffstat--debug: 1: +1/-0 >- diffstat--debug: 0: +0/-0 >- diffstat--debug: 1: +1/-0 >- diffstat--debug: 0: +0/-0 >- diffstat--debug: 1: +1/-0 >- diffstat--debug: 1: +4/-0 >- diffstat--debug: 1: +2/-0 >- diffstat--debug: 1: +1/-0 >- extras: branch=default >- extras: branch=default >- extras: branch=default >- extras: branch=default >- extras: branch=foo >- extras: branch=default >- extras: branch=default >- extras: branch=default >- extras: branch=default >- extras--verbose: branch=default >- extras--verbose: branch=default >- extras--verbose: branch=default >- extras--verbose: branch=default >- extras--verbose: branch=foo >- extras--verbose: branch=default >- extras--verbose: branch=default >- extras--verbose: branch=default >- extras--verbose: branch=default >- extras--debug: branch=default >- extras--debug: branch=default >- extras--debug: branch=default >- extras--debug: branch=default >- extras--debug: branch=foo >- extras--debug: branch=default >- extras--debug: branch=default >- extras--debug: branch=default >- extras--debug: branch=default >- >- >-Filters work: >- >- $ hg log --template '{author|domain}\n' >- >- hostname >- >- >- >- >- place >- place >- hostname >- >- $ hg log --template '{author|person}\n' >- test >- User Name >- person >- person >- person >- person >- other >- A. N. Other >- User Name >- >- $ hg log --template '{author|user}\n' >- test >- user >- person >- person >- person >- person >- other >- other >- user >- >- $ hg log --template '{date|age}\n' > /dev/null || exit 1 >- >- $ hg log -l1 --template '{date|age}\n' >- in the future >- $ hg log --template '{date|date}\n' >- Wed Jan 01 10:01:00 2020 +0000 >- Mon Jan 12 13:46:40 1970 +0000 >- Sun Jan 18 08:40:01 1970 +0000 >- Sun Jan 18 08:40:00 1970 +0000 >- Sat Jan 17 04:53:20 1970 +0000 >- Fri Jan 16 01:06:40 1970 +0000 >- Wed Jan 14 21:20:00 1970 +0000 >- Tue Jan 13 17:33:20 1970 +0000 >- Mon Jan 12 13:46:40 1970 +0000 >- >- $ hg log --template '{date|isodate}\n' >- 2020-01-01 10:01 +0000 >- 1970-01-12 13:46 +0000 >- 1970-01-18 08:40 +0000 >- 1970-01-18 08:40 +0000 >- 1970-01-17 04:53 +0000 >- 1970-01-16 01:06 +0000 >- 1970-01-14 21:20 +0000 >- 1970-01-13 17:33 +0000 >- 1970-01-12 13:46 +0000 >- >- $ hg log --template '{date|isodatesec}\n' >- 2020-01-01 10:01:00 +0000 >- 1970-01-12 13:46:40 +0000 >- 1970-01-18 08:40:01 +0000 >- 1970-01-18 08:40:00 +0000 >- 1970-01-17 04:53:20 +0000 >- 1970-01-16 01:06:40 +0000 >- 1970-01-14 21:20:00 +0000 >- 1970-01-13 17:33:20 +0000 >- 1970-01-12 13:46:40 +0000 >- >- $ hg log --template '{date|rfc822date}\n' >- Wed, 01 Jan 2020 10:01:00 +0000 >- Mon, 12 Jan 1970 13:46:40 +0000 >- Sun, 18 Jan 1970 08:40:01 +0000 >- Sun, 18 Jan 1970 08:40:00 +0000 >- Sat, 17 Jan 1970 04:53:20 +0000 >- Fri, 16 Jan 1970 01:06:40 +0000 >- Wed, 14 Jan 1970 21:20:00 +0000 >- Tue, 13 Jan 1970 17:33:20 +0000 >- Mon, 12 Jan 1970 13:46:40 +0000 >- >- $ hg log --template '{desc|firstline}\n' >- third >- second >- merge >- new head >- new branch >- no user, no domain >- no person >- other 1 >- line 1 >- >- $ hg log --template '{node|short}\n' >- 95c24699272e >- 29114dbae42b >- c7b487c6c50e >- 13207e5a10d9 >- 32a18f097fcc >- 10e46f2dcbf4 >- 97054abb4ab8 >- b608e9d1a3f0 >- 1e4e1b8f71e0 >- >- $ hg log --template '<changeset author="{author|xmlescape}"/>\n' >- <changeset author="test"/> >- <changeset author="User Name <user@hostname>"/> >- <changeset author="person"/> >- <changeset author="person"/> >- <changeset author="person"/> >- <changeset author="person"/> >- <changeset author="other@place"/> >- <changeset author="A. N. Other <other@place>"/> >- <changeset author="User Name <user@hostname>"/> >- >- $ hg log --template '{rev}: {children}\n' >- 8: >- 7: 8:95c24699272e >- 6: >- 5: 6:c7b487c6c50e >- 4: 6:c7b487c6c50e >- 3: 4:32a18f097fcc 5:13207e5a10d9 >- 2: 3:10e46f2dcbf4 >- 1: 2:97054abb4ab8 >- 0: 1:b608e9d1a3f0 >- >-Formatnode filter works: >- >- $ hg -q log -r 0 --template '{node|formatnode}\n' >- 1e4e1b8f71e0 >- >- $ hg log -r 0 --template '{node|formatnode}\n' >- 1e4e1b8f71e0 >- >- $ hg -v log -r 0 --template '{node|formatnode}\n' >- 1e4e1b8f71e0 >- >- $ hg --debug log -r 0 --template '{node|formatnode}\n' >- 1e4e1b8f71e05681d422154f5421e385fec3454f >- >-Error on syntax: >- >- $ echo 'x = "f' >> t >- $ hg log >- abort: t:3: unmatched quotes >- [255] >- >- $ cd .. >- >- >-latesttag: >- >- $ hg init latesttag >- $ cd latesttag >- >- $ echo a > file >- $ hg ci -Am a -d '0 0' >- adding file >- >- $ echo b >> file >- $ hg ci -m b -d '1 0' >- >- $ echo c >> head1 >- $ hg ci -Am h1c -d '2 0' >- adding head1 >- >- $ hg update -q 1 >- $ echo d >> head2 >- $ hg ci -Am h2d -d '3 0' >- adding head2 >- created new head >- >- $ echo e >> head2 >- $ hg ci -m h2e -d '4 0' >- >- $ hg merge -q >- $ hg ci -m merge -d '5 0' >- >-No tag set: >- >- $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' >- 5: null+5 >- 4: null+4 >- 3: null+3 >- 2: null+3 >- 1: null+2 >- 0: null+1 >- >-One common tag: longuest path wins: >- >- $ hg tag -r 1 -m t1 -d '6 0' t1 >- $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' >- 6: t1+4 >- 5: t1+3 >- 4: t1+2 >- 3: t1+1 >- 2: t1+1 >- 1: t1+0 >- 0: null+1 >- >-One ancestor tag: more recent wins: >- >- $ hg tag -r 2 -m t2 -d '7 0' t2 >- $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' >- 7: t2+3 >- 6: t2+2 >- 5: t2+1 >- 4: t1+2 >- 3: t1+1 >- 2: t2+0 >- 1: t1+0 >- 0: null+1 >- >-Two branch tags: more recent wins: >- >- $ hg tag -r 3 -m t3 -d '8 0' t3 >- $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' >- 8: t3+5 >- 7: t3+4 >- 6: t3+3 >- 5: t3+2 >- 4: t3+1 >- 3: t3+0 >- 2: t2+0 >- 1: t1+0 >- 0: null+1 >- >-Merged tag overrides: >- >- $ hg tag -r 5 -m t5 -d '9 0' t5 >- $ hg tag -r 3 -m at3 -d '10 0' at3 >- $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' >- 10: t5+5 >- 9: t5+4 >- 8: t5+3 >- 7: t5+2 >- 6: t5+1 >- 5: t5+0 >- 4: at3:t3+1 >- 3: at3:t3+0 >- 2: t2+0 >- 1: t1+0 >- 0: null+1 >- >- $ cd .. >- >- >-Style path expansion: issue1948 - ui.style option doesn't work on OSX >-if it is a relative path >- >- $ mkdir -p home/styles >- >- $ cat > home/styles/teststyle <<EOF >- > changeset = 'test {rev}:{node|short}\n' >- > EOF >- >- $ HOME=`pwd`/home; export HOME >- >- $ cat > latesttag/.hg/hgrc <<EOF >- > [ui] >- > style = ~/styles/teststyle >- > EOF >- >- $ hg -R latesttag tip >- test 10:dee8f28249af >- >-Test recursive showlist template (issue1989): >- >- $ cat > style1989 <<EOF >- > changeset = '{file_mods}{manifest}{extras}' >- > file_mod = 'M|{author|person}\n' >- > manifest = '{rev},{author}\n' >- > extra = '{key}: {author}\n' >- > EOF >- >- $ hg -R latesttag log -r tip --style=style1989 >- M|test >- 10,test >- branch: test >- >!..s......s...s......s.............ss..............s.ss..s........s............. >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-fetch.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-fetch.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-fetch.t.err >@@ -1,418 +1,5 @@ >+ >+ ### Abort: timeout after 180 seconds. > adjust to non-default HGPORT, e.g. with run-tests.py -j > > $ echo "[extensions]" >> $HGRCPATH >- $ echo "fetch=" >> $HGRCPATH >- >-test fetch with default branches only >- >- $ hg init a >- $ echo a > a/a >- $ hg --cwd a commit -d '1 0' -Ama >- adding a >- $ hg clone a b >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg clone a c >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo b > a/b >- $ hg --cwd a commit -d '2 0' -Amb >- adding b >- $ hg --cwd a parents -q >- 1:97d72e5f12c7 >- >-should pull one change >- >- $ hg --cwd b fetch ../a >- pulling from ../a >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd b parents -q >- 1:97d72e5f12c7 >- $ echo c > c/c >- $ hg --cwd c commit -d '3 0' -Amc >- adding c >- $ hg clone c d >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg clone c e >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >-We cannot use the default commit message if fetching from a local >-repo, because the path of the repo will be included in the commit >-message, making every commit appear different. >-should merge c into a >- >- $ hg --cwd c fetch -d '4 0' -m 'automated merge' ../a >- pulling from ../a >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (+1 heads) >- updating to 2:97d72e5f12c7 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- merging with 1:5e056962225c >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- new changeset 3:cd3a41621cf0 merges remote changes with local >- $ ls c >- a >- b >- c >- $ netstat -tnap 2>/dev/null | grep $HGPORT | grep LISTEN >- [1] >- $ hg --cwd a serve -a localhost -p $HGPORT -d --pid-file=hg.pid >- $ cat a/hg.pid >> "$DAEMON_PIDS" >- >-fetch over http, no auth >- >- $ hg --cwd d fetch -d '5 0' http://localhost:$HGPORT/ >- pulling from http://localhost:$HGPORT/ >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (+1 heads) >- updating to 2:97d72e5f12c7 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- merging with 1:5e056962225c >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- new changeset 3:* merges remote changes with local (glob) >- $ hg --cwd d tip --template '{desc}\n' >- Automated merge with http://localhost:$HGPORT/ >- >-fetch over http with auth (should be hidden in desc) >- >- $ hg --cwd e fetch -d '5 0' http://user:password@localhost:$HGPORT/ >- pulling from http://user:***@localhost:$HGPORT/ >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (+1 heads) >- updating to 2:97d72e5f12c7 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- merging with 1:5e056962225c >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- new changeset 3:* merges remote changes with local (glob) >- $ hg --cwd e tip --template '{desc}\n' >- Automated merge with http://localhost:$HGPORT/ >- $ hg clone a f >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg clone a g >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo f > f/f >- $ hg --cwd f ci -d '6 0' -Amf >- adding f >- $ echo g > g/g >- $ hg --cwd g ci -d '6 0' -Amg >- adding g >- $ hg clone -q f h >- $ hg clone -q g i >- >-should merge f into g >- >- $ hg --cwd g fetch -d '7 0' --switch -m 'automated merge' ../f >- pulling from ../f >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (+1 heads) >- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved >- merging with 3:cc6a3744834d >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- new changeset 4:55aa4f32ec59 merges remote changes with local >- $ rm i/g >- >-should abort, because i is modified >- >- $ hg --cwd i fetch ../h >- abort: working directory is missing some files >- [255] >- >-test fetch with named branches >- >- $ hg init nbase >- $ echo base > nbase/a >- $ hg -R nbase ci -d '1 0' -Am base >- adding a >- $ hg -R nbase branch a >- marked working directory as branch a >- $ echo a > nbase/a >- $ hg -R nbase ci -d '2 0' -m a >- $ hg -R nbase up -C 0 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R nbase branch b >- marked working directory as branch b >- $ echo b > nbase/b >- $ hg -R nbase ci -Ad '3 0' -m b >- adding b >- $ echo >- >- >-pull in change on foreign branch >- >- $ hg clone nbase n1 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg clone nbase n2 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R n1 up -C a >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo aa > n1/a >- $ hg -R n1 ci -d '4 0' -m a1 >- $ hg -R n2 up -C b >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R n2 fetch -d '9 0' -m 'merge' n1 >- pulling from n1 >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- >-parent should be 2 (no automatic update) >- >- $ hg -R n2 parents --template '{rev}\n' >- 2 >- $ rm -fr n1 n2 >- $ echo >- >- >-pull in changes on both foreign and local branches >- >- $ hg clone nbase n1 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg clone nbase n2 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R n1 up -C a >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo aa > n1/a >- $ hg -R n1 ci -d '4 0' -m a1 >- $ hg -R n1 up -C b >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo bb > n1/b >- $ hg -R n1 ci -d '5 0' -m b1 >- $ hg -R n2 up -C b >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R n2 fetch -d '9 0' -m 'merge' n1 >- pulling from n1 >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 2 changesets with 2 changes to 2 files >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >-parent should be 4 (fast forward) >- >- $ hg -R n2 parents --template '{rev}\n' >- 4 >- $ rm -fr n1 n2 >- $ echo >- >- >-pull changes on foreign (2 new heads) and local (1 new head) branches >-with a local change >- >- $ hg clone nbase n1 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg clone nbase n2 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R n1 up -C a >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo a1 > n1/a >- $ hg -R n1 ci -d '4 0' -m a1 >- $ hg -R n1 up -C b >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo bb > n1/b >- $ hg -R n1 ci -d '5 0' -m b1 >- $ hg -R n1 up -C 1 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo a2 > n1/a >- $ hg -R n1 ci -d '6 0' -m a2 >- created new head >- $ hg -R n2 up -C b >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo change >> n2/c >- $ hg -R n2 ci -Ad '7 0' -m local >- adding c >- $ hg -R n2 fetch -d '9 0' -m 'merge' n1 >- pulling from n1 >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 3 changesets with 3 changes to 2 files (+2 heads) >- updating to 5:708c6cce3d26 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- merging with 3:d83427717b1f >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- new changeset 7:48f1a33f52af merges remote changes with local >- >-parent should be 7 (new merge changeset) >- >- $ hg -R n2 parents --template '{rev}\n' >- 7 >- $ rm -fr n1 n2 >- >-pull in changes on foreign (merge of local branch) and local (2 new >-heads) with a local change >- >- $ hg clone nbase n1 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg clone nbase n2 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R n1 up -C a >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R n1 merge b >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ hg -R n1 ci -d '4 0' -m merge >- $ hg -R n1 up -C 2 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo c > n1/a >- $ hg -R n1 ci -d '5 0' -m c >- $ hg -R n1 up -C 2 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo cc > n1/a >- $ hg -R n1 ci -d '6 0' -m cc >- created new head >- $ hg -R n2 up -C b >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo change >> n2/b >- $ hg -R n2 ci -Ad '7 0' -m local >- $ hg -R n2 fetch -d '9 0' -m 'merge' n1 >- pulling from n1 >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 3 changesets with 2 changes to 1 files (+2 heads) >- not merging with 1 other new branch heads (use "hg heads ." and "hg merge" to merge them) >- [1] >- >-parent should be 3 (fetch did not merge anything) >- >- $ hg -R n2 parents --template '{rev}\n' >- 3 >- $ rm -fr n1 n2 >- >-pull in change on different branch than dirstate >- >- $ hg init n1 >- $ echo a > n1/a >- $ hg -R n1 ci -Am initial >- adding a >- $ hg clone n1 n2 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo b > n1/a >- $ hg -R n1 ci -m next >- $ hg -R n2 branch topic >- marked working directory as branch topic >- $ hg -R n2 fetch -d '0 0' -m merge n1 >- abort: working dir not at branch tip (use "hg update" to check out branch tip) >- [255] >- >-parent should be 0 (fetch did not update or merge anything) >- >- $ hg -R n2 parents --template '{rev}\n' >- 0 >- $ rm -fr n1 n2 >- >-test fetch with inactive branches >- >- $ hg init ib1 >- $ echo a > ib1/a >- $ hg --cwd ib1 ci -Am base >- adding a >- $ hg --cwd ib1 branch second >- marked working directory as branch second >- $ echo b > ib1/b >- $ hg --cwd ib1 ci -Am onsecond >- adding b >- $ hg --cwd ib1 branch -f default >- marked working directory as branch default >- $ echo c > ib1/c >- $ hg --cwd ib1 ci -Am newdefault >- adding c >- created new head >- $ hg clone ib1 ib2 >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >-fetch should succeed >- >- $ hg --cwd ib2 fetch ../ib1 >- pulling from ../ib1 >- searching for changes >- no changes found >- $ rm -fr ib1 ib2 >- >-test issue1726 >- >- $ hg init i1726r1 >- $ echo a > i1726r1/a >- $ hg --cwd i1726r1 ci -Am base >- adding a >- $ hg clone i1726r1 i1726r2 >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo b > i1726r1/a >- $ hg --cwd i1726r1 ci -m second >- $ echo c > i1726r2/a >- $ hg --cwd i1726r2 ci -m third >- $ HGMERGE=true hg --cwd i1726r2 fetch ../i1726r1 >- pulling from ../i1726r1 >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (+1 heads) >- updating to 2:7837755a2789 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- merging with 1:d1f0c6c48ebd >- merging a >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- new changeset 3:* merges remote changes with local (glob) >- $ hg --cwd i1726r2 heads default --template '{rev}\n' >- 3 >- $ echo >- >- >-test issue2047 >- >- $ hg -q init i2047a >- $ cd i2047a >- $ echo a > a >- $ hg -q ci -Am a >- $ hg -q branch stable >- $ echo b > b >- $ hg -q ci -Am b >- $ cd .. >- $ hg -q clone -r 0 i2047a i2047b >- $ cd i2047b >- $ hg fetch ../i2047a >- pulling from ../i2047a >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- $ "$TESTDIR/killdaemons.py" >!........................................................... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-import.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-import.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-import.t.err >@@ -1,924 +1,3 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ hg init a >- $ mkdir a/d1 >- $ mkdir a/d1/d2 >- $ echo line 1 > a/a >- $ echo line 1 > a/d1/d2/a >- $ hg --cwd a ci -Ama >- adding a >- adding d1/d2/a >- >- $ echo line 2 >> a/a >- $ hg --cwd a ci -u someone -d '1 0' -m'second change' >- >- >-import exported patch >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a export tip > tip.patch >- $ hg --cwd b import ../tip.patch >- applying ../tip.patch >- >-message should be same >- >- $ hg --cwd b tip | grep 'second change' >- summary: second change >- >-committer should be same >- >- $ hg --cwd b tip | grep someone >- user: someone >- $ rm -r b >- >- >-import exported patch with external patcher >- >- $ cat > dummypatch.py <<EOF >- > print 'patching file a' >- > file('a', 'wb').write('line2\n') >- > EOF >- $ chmod +x dummypatch.py >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a export tip > tip.patch >- $ hg --config ui.patch='python ../dummypatch.py' --cwd b import ../tip.patch >- applying ../tip.patch >- $ cat b/a >- line2 >- $ rm -r b >- >- >-import of plain diff should fail without message >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a diff -r0:1 > tip.patch >- $ hg --cwd b import ../tip.patch >- applying ../tip.patch >- abort: empty commit message >- [255] >- $ rm -r b >- >- >-import of plain diff should be ok with message >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a diff -r0:1 > tip.patch >- $ hg --cwd b import -mpatch ../tip.patch >- applying ../tip.patch >- $ rm -r b >- >- >-import of plain diff with specific date and user >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a diff -r0:1 > tip.patch >- $ hg --cwd b import -mpatch -d '1 0' -u 'user@nowhere.net' ../tip.patch >- applying ../tip.patch >- $ hg -R b tip -pv >- changeset: 1:ca68f19f3a40 >- tag: tip >- user: user@nowhere.net >- date: Thu Jan 01 00:00:01 1970 +0000 >- files: a >- description: >- patch >- >- >- diff -r 80971e65b431 -r ca68f19f3a40 a >- --- a/a Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:01 1970 +0000 >- @@ -1,1 +1,2 @@ >- line 1 >- +line 2 >- >- $ rm -r b >- >- >-import of plain diff should be ok with --no-commit >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a diff -r0:1 > tip.patch >- $ hg --cwd b import --no-commit ../tip.patch >- applying ../tip.patch >- $ hg --cwd b diff --nodates >- diff -r 80971e65b431 a >- --- a/a >- +++ b/a >- @@ -1,1 +1,2 @@ >- line 1 >- +line 2 >- $ rm -r b >- >- >-import of malformed plain diff should fail >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a diff -r0:1 > tip.patch >- $ sed 's/1,1/foo/' < tip.patch > broken.patch >- $ hg --cwd b import -mpatch ../broken.patch >- applying ../broken.patch >- abort: bad hunk #1 >- [255] >- $ rm -r b >- >- >-hg -R repo import >-put the clone in a subdir - having a directory named "a" >-used to hide a bug. >- >- $ mkdir dir >- $ hg clone -r0 a dir/b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a export tip > dir/tip.patch >- $ cd dir >- $ hg -R b import tip.patch >- applying tip.patch >- $ cd .. >- $ rm -r dir >- >- >-import from stdin >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a export tip | hg --cwd b import - >- applying patch from stdin >- $ rm -r b >- >- >-import two patches in one stream >- >- $ hg init b >- $ hg --cwd a export 0:tip | hg --cwd b import - >- applying patch from stdin >- applied 80971e65b431 >- $ hg --cwd a id >- 1d4bd90af0e4 tip >- $ hg --cwd b id >- 1d4bd90af0e4 tip >- $ rm -r b >- >- >-override commit message >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a export tip | hg --cwd b import -m 'override' - >- applying patch from stdin >- $ hg --cwd b tip | grep override >- summary: override >- $ rm -r b >- >- $ cat > mkmsg.py <<EOF >- > import email.Message, sys >- > msg = email.Message.Message() >- > msg.set_payload('email commit message\n' + open('tip.patch', 'rb').read()) >- > msg['Subject'] = 'email patch' >- > msg['From'] = 'email patcher' >- > sys.stdout.write(msg.as_string()) >- > EOF >- >- >-plain diff in email, subject, message body >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a diff -r0:1 > tip.patch >- $ python mkmsg.py > msg.patch >- $ hg --cwd b import ../msg.patch >- applying ../msg.patch >- $ hg --cwd b tip | grep email >- user: email patcher >- summary: email patch >- $ rm -r b >- >- >-plain diff in email, no subject, message body >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ grep -v '^Subject:' msg.patch | hg --cwd b import - >- applying patch from stdin >- $ rm -r b >- >- >-plain diff in email, subject, no message body >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ grep -v '^email ' msg.patch | hg --cwd b import - >- applying patch from stdin >- $ rm -r b >- >- >-plain diff in email, no subject, no message body, should fail >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ egrep -v '^(Subject|email)' msg.patch | hg --cwd b import - >- applying patch from stdin >- abort: empty commit message >- [255] >- $ rm -r b >- >- >-hg export in email, should use patch header >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a export tip > tip.patch >- $ python mkmsg.py | hg --cwd b import - >- applying patch from stdin >- $ hg --cwd b tip | grep second >- summary: second change >- $ rm -r b >- >- >-subject: duplicate detection, removal of [PATCH] >-The '---' tests the gitsendmail handling without proper mail headers >- >- $ cat > mkmsg2.py <<EOF >- > import email.Message, sys >- > msg = email.Message.Message() >- > msg.set_payload('email patch\n\nnext line\n---\n' + open('tip.patch').read()) >- > msg['Subject'] = '[PATCH] email patch' >- > msg['From'] = 'email patcher' >- > sys.stdout.write(msg.as_string()) >- > EOF >- >- >-plain diff in email, [PATCH] subject, message body with subject >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a diff -r0:1 > tip.patch >- $ python mkmsg2.py | hg --cwd b import - >- applying patch from stdin >- $ hg --cwd b tip --template '{desc}\n' >- email patch >- >- next line >- --- >- $ rm -r b >- >- >-Issue963: Parent of working dir incorrect after import of multiple >-patches and rollback >- >-We weren't backing up the correct dirstate file when importing many >-patches: import patch1 patch2; rollback >- >- $ echo line 3 >> a/a >- $ hg --cwd a ci -m'third change' >- $ hg --cwd a export -o '../patch%R' 1 2 >- $ hg clone -qr0 a b >- $ hg --cwd b parents --template 'parent: {rev}\n' >- parent: 0 >- $ hg --cwd b import ../patch1 ../patch2 >- applying ../patch1 >- applying ../patch2 >- applied 1d4bd90af0e4 >- $ hg --cwd b rollback >- rolling back to revision 1 (undo commit) >- $ hg --cwd b parents --template 'parent: {rev}\n' >- parent: 1 >- $ rm -r b >- >- >-importing a patch in a subdirectory failed at the commit stage >- >- $ echo line 2 >> a/d1/d2/a >- $ hg --cwd a ci -u someoneelse -d '1 0' -m'subdir change' >- >-hg import in a subdirectory >- >- $ hg clone -r0 a b >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 2 changes to 2 files >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg --cwd a export tip > tmp >- $ sed -e 's/d1\/d2\///' < tmp > tip.patch >- $ dir=`pwd` >- $ cd b/d1/d2 2>&1 > /dev/null >- $ hg import ../../../tip.patch >- applying ../../../tip.patch >- $ cd "$dir" >- >-message should be 'subdir change' >- >- $ hg --cwd b tip | grep 'subdir change' >- summary: subdir change >- >-committer should be 'someoneelse' >- >- $ hg --cwd b tip | grep someoneelse >- user: someoneelse >- >-should be empty >- >- $ hg --cwd b status >- >- >-Test fuzziness (ambiguous patch location, fuzz=2) >- >- $ hg init fuzzy >- $ cd fuzzy >- $ echo line1 > a >- $ echo line0 >> a >- $ echo line3 >> a >- $ hg ci -Am adda >- adding a >- $ echo line1 > a >- $ echo line2 >> a >- $ echo line0 >> a >- $ echo line3 >> a >- $ hg ci -m change a >- $ hg export tip > tip.patch >- $ hg up -C 0 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo line1 > a >- $ echo line0 >> a >- $ echo line1 >> a >- $ echo line0 >> a >- $ hg ci -m brancha >- created new head >- $ hg import --no-commit -v tip.patch >- applying tip.patch >- patching file a >- Hunk #1 succeeded at 1 with fuzz 2 (offset -2 lines). >- $ hg revert -a >- reverting a >- >-test fuzziness with eol=auto >- >- $ hg --config patch.eol=auto import --no-commit -v tip.patch >- applying tip.patch >- patching file a >- Hunk #1 succeeded at 1 with fuzz 2 (offset -2 lines). >- $ cd .. >- >- >-Test hunk touching empty files (issue906) >- >- $ hg init empty >- $ cd empty >- $ touch a >- $ touch b1 >- $ touch c1 >- $ echo d > d >- $ hg ci -Am init >- adding a >- adding b1 >- adding c1 >- adding d >- $ echo a > a >- $ echo b > b1 >- $ hg mv b1 b2 >- $ echo c > c1 >- $ hg copy c1 c2 >- $ rm d >- $ touch d >- $ hg diff --git >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -0,0 +1,1 @@ >- +a >- diff --git a/b1 b/b2 >- rename from b1 >- rename to b2 >- --- a/b1 >- +++ b/b2 >- @@ -0,0 +1,1 @@ >- +b >- diff --git a/c1 b/c1 >- --- a/c1 >- +++ b/c1 >- @@ -0,0 +1,1 @@ >- +c >- diff --git a/c1 b/c2 >- copy from c1 >- copy to c2 >- --- a/c1 >- +++ b/c2 >- @@ -0,0 +1,1 @@ >- +c >- diff --git a/d b/d >- --- a/d >- +++ b/d >- @@ -1,1 +0,0 @@ >- -d >- $ hg ci -m empty >- $ hg export --git tip > empty.diff >- $ hg up -C 0 >- 4 files updated, 0 files merged, 2 files removed, 0 files unresolved >- $ hg import empty.diff >- applying empty.diff >- $ for name in a b1 b2 c1 c2 d; do >- > echo % $name file >- > test -f $name && cat $name >- > done >- % a file >- a >- % b1 file >- % b2 file >- b >- % c1 file >- c >- % c2 file >- c >- % d file >- $ cd .. >- >- >-Test importing a patch ending with a binary file removal >- >- $ hg init binaryremoval >- $ cd binaryremoval >- $ echo a > a >- $ python -c "file('b', 'wb').write('a\x00b')" >- $ hg ci -Am addall >- adding a >- adding b >- $ hg rm a >- $ hg rm b >- $ hg st >- R a >- R b >- $ hg ci -m remove >- $ hg export --git . > remove.diff >- $ cat remove.diff | grep git >- diff --git a/a b/a >- diff --git a/b b/b >- $ hg up -C 0 >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg import remove.diff >- applying remove.diff >- $ hg manifest >- $ cd .. >- >- >-Issue927: test update+rename with common name >- >- $ hg init t >- $ cd t >- $ touch a >- $ hg ci -Am t >- adding a >- $ echo a > a >- >-Here, bfile.startswith(afile) >- >- $ hg copy a a2 >- $ hg ci -m copya >- $ hg export --git tip > copy.diff >- $ hg up -C 0 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ hg import copy.diff >- applying copy.diff >- >-a should contain an 'a' >- >- $ cat a >- a >- >-and a2 should have duplicated it >- >- $ cat a2 >- a >- $ cd .. >- >- >-test -p0 >- >- $ hg init p0 >- $ cd p0 >- $ echo a > a >- $ hg ci -Am t >- adding a >- $ hg import -p0 - << EOF >- > foobar >- > --- a Sat Apr 12 22:43:58 2008 -0400 >- > +++ a Sat Apr 12 22:44:05 2008 -0400 >- > @@ -1,1 +1,1 @@ >- > -a >- > +bb >- > EOF >- applying patch from stdin >- $ hg status >- $ cat a >- bb >- $ cd .. >- >- >-test paths outside repo root >- >- $ mkdir outside >- $ touch outside/foo >- $ hg init inside >- $ cd inside >- $ hg import - <<EOF >- > diff --git a/a b/b >- > rename from ../outside/foo >- > rename to bar >- > EOF >- applying patch from stdin >- abort: ../outside/foo not under root >- [255] >- $ cd .. >- >- >-test import with similarity and git and strip (issue295 et al.) >- >- $ hg init sim >- $ cd sim >- $ echo 'this is a test' > a >- $ hg ci -Ama >- adding a >- $ cat > ../rename.diff <<EOF >- > diff --git a/foo/a b/foo/a >- > deleted file mode 100644 >- > --- a/foo/a >- > +++ /dev/null >- > @@ -1,1 +0,0 @@ >- > -this is a test >- > diff --git a/foo/b b/foo/b >- > new file mode 100644 >- > --- /dev/null >- > +++ b/foo/b >- > @@ -0,0 +1,2 @@ >- > +this is a test >- > +foo >- > EOF >- $ hg import --no-commit -v -s 1 ../rename.diff -p2 >- applying ../rename.diff >- patching file a >- patching file b >- removing a >- adding b >- recording removal of a as rename to b (88% similar) >- $ hg st -C >- A b >- a >- R a >- $ hg revert -a >- undeleting a >- forgetting b >- $ rm b >- $ hg import --no-commit -v -s 100 ../rename.diff -p2 >- applying ../rename.diff >- patching file a >- patching file b >- removing a >- adding b >- $ hg st -C >- A b >- R a >- $ cd .. >- >- >-Issue1495: add empty file from the end of patch >- >- $ hg init addemptyend >- $ cd addemptyend >- $ touch a >- $ hg addremove >- adding a >- $ hg ci -m "commit" >- $ cat > a.patch <<EOF >- > diff --git a/a b/a >- > --- a/a >- > +++ b/a >- > @@ -0,0 +1,1 @@ >- > +a >- > diff --git a/b b/b >- > new file mode 100644 >- > EOF >- $ hg import --no-commit a.patch >- applying a.patch >- $ cd .. >- >- >-create file when source is not /dev/null >- >- $ cat > create.patch <<EOF >- > diff -Naur proj-orig/foo proj-new/foo >- > --- proj-orig/foo 1969-12-31 16:00:00.000000000 -0800 >- > +++ proj-new/foo 2009-07-17 16:50:45.801368000 -0700 >- > @@ -0,0 +1,1 @@ >- > +a >- > EOF >- >-some people have patches like the following too >- >- $ cat > create2.patch <<EOF >- > diff -Naur proj-orig/foo proj-new/foo >- > --- proj-orig/foo.orig 1969-12-31 16:00:00.000000000 -0800 >- > +++ proj-new/foo 2009-07-17 16:50:45.801368000 -0700 >- > @@ -0,0 +1,1 @@ >- > +a >- > EOF >- $ hg init oddcreate >- $ cd oddcreate >- $ hg import --no-commit ../create.patch >- applying ../create.patch >- $ cat foo >- a >- $ rm foo >- $ hg revert foo >- $ hg import --no-commit ../create2.patch >- applying ../create2.patch >- $ cat foo >- a >- >- >-Issue1859: first line mistaken for email headers >- >- $ hg init emailconfusion >- $ cd emailconfusion >- $ cat > a.patch <<EOF >- > module: summary >- > >- > description >- > >- > >- > diff -r 000000000000 -r 9b4c1e343b55 test.txt >- > --- /dev/null >- > +++ b/a >- > @@ -0,0 +1,1 @@ >- > +a >- > EOF >- $ hg import -d '0 0' a.patch >- applying a.patch >- $ hg parents -v >- changeset: 0:5a681217c0ad >- tag: tip >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- files: a >- description: >- module: summary >- >- description >- >- >- $ cd .. >- >- >---- in commit message >- >- $ hg init commitconfusion >- $ cd commitconfusion >- $ cat > a.patch <<EOF >- > module: summary >- > >- > --- description >- > >- > diff --git a/a b/a >- > new file mode 100644 >- > --- /dev/null >- > +++ b/a >- > @@ -0,0 +1,1 @@ >- > +a >- > EOF >- > hg import -d '0 0' a.patch >- > hg parents -v >- > cd .. >- > >- > echo '% tricky header splitting' >- > cat > trickyheaders.patch <<EOF >- > From: User A <user@a> >- > Subject: [PATCH] from: tricky! >- > >- > # HG changeset patch >- > # User User B >- > # Date 1266264441 18000 >- > # Branch stable >- > # Node ID f2be6a1170ac83bf31cb4ae0bad00d7678115bc0 >- > # Parent 0000000000000000000000000000000000000000 >- > from: tricky! >- > >- > That is not a header. >- > >- > diff -r 000000000000 -r f2be6a1170ac foo >- > --- /dev/null >- > +++ b/foo >- > @@ -0,0 +1,1 @@ >- > +foo >- > EOF >- applying a.patch >- changeset: 0:f34d9187897d >- tag: tip >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- files: a >- description: >- module: summary >- >- >- % tricky header splitting >- >- $ hg init trickyheaders >- $ cd trickyheaders >- $ hg import -d '0 0' ../trickyheaders.patch >- applying ../trickyheaders.patch >- $ hg export --git tip >- # HG changeset patch >- # User User B >- # Date 0 0 >- # Node ID eb56ab91903632294ac504838508cb370c0901d2 >- # Parent 0000000000000000000000000000000000000000 >- from: tricky! >- >- That is not a header. >- >- diff --git a/foo b/foo >- new file mode 100644 >- --- /dev/null >- +++ b/foo >- @@ -0,0 +1,1 @@ >- +foo >- $ cd .. >- >- >-Issue2102: hg export and hg import speak different languages >- >- $ hg init issue2102 >- $ cd issue2102 >- $ mkdir -p src/cmd/gc >- $ touch src/cmd/gc/mksys.bash >- $ hg ci -Am init >- adding src/cmd/gc/mksys.bash >- $ hg import - <<EOF >- > # HG changeset patch >- > # User Rob Pike >- > # Date 1216685449 25200 >- > # Node ID 03aa2b206f499ad6eb50e6e207b9e710d6409c98 >- > # Parent 93d10138ad8df586827ca90b4ddb5033e21a3a84 >- > help management of empty pkg and lib directories in perforce >- > >- > R=gri >- > DELTA=4 (4 added, 0 deleted, 0 changed) >- > OCL=13328 >- > CL=13328 >- > >- > diff --git a/lib/place-holder b/lib/place-holder >- > new file mode 100644 >- > --- /dev/null >- > +++ b/lib/place-holder >- > @@ -0,0 +1,2 @@ >- > +perforce does not maintain empty directories. >- > +this file helps. >- > diff --git a/pkg/place-holder b/pkg/place-holder >- > new file mode 100644 >- > --- /dev/null >- > +++ b/pkg/place-holder >- > @@ -0,0 +1,2 @@ >- > +perforce does not maintain empty directories. >- > +this file helps. >- > diff --git a/src/cmd/gc/mksys.bash b/src/cmd/gc/mksys.bash >- > old mode 100644 >- > new mode 100755 >- > EOF >- applying patch from stdin >- $ hg sum >- parent: 1:d59915696727 tip >- help management of empty pkg and lib directories in perforce >- branch: default >- commit: (clean) >- update: (current) >- $ hg diff --git -c tip >- diff --git a/lib/place-holder b/lib/place-holder >- new file mode 100644 >- --- /dev/null >- +++ b/lib/place-holder >- @@ -0,0 +1,2 @@ >- +perforce does not maintain empty directories. >- +this file helps. >- diff --git a/pkg/place-holder b/pkg/place-holder >- new file mode 100644 >- --- /dev/null >- +++ b/pkg/place-holder >- @@ -0,0 +1,2 @@ >- +perforce does not maintain empty directories. >- +this file helps. >- diff --git a/src/cmd/gc/mksys.bash b/src/cmd/gc/mksys.bash >- old mode 100644 >- new mode 100755 >- $ cd .. >- >- >-diff lines looking like headers >- >- $ hg init difflineslikeheaders >- $ cd difflineslikeheaders >- $ echo a >a >- $ echo b >b >- $ echo c >c >- $ hg ci -Am1 >- adding a >- adding b >- adding c >- >- $ echo "key: value" >>a >- $ echo "key: value" >>b >- $ echo "foo" >>c >- $ hg ci -m2 >- >- $ hg up -C 0 >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg diff --git -c1 >want >- $ hg diff -c1 | hg import --no-commit - >- applying patch from stdin >- $ hg diff --git >have >- $ diff want have >- $ cd .. >- >!........................ >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-keyword.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-keyword.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-keyword.t.err >@@ -1,3 +1,5 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ cat <<EOF >> $HGRCPATH > > [extensions] > > keyword = >@@ -8,1032 +10,3 @@ > > [ui] > > interactive = true > > EOF >- >-Run kwdemo before [keyword] files are set up >-as it would succeed without uisetup otherwise >- >- $ hg --quiet kwdemo >- [extensions] >- keyword = >- [keyword] >- demo.txt = >- [keywordmaps] >- Author = {author|user} >- Date = {date|utcdate} >- Header = {root}/{file},v {node|short} {date|utcdate} {author|user} >- Id = {file|basename},v {node|short} {date|utcdate} {author|user} >- RCSFile = {file|basename},v >- RCSfile = {file|basename},v >- Revision = {node|short} >- Source = {root}/{file},v >- $Author: test $ >- $Date: ????/??/?? ??:??:?? $ (glob) >- $Header: */demo.txt,v ???????????? ????/??/?? ??:??:?? test $ (glob) >- $Id: demo.txt,v ???????????? ????/??/?? ??:??:?? test $ (glob) >- $RCSFile: demo.txt,v $ >- $RCSfile: demo.txt,v $ >- $Revision: ???????????? $ (glob) >- $Source: */demo.txt,v $ (glob) >- >- $ hg --quiet kwdemo "Branch = {branches}" >- [extensions] >- keyword = >- [keyword] >- demo.txt = >- [keywordmaps] >- Branch = {branches} >- $Branch: demobranch $ >- >- $ cat <<EOF >> $HGRCPATH >- > [keyword] >- > ** = >- > b = ignore >- > i = ignore >- > [hooks] >- > EOF >- $ cp $HGRCPATH $HGRCPATH.nohooks >- > cat <<EOF >> $HGRCPATH >- > commit= >- > commit.test=cp a hooktest >- > EOF >- >- $ hg init Test-bndl >- $ cd Test-bndl >- >-kwshrink should exit silently in empty/invalid repo >- >- $ hg kwshrink >- >-Symlinks cannot be created on Windows. >-A bundle to test this was made with: >- hg init t >- cd t >- echo a > a >- ln -s a sym >- hg add sym >- hg ci -m addsym -u mercurial >- hg bundle --base null ../test-keyword.hg >- >- $ hg pull -u "$TESTDIR"/test-keyword.hg >- pulling from *test-keyword.hg (glob) >- requesting all changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >- $ echo 'expand $Id$' > a >- $ echo 'do not process $Id:' >> a >- $ echo 'xxx $' >> a >- $ echo 'ignore $Id$' > b >- >-Output files as they were created >- >- $ cat a b >- expand $Id$ >- do not process $Id: >- xxx $ >- ignore $Id$ >- >-no kwfiles >- >- $ hg kwfiles >- >-untracked candidates >- >- $ hg -v kwfiles --unknown >- k a >- >-Add files and check status >- >- $ hg addremove >- adding a >- adding b >- $ hg status >- A a >- A b >- >- >-Default keyword expansion including commit hook >-Interrupted commit should not change state or run commit hook >- >- $ hg --debug commit >- abort: empty commit message >- [255] >- $ hg status >- A a >- A b >- >-Commit with several checks >- >- $ hg --debug commit -mabsym -u 'User Name <user@example.com>' >- a >- b >- overwriting a expanding keywords >- running hook commit.test: cp a hooktest >- committed changeset 1:ef63ca68695bc9495032c6fda1350c71e6d256e9 >- $ hg status >- ? hooktest >- $ hg debugrebuildstate >- $ hg --quiet identify >- ef63ca68695b >- >-cat files in working directory with keywords expanded >- >- $ cat a b >- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ >- do not process $Id: >- xxx $ >- ignore $Id$ >- >-hg cat files and symlink, no expansion >- >- $ hg cat sym a b && echo >- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ >- do not process $Id: >- xxx $ >- ignore $Id$ >- a >- >-Test hook execution >- >- $ diff a hooktest >- >- $ cp $HGRCPATH.nohooks $HGRCPATH >- $ rm hooktest >- >-bundle >- >- $ hg bundle --base null ../kw.hg >- 2 changesets found >- $ cd .. >- $ hg init Test >- $ cd Test >- >-Notify on pull to check whether keywords stay as is in email >-ie. if patch.diff wrapper acts as it should >- >- $ cat <<EOF >> $HGRCPATH >- > [hooks] >- > incoming.notify = python:hgext.notify.hook >- > [notify] >- > sources = pull >- > diffstat = False >- > maxsubject = 15 >- > [reposubs] >- > * = Test >- > EOF >- >-Pull from bundle and trigger notify >- >- $ hg pull -u ../kw.hg >- pulling from ../kw.hg >- requesting all changes >- adding changesets >- adding manifests >- adding file changes >- added 2 changesets with 3 changes to 3 files >- Content-Type: text/plain; charset="us-ascii" >- MIME-Version: 1.0 >- Content-Transfer-Encoding: 7bit >- Date: * (glob) >- Subject: changeset in... >- From: mercurial >- X-Hg-Notification: changeset a2392c293916 >- Message-Id: <hg.a2392c293916*> (glob) >- To: Test >- >- changeset a2392c293916 in $TESTTMP/Test >- details: *cmd=changeset;node=a2392c293916 (glob) >- description: >- addsym >- >- diffs (6 lines): >- >- diff -r 000000000000 -r a2392c293916 sym >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/sym Sat Feb 09 20:25:47 2008 +0100 >- @@ -0,0 +1,1 @@ >- +a >- \ No newline at end of file >- Content-Type: text/plain; charset="us-ascii" >- MIME-Version: 1.0 >- Content-Transfer-Encoding: 7bit >- Date:* (glob) >- Subject: changeset in... >- From: User Name <user@example.com> >- X-Hg-Notification: changeset ef63ca68695b >- Message-Id: <hg.ef63ca68695b*> (glob) >- To: Test >- >- changeset ef63ca68695b in $TESTTMP/Test >- details: $TESTTMP/Test?cmd=changeset;node=ef63ca68695b >- description: >- absym >- >- diffs (12 lines): >- >- diff -r a2392c293916 -r ef63ca68695b a >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,3 @@ >- +expand $Id$ >- +do not process $Id: >- +xxx $ >- diff -r a2392c293916 -r ef63ca68695b b >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/b Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,1 @@ >- +ignore $Id$ >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >- $ cp $HGRCPATH.nohooks $HGRCPATH >- >-Touch files and check with status >- >- $ touch a b >- $ hg status >- >-Update and expand >- >- $ rm sym a b >- $ hg update -C >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ cat a b >- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ >- do not process $Id: >- xxx $ >- ignore $Id$ >- >-Check whether expansion is filewise >- >- $ echo '$Id$' > c >- $ echo 'tests for different changenodes' >> c >- >-commit file c >- >- $ hg commit -A -mcndiff -d '1 0' -u 'User Name <user@example.com>' >- adding c >- >-force expansion >- >- $ hg -v kwexpand >- overwriting a expanding keywords >- overwriting c expanding keywords >- >-compare changenodes in a and c >- >- $ cat a c >- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ >- do not process $Id: >- xxx $ >- $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $ >- tests for different changenodes >- >-record >- >- $ echo '$Id$' > r >- $ hg add r >- >-record chunk >- >- $ python -c \ >- > 'l=open("a").readlines();l.insert(1,"foo\n");l.append("bar\n");open("a","w").writelines(l);' >- $ hg record -d '1 10' -m rectest a<<EOF >- > y >- > y >- > n >- > EOF >- diff --git a/a b/a >- 2 hunks, 2 lines changed >- examine changes to 'a'? [Ynsfdaq?] >- @@ -1,3 +1,4 @@ >- expand $Id$ >- +foo >- do not process $Id: >- xxx $ >- record change 1/2 to 'a'? [Ynsfdaq?] >- @@ -2,2 +3,3 @@ >- do not process $Id: >- xxx $ >- +bar >- record change 2/2 to 'a'? [Ynsfdaq?] >- >- $ hg identify >- d17e03c92c97+ tip >- $ hg status >- M a >- A r >- >-Cat modified file a >- >- $ cat a >- expand $Id: a,v d17e03c92c97 1970/01/01 00:00:01 test $ >- foo >- do not process $Id: >- xxx $ >- bar >- >-Diff remaining chunk >- >- $ hg diff a >- diff -r d17e03c92c97 a >- --- a/a Wed Dec 31 23:59:51 1969 -0000 >- +++ b/a * (glob) >- @@ -2,3 +2,4 @@ >- foo >- do not process $Id: >- xxx $ >- +bar >- >- $ hg rollback >- rolling back to revision 2 (undo commit) >- >-Record all chunks in file a >- >- $ echo foo > msg >- >- - do not use "hg record -m" here! >- >- $ hg record -l msg -d '1 11' a<<EOF >- > y >- > y >- > y >- > EOF >- diff --git a/a b/a >- 2 hunks, 2 lines changed >- examine changes to 'a'? [Ynsfdaq?] >- @@ -1,3 +1,4 @@ >- expand $Id$ >- +foo >- do not process $Id: >- xxx $ >- record change 1/2 to 'a'? [Ynsfdaq?] >- @@ -2,2 +3,3 @@ >- do not process $Id: >- xxx $ >- +bar >- record change 2/2 to 'a'? [Ynsfdaq?] >- >-File a should be clean >- >- $ hg status -A a >- C a >- >-rollback and revert expansion >- >- $ cat a >- expand $Id: a,v 59f969a3b52c 1970/01/01 00:00:01 test $ >- foo >- do not process $Id: >- xxx $ >- bar >- $ hg --verbose rollback >- rolling back to revision 2 (undo commit) >- overwriting a expanding keywords >- $ hg status a >- M a >- $ cat a >- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ >- foo >- do not process $Id: >- xxx $ >- bar >- $ echo '$Id$' > y >- $ echo '$Id$' > z >- $ hg add y >- $ hg commit -Am "rollback only" z >- $ cat z >- $Id: z,v 45a5d3adce53 1970/01/01 00:00:00 test $ >- $ hg --verbose rollback >- rolling back to revision 2 (undo commit) >- overwriting z shrinking keywords >- >-Only z should be overwritten >- >- $ hg status a y z >- M a >- A y >- A z >- $ cat z >- $Id$ >- $ hg forget y z >- $ rm y z >- >-record added file alone >- >- $ hg -v record -l msg -d '1 12' r<<EOF >- > y >- > EOF >- diff --git a/r b/r >- new file mode 100644 >- examine changes to 'r'? [Ynsfdaq?] >- r >- committed changeset 3:899491280810 >- overwriting r expanding keywords >- $ hg --verbose rollback >- rolling back to revision 2 (undo commit) >- overwriting r shrinking keywords >- $ hg forget r >- $ rm msg r >- $ hg update -C >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >-record added keyword ignored file >- >- $ echo '$Id$' > i >- $ hg add i >- $ hg --verbose record -d '1 13' -m recignored<<EOF >- > y >- > EOF >- diff --git a/i b/i >- new file mode 100644 >- examine changes to 'i'? [Ynsfdaq?] >- i >- committed changeset 3:5f40fe93bbdc >- $ cat i >- $Id$ >- $ hg -q rollback >- $ hg forget i >- $ rm i >- >-Test patch queue repo >- >- $ hg init --mq >- $ hg qimport -r tip -n mqtest.diff >- $ hg commit --mq -m mqtest >- >-Keywords should not be expanded in patch >- >- $ cat .hg/patches/mqtest.diff >- # HG changeset patch >- # User User Name <user@example.com> >- # Date 1 0 >- # Node ID 40a904bbbe4cd4ab0a1f28411e35db26341a40ad >- # Parent ef63ca68695bc9495032c6fda1350c71e6d256e9 >- cndiff >- >- diff -r ef63ca68695b -r 40a904bbbe4c c >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/c Thu Jan 01 00:00:01 1970 +0000 >- @@ -0,0 +1,2 @@ >- +$Id$ >- +tests for different changenodes >- >- $ hg qpop >- popping mqtest.diff >- patch queue now empty >- >-qgoto, implying qpush, should expand >- >- $ hg qgoto mqtest.diff >- applying mqtest.diff >- now at: mqtest.diff >- $ cat c >- $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $ >- tests for different changenodes >- $ hg cat c >- $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $ >- tests for different changenodes >- >-Keywords should not be expanded in filelog >- >- $ hg --config 'extensions.keyword=!' cat c >- $Id$ >- tests for different changenodes >- >-qpop and move on >- >- $ hg qpop >- popping mqtest.diff >- patch queue now empty >- >-Copy and show added kwfiles >- >- $ hg cp a c >- $ hg kwfiles >- a >- c >- >-Commit and show expansion in original and copy >- >- $ hg --debug commit -ma2c -d '1 0' -u 'User Name <user@example.com>' >- c >- c: copy a:0045e12f6c5791aac80ca6cbfd97709a88307292 >- overwriting c expanding keywords >- committed changeset 2:25736cf2f5cbe41f6be4e6784ef6ecf9f3bbcc7d >- $ cat a c >- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ >- do not process $Id: >- xxx $ >- expand $Id: c,v 25736cf2f5cb 1970/01/01 00:00:01 user $ >- do not process $Id: >- xxx $ >- >-Touch copied c and check its status >- >- $ touch c >- $ hg status >- >-Copy kwfile to keyword ignored file unexpanding keywords >- >- $ hg --verbose copy a i >- copying a to i >- overwriting i shrinking keywords >- $ head -n 1 i >- expand $Id$ >- $ hg forget i >- $ rm i >- >-Copy ignored file to ignored file: no overwriting >- >- $ hg --verbose copy b i >- copying b to i >- $ hg forget i >- $ rm i >- >-cp symlink (becomes regular file), and hg copy after >- >- $ cp sym i >- $ ls -l i >- -rw-r--r--* (glob) >- $ head -1 i >- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ >- $ hg copy --after --verbose sym i >- copying sym to i >- overwriting i shrinking keywords >- $ head -1 i >- expand $Id$ >- $ hg forget i >- $ rm i >- >-Test different options of hg kwfiles >- >- $ hg kwfiles >- a >- c >- $ hg -v kwfiles --ignore >- I b >- I sym >- $ hg kwfiles --all >- K a >- K c >- I b >- I sym >- >-Diff specific revision >- >- $ hg diff --rev 1 >- diff -r ef63ca68695b c >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/c * (glob) >- @@ -0,0 +1,3 @@ >- +expand $Id$ >- +do not process $Id: >- +xxx $ >- >-Status after rollback: >- >- $ hg rollback >- rolling back to revision 1 (undo commit) >- $ hg status >- A c >- $ hg update --clean >- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >-Custom keywordmaps as argument to kwdemo >- >- $ hg --quiet kwdemo "Xinfo = {author}: {desc}" >- [extensions] >- keyword = >- [keyword] >- ** = >- b = ignore >- demo.txt = >- i = ignore >- [keywordmaps] >- Xinfo = {author}: {desc} >- $Xinfo: test: hg keyword configuration and expansion example $ >- >-Configure custom keywordmaps >- >- $ cat <<EOF >>$HGRCPATH >- > [keywordmaps] >- > Id = {file} {node|short} {date|rfc822date} {author|user} >- > Xinfo = {author}: {desc} >- > EOF >- >-Cat and hg cat files before custom expansion >- >- $ cat a b >- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $ >- do not process $Id: >- xxx $ >- ignore $Id$ >- $ hg cat sym a b && echo >- expand $Id: a ef63ca68695b Thu, 01 Jan 1970 00:00:00 +0000 user $ >- do not process $Id: >- xxx $ >- ignore $Id$ >- a >- >-Write custom keyword and prepare multiline commit message >- >- $ echo '$Xinfo$' >> a >- $ cat <<EOF >> log >- > firstline >- > secondline >- > EOF >- >-Interrupted commit should not change state >- >- $ hg commit >- abort: empty commit message >- [255] >- $ hg status >- M a >- ? c >- ? log >- >-Commit with multiline message and custom expansion >- >- $ hg --debug commit -l log -d '2 0' -u 'User Name <user@example.com>' >- a >- overwriting a expanding keywords >- committed changeset 2:bb948857c743469b22bbf51f7ec8112279ca5d83 >- $ rm log >- >-Stat, verify and show custom expansion (firstline) >- >- $ hg status >- ? c >- $ hg verify >- checking changesets >- checking manifests >- crosschecking files in changesets and manifests >- checking files >- 3 files, 3 changesets, 4 total revisions >- $ cat a b >- expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ >- do not process $Id: >- xxx $ >- $Xinfo: User Name <user@example.com>: firstline $ >- ignore $Id$ >- $ hg cat sym a b && echo >- expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ >- do not process $Id: >- xxx $ >- $Xinfo: User Name <user@example.com>: firstline $ >- ignore $Id$ >- a >- >-annotate >- >- $ hg annotate a >- 1: expand $Id$ >- 1: do not process $Id: >- 1: xxx $ >- 2: $Xinfo$ >- >-remove with status checks >- >- $ hg debugrebuildstate >- $ hg remove a >- $ hg --debug commit -m rma >- committed changeset 3:d14c712653769de926994cf7fbb06c8fbd68f012 >- $ hg status >- ? c >- >-Rollback, revert, and check expansion >- >- $ hg rollback >- rolling back to revision 2 (undo commit) >- $ hg status >- R a >- ? c >- $ hg revert --no-backup --rev tip a >- $ cat a >- expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ >- do not process $Id: >- xxx $ >- $Xinfo: User Name <user@example.com>: firstline $ >- >-Clone to test global and local configurations >- >- $ cd .. >- >-Expansion in destinaton with global configuration >- >- $ hg --quiet clone Test globalconf >- $ cat globalconf/a >- expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ >- do not process $Id: >- xxx $ >- $Xinfo: User Name <user@example.com>: firstline $ >- >-No expansion in destination with local configuration in origin only >- >- $ hg --quiet --config 'keyword.**=ignore' clone Test localconf >- $ cat localconf/a >- expand $Id$ >- do not process $Id: >- xxx $ >- $Xinfo$ >- >-Clone to test incoming >- >- $ hg clone -r1 Test Test-a >- adding changesets >- adding manifests >- adding file changes >- added 2 changesets with 3 changes to 3 files >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ cd Test-a >- $ cat <<EOF >> .hg/hgrc >- > [paths] >- > default = ../Test >- > EOF >- $ hg incoming >- comparing with $TESTTMP/Test >- searching for changes >- changeset: 2:bb948857c743 >- tag: tip >- user: User Name <user@example.com> >- date: Thu Jan 01 00:00:02 1970 +0000 >- summary: firstline >- >-Imported patch should not be rejected >- >- $ python -c \ >- > 'import re; s=re.sub("(Id.*)","\\1 rejecttest",open("a").read()); open("a","wb").write(s);' >- $ hg --debug commit -m'rejects?' -d '3 0' -u 'User Name <user@example.com>' >- a >- overwriting a expanding keywords >- committed changeset 2:85e279d709ffc28c9fdd1b868570985fc3d87082 >- $ hg export -o ../rejecttest.diff tip >- $ cd ../Test >- $ hg import ../rejecttest.diff >- applying ../rejecttest.diff >- $ cat a b >- expand $Id: a 4e0994474d25 Thu, 01 Jan 1970 00:00:03 +0000 user $ rejecttest >- do not process $Id: rejecttest >- xxx $ >- $Xinfo: User Name <user@example.com>: rejects? $ >- ignore $Id$ >- >- $ hg rollback >- rolling back to revision 2 (undo commit) >- $ hg update --clean >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >-kwexpand/kwshrink on selected files >- >- $ mkdir x >- $ hg copy a x/a >- $ hg --verbose kwshrink a >- overwriting a shrinking keywords >- $ hg status a >- $ hg --verbose kwexpand a >- overwriting a expanding keywords >- $ hg status a >- >-kwexpand x/a should abort >- >- $ hg --verbose kwexpand x/a >- abort: outstanding uncommitted changes >- [255] >- $ cd x >- $ hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>' >- x/a >- x/a: copy a:779c764182ce5d43e2b1eb66ce06d7b47bfe342e >- overwriting x/a expanding keywords >- committed changeset 3:b4560182a3f9a358179fd2d835c15e9da379c1e4 >- $ cat a >- expand $Id: x/a b4560182a3f9 Thu, 01 Jan 1970 00:00:03 +0000 user $ >- do not process $Id: >- xxx $ >- $Xinfo: User Name <user@example.com>: xa $ >- >-kwshrink a inside directory x >- >- $ hg --verbose kwshrink a >- overwriting x/a shrinking keywords >- $ cat a >- expand $Id$ >- do not process $Id: >- xxx $ >- $Xinfo$ >- $ cd .. >- >-kwexpand nonexistent >- >- $ hg kwexpand nonexistent >- nonexistent:* (glob) >- >- >-hg serve >- - expand with hgweb file >- - no expansion with hgweb annotate/changeset/filediff >- - check errors >- >- $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log >- $ cat hg.pid >> $DAEMON_PIDS >- $ $TESTDIR/get-with-headers.py localhost:$HGPORT '/file/tip/a/?style=raw' >- 200 Script output follows >- >- expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ >- do not process $Id: >- xxx $ >- $Xinfo: User Name <user@example.com>: firstline $ >- $ $TESTDIR/get-with-headers.py localhost:$HGPORT '/annotate/tip/a/?style=raw' >- 200 Script output follows >- >- >- user@1: expand $Id$ >- user@1: do not process $Id: >- user@1: xxx $ >- user@2: $Xinfo$ >- >- >- >- >- $ $TESTDIR/get-with-headers.py localhost:$HGPORT '/rev/tip/?style=raw' >- 200 Script output follows >- >- >- # HG changeset patch >- # User User Name <user@example.com> >- # Date 3 0 >- # Node ID b4560182a3f9a358179fd2d835c15e9da379c1e4 >- # Parent bb948857c743469b22bbf51f7ec8112279ca5d83 >- xa >- >- diff -r bb948857c743 -r b4560182a3f9 x/a >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/x/a Thu Jan 01 00:00:03 1970 +0000 >- @@ -0,0 +1,4 @@ >- +expand $Id$ >- +do not process $Id: >- +xxx $ >- +$Xinfo$ >- >- $ $TESTDIR/get-with-headers.py localhost:$HGPORT '/diff/bb948857c743/a?style=raw' >- 200 Script output follows >- >- >- diff -r ef63ca68695b -r bb948857c743 a >- --- a/a Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:02 1970 +0000 >- @@ -1,3 +1,4 @@ >- expand $Id$ >- do not process $Id: >- xxx $ >- +$Xinfo$ >- >- >- >- >- $ cat errors.log >- >-Prepare merge and resolve tests >- >- $ echo '$Id$' > m >- $ hg add m >- $ hg commit -m 4kw >- $ echo foo >> m >- $ hg commit -m 5foo >- >-simplemerge >- >- $ hg update 4 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo foo >> m >- $ hg commit -m 6foo >- created new head >- $ hg merge >- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ hg commit -m simplemerge >- $ cat m >- $Id: m 27d48ee14f67 Thu, 01 Jan 1970 00:00:00 +0000 test $ >- foo >- >-conflict: keyword should stay outside conflict zone >- >- $ hg update 4 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo bar >> m >- $ hg commit -m 8bar >- created new head >- $ hg merge >- merging m >- warning: conflicts during merge. >- merging m failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- [1] >- $ cat m >- $Id$ >- <<<<<<< local >- bar >- ======= >- foo >- >>>>>>> other >- >-resolve to local >- >- $ HGMERGE=internal:local hg resolve -a >- $ hg commit -m localresolve >- $ cat m >- $Id: m 41efa6d38e9b Thu, 01 Jan 1970 00:00:00 +0000 test $ >- bar >- >-Test restricted mode with transplant -b >- >- $ hg update 6 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg branch foo >- marked working directory as branch foo >- $ mv a a.bak >- $ echo foobranch > a >- $ cat a.bak >> a >- $ rm a.bak >- $ hg commit -m 9foobranch >- $ hg update default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -y transplant -b foo tip >- applying 4aa30d025d50 >- 4aa30d025d50 transplanted to 5a4da427c162 >- >-Expansion in changeset but not in file >- >- $ hg tip -p >- changeset: 11:5a4da427c162 >- tag: tip >- parent: 9:41efa6d38e9b >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: 9foobranch >- >- diff -r 41efa6d38e9b -r 5a4da427c162 a >- --- a/a Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:00 1970 +0000 >- @@ -1,3 +1,4 @@ >- +foobranch >- expand $Id$ >- do not process $Id: >- xxx $ >- >- $ head -n 2 a >- foobranch >- expand $Id: a 5a4da427c162 Thu, 01 Jan 1970 00:00:00 +0000 test $ >- >-Turn off expansion >- >- $ hg -q rollback >- $ hg -q update -C >- >-kwshrink with unknown file u >- >- $ cp a u >- $ hg --verbose kwshrink >- overwriting a shrinking keywords >- overwriting m shrinking keywords >- overwriting x/a shrinking keywords >- >-Keywords shrunk in working directory, but not yet disabled >- - cat shows unexpanded keywords >- - hg cat shows expanded keywords >- >- $ cat a b >- expand $Id$ >- do not process $Id: >- xxx $ >- $Xinfo$ >- ignore $Id$ >- $ hg cat sym a b && echo >- expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ >- do not process $Id: >- xxx $ >- $Xinfo: User Name <user@example.com>: firstline $ >- ignore $Id$ >- a >- >-Now disable keyword expansion >- >- $ rm "$HGRCPATH" >- $ cat a b >- expand $Id$ >- do not process $Id: >- xxx $ >- $Xinfo$ >- ignore $Id$ >- $ hg cat sym a b && echo >- expand $Id$ >- do not process $Id: >- xxx $ >- $Xinfo$ >- ignore $Id$ >- a >!........ >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-log.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-log.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-log.t.err >@@ -1,1094 +1,3 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ hg init a >- >- $ cd a >- $ echo a > a >- $ hg ci -Ama -d '1 0' >- adding a >- >- $ hg cp a b >- $ hg ci -mb -d '2 0' >- >- $ mkdir dir >- $ hg mv b dir >- $ hg ci -mc -d '3 0' >- >- $ hg mv a b >- $ echo a > d >- $ hg add d >- $ hg ci -md -d '4 0' >- >- $ hg mv dir/b e >- $ hg ci -me -d '5 0' >- >- $ hg log a >- changeset: 0:8580ff50825a >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: a >- >- >--f, directory >- >- $ hg log -f dir >- abort: cannot follow nonexistent file: "dir" >- [255] >- >--f, but no args >- >- $ hg log -f >- changeset: 4:66c1345dc4f9 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:05 1970 +0000 >- summary: e >- >- changeset: 3:7c6c671bb7cc >- user: test >- date: Thu Jan 01 00:00:04 1970 +0000 >- summary: d >- >- changeset: 2:41dd4284081e >- user: test >- date: Thu Jan 01 00:00:03 1970 +0000 >- summary: c >- >- changeset: 1:784de7cef101 >- user: test >- date: Thu Jan 01 00:00:02 1970 +0000 >- summary: b >- >- changeset: 0:8580ff50825a >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: a >- >- >-one rename >- >- $ hg log -vf a >- changeset: 0:8580ff50825a >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- files: a >- description: >- a >- >- >- >-many renames >- >- $ hg log -vf e >- changeset: 4:66c1345dc4f9 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:05 1970 +0000 >- files: dir/b e >- description: >- e >- >- >- changeset: 2:41dd4284081e >- user: test >- date: Thu Jan 01 00:00:03 1970 +0000 >- files: b dir/b >- description: >- c >- >- >- changeset: 1:784de7cef101 >- user: test >- date: Thu Jan 01 00:00:02 1970 +0000 >- files: b >- description: >- b >- >- >- changeset: 0:8580ff50825a >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- files: a >- description: >- a >- >- >- >- >-log -pf dir/b >- >- $ hg log -pf dir/b >- changeset: 2:41dd4284081e >- user: test >- date: Thu Jan 01 00:00:03 1970 +0000 >- summary: c >- >- diff -r 784de7cef101 -r 41dd4284081e dir/b >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000 >- @@ -0,0 +1,1 @@ >- +a >- >- changeset: 1:784de7cef101 >- user: test >- date: Thu Jan 01 00:00:02 1970 +0000 >- summary: b >- >- diff -r 8580ff50825a -r 784de7cef101 b >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/b Thu Jan 01 00:00:02 1970 +0000 >- @@ -0,0 +1,1 @@ >- +a >- >- changeset: 0:8580ff50825a >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: a >- >- diff -r 000000000000 -r 8580ff50825a a >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:01 1970 +0000 >- @@ -0,0 +1,1 @@ >- +a >- >- >-log -vf dir/b >- >- $ hg log -vf dir/b >- changeset: 2:41dd4284081e >- user: test >- date: Thu Jan 01 00:00:03 1970 +0000 >- files: b dir/b >- description: >- c >- >- >- changeset: 1:784de7cef101 >- user: test >- date: Thu Jan 01 00:00:02 1970 +0000 >- files: b >- description: >- b >- >- >- changeset: 0:8580ff50825a >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- files: a >- description: >- a >- >- >- >- >-log copies with --copies >- >- $ hg log -vC --template '{rev} {file_copies}\n' >- 4 e (dir/b) >- 3 b (a) >- 2 dir/b (b) >- 1 b (a) >- 0 >- >-log copies switch without --copies, with old filecopy template >- >- $ hg log -v --template '{rev} {file_copies_switch%filecopy}\n' >- 4 >- 3 >- 2 >- 1 >- 0 >- >-log copies switch with --copies >- >- $ hg log -vC --template '{rev} {file_copies_switch}\n' >- 4 e (dir/b) >- 3 b (a) >- 2 dir/b (b) >- 1 b (a) >- 0 >- >- >-log copies with hardcoded style and with --style=default >- >- $ hg log -vC -r4 >- changeset: 4:66c1345dc4f9 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:05 1970 +0000 >- files: dir/b e >- copies: e (dir/b) >- description: >- e >- >- >- $ hg log -vC -r4 --style=default >- changeset: 4:66c1345dc4f9 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:05 1970 +0000 >- files: dir/b e >- copies: e (dir/b) >- description: >- e >- >- >- >- >-log copies, non-linear manifest >- >- $ hg up -C 3 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ hg mv dir/b e >- $ echo foo > foo >- $ hg ci -Ame2 -d '6 0' >- adding foo >- created new head >- $ hg log -v --template '{rev} {file_copies}\n' -r 5 >- 5 e (dir/b) >- >- >-log copies, execute bit set >- >- $ chmod +x e >- $ hg ci -me3 -d '7 0' >- $ hg log -v --template '{rev} {file_copies}\n' -r 6 >- 6 >- >- >-log -p d >- >- $ hg log -pv d >- changeset: 3:7c6c671bb7cc >- user: test >- date: Thu Jan 01 00:00:04 1970 +0000 >- files: a b d >- description: >- d >- >- >- diff -r 41dd4284081e -r 7c6c671bb7cc d >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/d Thu Jan 01 00:00:04 1970 +0000 >- @@ -0,0 +1,1 @@ >- +a >- >- >- >-log --removed file >- >- $ hg log --removed -v a >- changeset: 3:7c6c671bb7cc >- user: test >- date: Thu Jan 01 00:00:04 1970 +0000 >- files: a b d >- description: >- d >- >- >- changeset: 0:8580ff50825a >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- files: a >- description: >- a >- >- >- >-log --removed revrange file >- >- $ hg log --removed -v -r0:2 a >- changeset: 0:8580ff50825a >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- files: a >- description: >- a >- >- >- >- >-log --follow tests >- >- $ hg init ../follow >- $ cd ../follow >- >- $ echo base > base >- $ hg ci -Ambase -d '1 0' >- adding base >- >- $ echo r1 >> base >- $ hg ci -Amr1 -d '1 0' >- $ echo r2 >> base >- $ hg ci -Amr2 -d '1 0' >- >- $ hg up -C 1 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo b1 > b1 >- $ hg ci -Amb1 -d '1 0' >- adding b1 >- created new head >- >- >-log -f >- >- $ hg log -f >- changeset: 3:e62f78d544b4 >- tag: tip >- parent: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1 >- >- changeset: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: r1 >- >- changeset: 0:67e992f2c4f3 >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: base >- >- >- >-log -f -r 1:tip >- >- $ hg up -C 0 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo b2 > b2 >- $ hg ci -Amb2 -d '1 0' >- adding b2 >- created new head >- $ hg log -f -r 1:tip >- changeset: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: r1 >- >- changeset: 2:60c670bf5b30 >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: r2 >- >- changeset: 3:e62f78d544b4 >- parent: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1 >- >- >- >-log -r . with two parents >- >- $ hg up -C 3 >- 2 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ hg merge tip >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ hg log -r . >- changeset: 3:e62f78d544b4 >- parent: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1 >- >- >- >-log -r . with one parent >- >- $ hg ci -mm12 -d '1 0' >- $ hg log -r . >- changeset: 5:302e9dd6890d >- tag: tip >- parent: 3:e62f78d544b4 >- parent: 4:ddb82e70d1a1 >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: m12 >- >- >- $ echo postm >> b1 >- $ hg ci -Amb1.1 -d'1 0' >- >- >-log --follow-first >- >- $ hg log --follow-first >- changeset: 6:2404bbcab562 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1.1 >- >- changeset: 5:302e9dd6890d >- parent: 3:e62f78d544b4 >- parent: 4:ddb82e70d1a1 >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: m12 >- >- changeset: 3:e62f78d544b4 >- parent: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1 >- >- changeset: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: r1 >- >- changeset: 0:67e992f2c4f3 >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: base >- >- >- >-log -P 2 >- >- $ hg log -P 2 >- changeset: 6:2404bbcab562 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1.1 >- >- changeset: 5:302e9dd6890d >- parent: 3:e62f78d544b4 >- parent: 4:ddb82e70d1a1 >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: m12 >- >- changeset: 4:ddb82e70d1a1 >- parent: 0:67e992f2c4f3 >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b2 >- >- changeset: 3:e62f78d544b4 >- parent: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1 >- >- >- >-log -r tip -p --git >- >- $ hg log -r tip -p --git >- changeset: 6:2404bbcab562 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1.1 >- >- diff --git a/b1 b/b1 >- --- a/b1 >- +++ b/b1 >- @@ -1,1 +1,2 @@ >- b1 >- +postm >- >- >- >-log -r "" >- >- $ hg log -r '' >- hg: parse error: empty query >- [255] >- >-log -r <some unknown node id> >- >- $ hg log -r 1000000000000000000000000000000000000000 >- abort: unknown revision '1000000000000000000000000000000000000000'! >- [255] >- >-log -k r1 >- >- $ hg log -k r1 >- changeset: 1:3d5bf5654eda >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: r1 >- >- >- >-log -d -1 >- >- $ hg log -d -1 >- >- >-log -p -l2 --color=always >- >- $ hg --config extensions.color= --config color.mode=ansi \ >- > log -p -l2 --color=always >- [0;33mchangeset: 6:2404bbcab562[0m >- tag: tip >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1.1 >- >- [0;1mdiff -r 302e9dd6890d -r 2404bbcab562 b1[0m >- [0;31;1m--- a/b1 Thu Jan 01 00:00:01 1970 +0000[0m >- [0;32;1m+++ b/b1 Thu Jan 01 00:00:01 1970 +0000[0m >- [0;35m@@ -1,1 +1,2 @@[0m >- b1 >- [0;32m+postm[0m >- >- [0;33mchangeset: 5:302e9dd6890d[0m >- parent: 3:e62f78d544b4 >- parent: 4:ddb82e70d1a1 >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: m12 >- >- [0;1mdiff -r e62f78d544b4 -r 302e9dd6890d b2[0m >- [0;31;1m--- /dev/null Thu Jan 01 00:00:00 1970 +0000[0m >- [0;32;1m+++ b/b2 Thu Jan 01 00:00:01 1970 +0000[0m >- [0;35m@@ -0,0 +1,1 @@[0m >- [0;32m+b2[0m >- >- >- >-log -r tip --stat >- >- $ hg log -r tip --stat >- changeset: 6:2404bbcab562 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:01 1970 +0000 >- summary: b1.1 >- >- b1 | 1 + >- 1 files changed, 1 insertions(+), 0 deletions(-) >- >- >- $ cd .. >- >- $ hg init usertest >- $ cd usertest >- >- $ echo a > a >- $ hg ci -A -m "a" -u "User One <user1@example.org>" >- adding a >- $ echo b > b >- $ hg ci -A -m "b" -u "User Two <user2@example.org>" >- adding b >- >- $ hg log -u "User One <user1@example.org>" >- changeset: 0:29a4c94f1924 >- user: User One <user1@example.org> >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: a >- >- $ hg log -u "user1" -u "user2" >- changeset: 1:e834b5e69c0e >- tag: tip >- user: User Two <user2@example.org> >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: b >- >- changeset: 0:29a4c94f1924 >- user: User One <user1@example.org> >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: a >- >- $ hg log -u "user3" >- >- $ cd .. >- >- $ hg init branches >- $ cd branches >- >- $ echo a > a >- $ hg ci -A -m "commit on default" >- adding a >- $ hg branch test >- marked working directory as branch test >- $ echo b > b >- $ hg ci -A -m "commit on test" >- adding b >- >- $ hg up default >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo c > c >- $ hg ci -A -m "commit on default" >- adding c >- $ hg up test >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo c > c >- $ hg ci -A -m "commit on test" >- adding c >- >- >-log -b default >- >- $ hg log -b default >- changeset: 2:c3a4f03cc9a7 >- parent: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- changeset: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- >- >-log -b test >- >- $ hg log -b test >- changeset: 3:f5d8de11c2e2 >- branch: test >- tag: tip >- parent: 1:d32277701ccb >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- changeset: 1:d32277701ccb >- branch: test >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- >- >-log -b dummy >- >- $ hg log -b dummy >- abort: unknown revision 'dummy'! >- [255] >- >- >-log -b . >- >- $ hg log -b . >- changeset: 3:f5d8de11c2e2 >- branch: test >- tag: tip >- parent: 1:d32277701ccb >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- changeset: 1:d32277701ccb >- branch: test >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- >- >-log -b default -b test >- >- $ hg log -b default -b test >- changeset: 3:f5d8de11c2e2 >- branch: test >- tag: tip >- parent: 1:d32277701ccb >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- changeset: 2:c3a4f03cc9a7 >- parent: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- changeset: 1:d32277701ccb >- branch: test >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- changeset: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- >- >-log -b default -b . >- >- $ hg log -b default -b . >- changeset: 3:f5d8de11c2e2 >- branch: test >- tag: tip >- parent: 1:d32277701ccb >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- changeset: 2:c3a4f03cc9a7 >- parent: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- changeset: 1:d32277701ccb >- branch: test >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- changeset: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- >- >-log -b . -b test >- >- $ hg log -b . -b test >- changeset: 3:f5d8de11c2e2 >- branch: test >- tag: tip >- parent: 1:d32277701ccb >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- changeset: 1:d32277701ccb >- branch: test >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- >- >-log -b 2 >- >- $ hg log -b 2 >- changeset: 2:c3a4f03cc9a7 >- parent: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- changeset: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- >- >-log -p --cwd dir (in subdir) >- >- $ mkdir dir >- $ hg log -p --cwd dir >- changeset: 3:f5d8de11c2e2 >- branch: test >- tag: tip >- parent: 1:d32277701ccb >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- diff -r d32277701ccb -r f5d8de11c2e2 c >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/c Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,1 @@ >- +c >- >- changeset: 2:c3a4f03cc9a7 >- parent: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- diff -r 24427303d56f -r c3a4f03cc9a7 c >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/c Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,1 @@ >- +c >- >- changeset: 1:d32277701ccb >- branch: test >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on test >- >- diff -r 24427303d56f -r d32277701ccb b >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/b Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,1 @@ >- +b >- >- changeset: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- diff -r 000000000000 -r 24427303d56f a >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,1 @@ >- +a >- >- >- >-log -p -R repo >- >- $ cd dir >- $ hg log -p -R .. ../a >- changeset: 0:24427303d56f >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: commit on default >- >- diff -r 000000000000 -r 24427303d56f a >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,1 @@ >- +a >- >- >- >- $ cd .. >- $ hg init follow2 >- $ cd follow2 >- >- >-# Build the following history: >-# tip - o - x - o - x - x >-# \ / >-# o - o - o - x >-# \ / >-# o >-# >-# Where "o" is a revision containing "foo" and >-# "x" is a revision without "foo" >- >- $ touch init >- $ hg ci -A -m "init, unrelated" >- adding init >- $ echo 'foo' > init >- $ hg ci -m "change, unrelated" >- $ echo 'foo' > foo >- $ hg ci -A -m "add unrelated old foo" >- adding foo >- $ hg rm foo >- $ hg ci -m "delete foo, unrelated" >- $ echo 'related' > foo >- $ hg ci -A -m "add foo, related" >- adding foo >- >- $ hg up 0 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ touch branch >- $ hg ci -A -m "first branch, unrelated" >- adding branch >- created new head >- $ touch foo >- $ hg ci -A -m "create foo, related" >- adding foo >- $ echo 'change' > foo >- $ hg ci -m "change foo, related" >- >- $ hg up 6 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo 'change foo in branch' > foo >- $ hg ci -m "change foo in branch, related" >- created new head >- $ hg merge 7 >- merging foo >- warning: conflicts during merge. >- merging foo failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- [1] >- $ echo 'merge 1' > foo >- $ hg resolve -m foo >- $ hg ci -m "First merge, related" >- >- $ hg merge 4 >- merging foo >- warning: conflicts during merge. >- merging foo failed! >- 1 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- [1] >- $ echo 'merge 2' > foo >- $ hg resolve -m foo >- $ hg ci -m "Last merge, related" >- >- $ hg --config "extensions.graphlog=" glog >- @ changeset: 10:4dae8563d2c5 >- |\ tag: tip >- | | parent: 9:7b35701b003e >- | | parent: 4:88176d361b69 >- | | user: test >- | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | summary: Last merge, related >- | | >- | o changeset: 9:7b35701b003e >- | |\ parent: 8:e5416ad8a855 >- | | | parent: 7:87fe3144dcfa >- | | | user: test >- | | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | | summary: First merge, related >- | | | >- | | o changeset: 8:e5416ad8a855 >- | | | parent: 6:dc6c325fe5ee >- | | | user: test >- | | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | | summary: change foo in branch, related >- | | | >- | o | changeset: 7:87fe3144dcfa >- | |/ user: test >- | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | summary: change foo, related >- | | >- | o changeset: 6:dc6c325fe5ee >- | | user: test >- | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | summary: create foo, related >- | | >- | o changeset: 5:73db34516eb9 >- | | parent: 0:e87515fd044a >- | | user: test >- | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | summary: first branch, unrelated >- | | >- o | changeset: 4:88176d361b69 >- | | user: test >- | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | summary: add foo, related >- | | >- o | changeset: 3:dd78ae4afb56 >- | | user: test >- | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | summary: delete foo, unrelated >- | | >- o | changeset: 2:c4c64aedf0f7 >- | | user: test >- | | date: Thu Jan 01 00:00:00 1970 +0000 >- | | summary: add unrelated old foo >- | | >- o | changeset: 1:e5faa7440653 >- |/ user: test >- | date: Thu Jan 01 00:00:00 1970 +0000 >- | summary: change, unrelated >- | >- o changeset: 0:e87515fd044a >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: init, unrelated >- >- >- $ hg --traceback log -f foo >- changeset: 10:4dae8563d2c5 >- tag: tip >- parent: 9:7b35701b003e >- parent: 4:88176d361b69 >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: Last merge, related >- >- changeset: 9:7b35701b003e >- parent: 8:e5416ad8a855 >- parent: 7:87fe3144dcfa >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: First merge, related >- >- changeset: 8:e5416ad8a855 >- parent: 6:dc6c325fe5ee >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: change foo in branch, related >- >- changeset: 7:87fe3144dcfa >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: change foo, related >- >- changeset: 6:dc6c325fe5ee >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: create foo, related >- >- changeset: 4:88176d361b69 >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: add foo, related >- >- >-Issue2383: hg log showing _less_ differences than hg diff >- >- $ hg init issue2383 >- $ cd issue2383 >- >-Create a test repo: >- >- $ echo a > a >- $ hg ci -Am0 >- adding a >- $ echo b > b >- $ hg ci -Am1 >- adding b >- $ hg co 0 >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo b > a >- $ hg ci -m2 >- created new head >- >-Merge: >- >- $ hg merge >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- >-Make sure there's a file listed in the merge to trigger the bug: >- >- $ echo c > a >- $ hg ci -m3 >- >-Two files shown here in diff: >- >- $ hg diff --rev 2:3 >- diff -r b09be438c43a -r 8e07aafe1edc a >- --- a/a Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:00 1970 +0000 >- @@ -1,1 +1,1 @@ >- -b >- +c >- diff -r b09be438c43a -r 8e07aafe1edc b >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/b Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,1 @@ >- +b >- >-Diff here should be the same: >- >- $ hg log -vpr 3 >- changeset: 3:8e07aafe1edc >- tag: tip >- parent: 2:b09be438c43a >- parent: 1:925d80f479bb >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- files: a >- description: >- 3 >- >- >- diff -r b09be438c43a -r 8e07aafe1edc a >- --- a/a Thu Jan 01 00:00:00 1970 +0000 >- +++ b/a Thu Jan 01 00:00:00 1970 +0000 >- @@ -1,1 +1,1 @@ >- -b >- +c >- diff -r b09be438c43a -r 8e07aafe1edc b >- --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >- +++ b/b Thu Jan 01 00:00:00 1970 +0000 >- @@ -0,0 +1,1 @@ >- +b >- >- $ cd .. >!.......... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-merge-tools.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-merge-tools.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-merge-tools.t.err >@@ -1,778 +1,5 @@ >+ >+ ### Abort: timeout after 180 seconds. > test merge-tools configuration - mostly exercising filemerge.py > > $ unset HGMERGE # make sure HGMERGE doesn't interfere with the test >- $ hg init >- >-revision 0 >- >- $ echo "revision 0" > f >- $ echo "space" >> f >- $ hg commit -Am "revision 0" >- adding f >- >-revision 1 >- >- $ echo "revision 1" > f >- $ echo "space" >> f >- $ hg commit -Am "revision 1" >- $ hg update 0 > /dev/null >- >-revision 2 >- >- $ echo "revision 2" > f >- $ echo "space" >> f >- $ hg commit -Am "revision 2" >- created new head >- $ hg update 0 > /dev/null >- >-revision 3 - simple to merge >- >- $ echo "revision 3" >> f >- $ hg commit -Am "revision 3" >- created new head >- $ echo "[merge-tools]" > .hg/hgrc >- $ echo >- >- $ beforemerge() { >- > cat .hg/hgrc >- > echo "# hg update -C 1" >- > hg update -C 1 > /dev/null >- > } >- $ aftermerge() { >- > echo "# cat f" >- > cat f >- > echo "# hg stat" >- > hg stat >- > rm -f f.orig >- > echo >- > } >- $ domerge() { >- > beforemerge >- > echo "# hg merge $*" >- > hg merge $* >- > aftermerge >- > } >- $ echo >- >- >-Tool selection >- >- $ echo >- >- >-default is internal merge: >- >- $ beforemerge >- [merge-tools] >- # hg update -C 1 >- >-hg merge -r 2 >-override $PATH to ensure hgmerge not visible; use $PYTHON in case we're >-running from a devel copy, not a temp installation >- >- $ PATH="$BINDIR" $PYTHON "$BINDIR"/hg merge -r 2 >- merging f >- warning: conflicts during merge. >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- [1] >- $ aftermerge >- # cat f >- <<<<<<< local >- revision 1 >- ======= >- revision 2 >- >>>>>>> other >- space >- # hg stat >- M f >- ? f.orig >- >- >-simplest hgrc using false for merge: >- >- $ echo "false.whatever=" >> .hg/hgrc >- $ domerge -r 2 >- [merge-tools] >- false.whatever= >- # hg update -C 1 >- # hg merge -r 2 >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- >-true with higher .priority gets precedence: >- >- $ echo "true.priority=1" >> .hg/hgrc >- $ domerge -r 2 >- [merge-tools] >- false.whatever= >- true.priority=1 >- # hg update -C 1 >- # hg merge -r 2 >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 1 >- space >- # hg stat >- M f >- >- >-unless lowered on command line: >- >- $ domerge -r 2 --config merge-tools.true.priority=-7 >- [merge-tools] >- false.whatever= >- true.priority=1 >- # hg update -C 1 >- # hg merge -r 2 --config merge-tools.true.priority=-7 >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- >-or false set higher on command line: >- >- $ domerge -r 2 --config merge-tools.false.priority=117 >- [merge-tools] >- false.whatever= >- true.priority=1 >- # hg update -C 1 >- # hg merge -r 2 --config merge-tools.false.priority=117 >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- >-or true.executable not found in PATH: >- >- $ domerge -r 2 --config merge-tools.true.executable=nonexistingmergetool >- [merge-tools] >- false.whatever= >- true.priority=1 >- # hg update -C 1 >- # hg merge -r 2 --config merge-tools.true.executable=nonexistingmergetool >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- >-or true.executable with bogus path: >- >- $ domerge -r 2 --config merge-tools.true.executable=/nonexisting/mergetool >- [merge-tools] >- false.whatever= >- true.priority=1 >- # hg update -C 1 >- # hg merge -r 2 --config merge-tools.true.executable=/nonexisting/mergetool >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- >-but true.executable set to cat found in PATH works: >- >- $ echo "true.executable=cat" >> .hg/hgrc >- $ domerge -r 2 >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 >- revision 1 >- space >- revision 0 >- space >- revision 2 >- space >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 1 >- space >- # hg stat >- M f >- >- >-and true.executable set to cat with path works: >- >- $ domerge -r 2 --config merge-tools.true.executable=cat >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config merge-tools.true.executable=cat >- revision 1 >- space >- revision 0 >- space >- revision 2 >- space >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 1 >- space >- # hg stat >- M f >- >- $ echo >- >- >-Tool selection and merge-patterns >- >- $ echo >- >- >-merge-patterns specifies new tool false: >- >- $ domerge -r 2 --config merge-patterns.f=false >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config merge-patterns.f=false >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- >-merge-patterns specifies executable not found in PATH and gets warning: >- >- $ domerge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=nonexistingmergetool >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=nonexistingmergetool >- couldn't find merge tool true specified for f >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- >-merge-patterns specifies executable with bogus path and gets warning: >- >- $ domerge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=/nonexisting/mergetool >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=/nonexisting/mergetool >- couldn't find merge tool true specified for f >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- $ echo >- >- >-ui.merge overrules priority >- >- $ echo >- >- >-ui.merge specifies false: >- >- $ domerge -r 2 --config ui.merge=false >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config ui.merge=false >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- >-ui.merge specifies internal:fail: >- >- $ domerge -r 2 --config ui.merge=internal:fail >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config ui.merge=internal:fail >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- >- >-ui.merge specifies internal:local: >- >- $ domerge -r 2 --config ui.merge=internal:local >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config ui.merge=internal:local >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 1 >- space >- # hg stat >- M f >- >- >-ui.merge specifies internal:other: >- >- $ domerge -r 2 --config ui.merge=internal:other >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config ui.merge=internal:other >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 2 >- space >- # hg stat >- M f >- >- >-ui.merge specifies internal:prompt: >- >- $ domerge -r 2 --config ui.merge=internal:prompt >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config ui.merge=internal:prompt >- no tool found to merge f >- keep (l)ocal or take (o)ther? l >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 1 >- space >- # hg stat >- M f >- >- >-ui.merge specifies internal:dump: >- >- $ domerge -r 2 --config ui.merge=internal:dump >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config ui.merge=internal:dump >- merging f >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.base >- ? f.local >- ? f.orig >- ? f.other >- >- >-f.base: >- >- $ cat f.base >- revision 0 >- space >- >-f.local: >- >- $ cat f.local >- revision 1 >- space >- >-f.other: >- >- $ cat f.other >- revision 2 >- space >- $ rm f.base f.local f.other >- $ echo >- >- >-ui.merge specifies internal:other but is overruled by pattern for false: >- >- $ domerge -r 2 --config ui.merge=internal:other --config merge-patterns.f=false >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config ui.merge=internal:other --config merge-patterns.f=false >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- $ echo >- >- >-Premerge >- >- $ echo >- >- >-ui.merge specifies internal:other but is overruled by --tool=false >- >- $ domerge -r 2 --config ui.merge=internal:other --tool=false >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --config ui.merge=internal:other --tool=false >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >-HGMERGE specifies internal:other but is overruled by --tool=false >- >- $ HGMERGE=internal:other ; export HGMERGE >- $ domerge -r 2 --tool=false >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 2 --tool=false >- merging f >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >- $ unset HGMERGE # make sure HGMERGE doesn't interfere with remaining tests >- >-Default is silent simplemerge: >- >- $ domerge -r 3 >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 3 >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 1 >- space >- revision 3 >- # hg stat >- M f >- >- >-.premerge=True is same: >- >- $ domerge -r 3 --config merge-tools.true.premerge=True >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 3 --config merge-tools.true.premerge=True >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 1 >- space >- revision 3 >- # hg stat >- M f >- >- >-.premerge=False executes merge-tool: >- >- $ domerge -r 3 --config merge-tools.true.premerge=False >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -r 3 --config merge-tools.true.premerge=False >- revision 1 >- space >- revision 0 >- space >- revision 0 >- space >- revision 3 >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- # cat f >- revision 1 >- space >- # hg stat >- M f >- >- $ echo >- >- >-Tool execution >- >- $ echo >- >- $ echo '# set tools.args explicit to include $base $local $other $output:' # default '$local $base $other' >- # set tools.args explicit to include $base $local $other $output: >- $ beforemerge >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- $ hg merge -r 2 --config merge-tools.true.executable=head --config merge-tools.true.args='$base $local $other $output' \ >- > | sed 's,==> .* <==,==> ... <==,g' >- ==> ... <== >- revision 0 >- space >- >- ==> ... <== >- revision 1 >- space >- >- ==> ... <== >- revision 2 >- space >- >- ==> ... <== >- revision 1 >- space >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ aftermerge >- # cat f >- revision 1 >- space >- # hg stat >- M f >- >- $ echo '# Merge with "echo mergeresult > $local":' >- # Merge with "echo mergeresult > $local": >- $ beforemerge >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- $ hg merge -r 2 --config merge-tools.true.executable=echo --config merge-tools.true.args='mergeresult > $local' >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ aftermerge >- # cat f >- mergeresult >- # hg stat >- M f >- >- $ echo '# - and $local is the file f:' >- # - and $local is the file f: >- $ beforemerge >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- $ hg merge -r 2 --config merge-tools.true.executable=echo --config merge-tools.true.args='mergeresult > f' >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ aftermerge >- # cat f >- mergeresult >- # hg stat >- M f >- >- $ echo '# Merge with "echo mergeresult > $output" - the variable is a bit magic:' >- # Merge with "echo mergeresult > $output" - the variable is a bit magic: >- $ beforemerge >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- $ hg merge -r 2 --config merge-tools.true.executable=echo --config merge-tools.true.args='mergeresult > $output' >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ aftermerge >- # cat f >- mergeresult >- # hg stat >- M f >- >- >-Merge using tool with a path that must be quoted: >- >- $ beforemerge >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- $ cat <<EOF > 'my merge tool' >- > #!/bin/sh >- > cat "\$1" "\$2" "\$3" > "\$4" >- > EOF >- $ chmod +x 'my merge tool' >- $ hg merge -r 2 --config merge-tools.true.executable='./my merge tool' --config merge-tools.true.args='$base $local $other $output' >- merging f >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ rm -f 'my merge tool' >- $ aftermerge >- # cat f >- revision 0 >- space >- revision 1 >- space >- revision 2 >- space >- # hg stat >- M f >- >- $ echo >- >- >-Merge post-processing >- >- $ echo >- >- >-cat is a bad merge-tool and doesn't change: >- >- $ domerge -y -r 2 --config merge-tools.true.checkchanged=1 >- [merge-tools] >- false.whatever= >- true.priority=1 >- true.executable=cat >- # hg update -C 1 >- # hg merge -y -r 2 --config merge-tools.true.checkchanged=1 >- revision 1 >- space >- revision 0 >- space >- revision 2 >- space >- merging f >- output file f appears unchanged >- was merge successful (yn)? n >- merging f failed! >- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved >- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon >- # cat f >- revision 1 >- space >- # hg stat >- M f >- ? f.orig >- >!.......... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-guards.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-guards.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-guards.t.err >@@ -1,436 +1,3 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ echo "[extensions]" >> $HGRCPATH >- $ echo "mq=" >> $HGRCPATH >- >- $ hg init >- $ hg qinit >- >- $ echo x > x >- $ hg ci -Ama >- adding x >- >- $ hg qnew a.patch >- $ echo a > a >- $ hg add a >- $ hg qrefresh >- >- $ hg qnew b.patch >- $ echo b > b >- $ hg add b >- $ hg qrefresh >- >- $ hg qnew c.patch >- $ echo c > c >- $ hg add c >- $ hg qrefresh >- >- $ hg qpop -a >- popping c.patch >- popping b.patch >- popping a.patch >- patch queue now empty >- >- >-should fail >- >- $ hg qguard does-not-exist.patch +bleh >- abort: no patch named does-not-exist.patch >- [255] >- >- >-should fail >- >- $ hg qguard +fail >- abort: no patches applied >- [255] >- >- $ hg qpush >- applying a.patch >- now at: a.patch >- >-should guard a.patch >- >- $ hg qguard +a >- >-should print +a >- >- $ hg qguard >- a.patch: +a >- $ hg qpop >- popping a.patch >- patch queue now empty >- >- >-should fail >- >- $ hg qpush a.patch >- cannot push 'a.patch' - guarded by ['+a'] >- [1] >- >- $ hg qguard a.patch >- a.patch: +a >- >-should push b.patch >- >- $ hg qpush >- applying b.patch >- now at: b.patch >- >- $ hg qpop >- popping b.patch >- patch queue now empty >- >-test selection of an empty guard >- >- $ hg qselect "" >- abort: guard cannot be an empty string >- [255] >- $ hg qselect a >- number of unguarded, unapplied patches has changed from 2 to 3 >- >-should push a.patch >- >- $ hg qpush >- applying a.patch >- now at: a.patch >- >- $ hg qguard -- c.patch -a >- >-should print -a >- >- $ hg qguard c.patch >- c.patch: -a >- >- >-should skip c.patch >- >- $ hg qpush -a >- applying b.patch >- skipping c.patch - guarded by '-a' >- now at: b.patch >- >-should display b.patch >- >- $ hg qtop >- b.patch >- >- $ hg qguard -n c.patch >- >-should push c.patch >- >- $ hg qpush -a >- applying c.patch >- now at: c.patch >- >- $ hg qpop -a >- popping c.patch >- popping b.patch >- popping a.patch >- patch queue now empty >- $ hg qselect -n >- guards deactivated >- number of unguarded, unapplied patches has changed from 3 to 2 >- >-should push all >- >- $ hg qpush -a >- applying b.patch >- applying c.patch >- now at: c.patch >- >- $ hg qpop -a >- popping c.patch >- popping b.patch >- patch queue now empty >- $ hg qguard a.patch +1 >- $ hg qguard b.patch +2 >- $ hg qselect 1 >- number of unguarded, unapplied patches has changed from 1 to 2 >- >-should push a.patch, not b.patch >- >- $ hg qpush >- applying a.patch >- now at: a.patch >- $ hg qpush >- applying c.patch >- now at: c.patch >- $ hg qpop -a >- popping c.patch >- popping a.patch >- patch queue now empty >- >- $ hg qselect 2 >- >-should push b.patch >- >- $ hg qpush >- applying b.patch >- now at: b.patch >- $ hg qpush -a >- applying c.patch >- now at: c.patch >- >-Used to be an issue with holes in the patch sequence >-So, put one hole on the base and ask for topmost patch. >- >- $ hg qtop >- c.patch >- $ hg qpop -a >- popping c.patch >- popping b.patch >- patch queue now empty >- >- $ hg qselect 1 2 >- number of unguarded, unapplied patches has changed from 2 to 3 >- >-should push a.patch, b.patch >- >- $ hg qpush >- applying a.patch >- now at: a.patch >- $ hg qpush >- applying b.patch >- now at: b.patch >- $ hg qpop -a >- popping b.patch >- popping a.patch >- patch queue now empty >- >- $ hg qguard -- a.patch +1 +2 -3 >- $ hg qselect 1 2 3 >- number of unguarded, unapplied patches has changed from 3 to 2 >- >- >-list patches and guards >- >- $ hg qguard -l >- a.patch: +1 +2 -3 >- b.patch: +2 >- c.patch: unguarded >- >-have at least one patch applied to test coloring >- >- $ hg qpush >- applying b.patch >- now at: b.patch >- >-list patches and guards with color >- >- $ hg --config extensions.color= qguard --config color.mode=ansi \ >- > -l --color=always >- [0;30;1ma.patch[0m: [0;33m+1[0m [0;33m+2[0m [0;31m-3[0m >- [0;34;1;4mb.patch[0m: [0;33m+2[0m >- [0;30;1mc.patch[0m: [0;32munguarded[0m >- >-should pop b.patch >- >- $ hg qpop >- popping b.patch >- patch queue now empty >- >-list series >- >- $ hg qseries -v >- 0 G a.patch >- 1 U b.patch >- 2 U c.patch >- >-list guards >- >- $ hg qselect >- 1 >- 2 >- 3 >- >-should push b.patch >- >- $ hg qpush >- applying b.patch >- now at: b.patch >- >- $ hg qpush -a >- applying c.patch >- now at: c.patch >- $ hg qselect -n --reapply >- guards deactivated >- popping guarded patches >- popping c.patch >- popping b.patch >- patch queue now empty >- reapplying unguarded patches >- applying c.patch >- now at: c.patch >- >-guards in series file: +1 +2 -3 >- >- $ hg qselect -s >- +1 >- +2 >- -3 >- >-should show c.patch >- >- $ hg qapplied >- c.patch >- >- $ hg qrename a.patch new.patch >- >-should show : >- >- >-new.patch: +1 +2 -3 >- >- >-b.patch: +2 >- >- >-c.patch: unguarded >- >- $ hg qguard -l >- new.patch: +1 +2 -3 >- b.patch: +2 >- c.patch: unguarded >- >- $ hg qnew d.patch >- $ hg qpop >- popping d.patch >- now at: c.patch >- >-should show new.patch and b.patch as Guarded, c.patch as Applied >- >- >-and d.patch as Unapplied >- >- $ hg qseries -v >- 0 G new.patch >- 1 G b.patch >- 2 A c.patch >- 3 U d.patch >- >-qseries again, but with color >- >- $ hg --config extensions.color= qseries -v --color=always >- 0 G [0;30;1mnew.patch[0m >- 1 G [0;30;1mb.patch[0m >- 2 A [0;34;1;4mc.patch[0m >- 3 U [0;30;1md.patch[0m >- >- $ hg qguard d.patch +2 >- >-new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded. >- >- $ hg qseries -v >- 0 G new.patch >- 1 G b.patch >- 2 A c.patch >- 3 G d.patch >- >- $ qappunappv() >- > { >- > for command in qapplied "qapplied -v" qunapplied "qunapplied -v"; do >- > echo % hg $command >- > hg $command >- > done >- > } >- >- $ hg qpop -a >- popping c.patch >- patch queue now empty >- $ hg qguard -l >- new.patch: +1 +2 -3 >- b.patch: +2 >- c.patch: unguarded >- d.patch: +2 >- $ qappunappv >- % hg qapplied >- % hg qapplied -v >- % hg qunapplied >- c.patch >- % hg qunapplied -v >- 0 G new.patch >- 1 G b.patch >- 2 U c.patch >- 3 G d.patch >- $ hg qselect 1 >- number of unguarded, unapplied patches has changed from 1 to 2 >- $ qappunappv >- % hg qapplied >- % hg qapplied -v >- % hg qunapplied >- new.patch >- c.patch >- % hg qunapplied -v >- 0 U new.patch >- 1 G b.patch >- 2 U c.patch >- 3 G d.patch >- $ hg qpush -a >- applying new.patch >- skipping b.patch - guarded by ['+2'] >- applying c.patch >- skipping d.patch - guarded by ['+2'] >- now at: c.patch >- $ qappunappv >- % hg qapplied >- new.patch >- c.patch >- % hg qapplied -v >- 0 A new.patch >- 1 G b.patch >- 2 A c.patch >- % hg qunapplied >- % hg qunapplied -v >- 3 G d.patch >- $ hg qselect 2 >- number of unguarded, unapplied patches has changed from 0 to 1 >- number of guarded, applied patches has changed from 1 to 0 >- $ qappunappv >- % hg qapplied >- new.patch >- c.patch >- % hg qapplied -v >- 0 A new.patch >- 1 U b.patch >- 2 A c.patch >- % hg qunapplied >- d.patch >- % hg qunapplied -v >- 3 U d.patch >- >- $ for patch in `hg qseries`; do >- > echo % hg qapplied $patch >- > hg qapplied $patch >- > echo % hg qunapplied $patch >- > hg qunapplied $patch >- > done >- % hg qapplied new.patch >- new.patch >- % hg qunapplied new.patch >- b.patch >- d.patch >- % hg qapplied b.patch >- new.patch >- % hg qunapplied b.patch >- d.patch >- % hg qapplied c.patch >- new.patch >- c.patch >- % hg qunapplied c.patch >- d.patch >- % hg qapplied d.patch >- new.patch >- c.patch >- % hg qunapplied d.patch >- >- >-hg qseries -m: only b.patch should be shown >-the guards file was not ignored in the past >- >- $ hg qdelete -k b.patch >- $ hg qseries -m >- b.patch >- >-hg qseries -m with color >- >- $ hg --config extensions.color= qseries -m --color=always >- [0;31;1mb.patch[0m >!.... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-header-from.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-header-from.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-header-from.t.err >@@ -1,969 +1,4 @@ >+ >+ ### Abort: timeout after 180 seconds. > > $ echo "[extensions]" >> $HGRCPATH >- $ echo "mq=" >> $HGRCPATH >- $ echo "[diff]" >> $HGRCPATH >- $ echo "nodates=true" >> $HGRCPATH >- $ catlog() { >- > cat .hg/patches/$1.patch | sed -e "s/^diff \-r [0-9a-f]* /diff -r ... /" \ >- > -e "s/^\(# Parent \).*/\1/" >- > hg log --template "{rev}: {desc} - {author}\n" >- > } >- $ runtest() { >- > echo ==== init >- > hg init a >- > cd a >- > hg qinit >- > >- > >- > echo ==== qnew -U >- > hg qnew -U 1.patch >- > catlog 1 >- > >- > echo ==== qref >- > echo "1" >1 >- > hg add >- > hg qref >- > catlog 1 >- > >- > echo ==== qref -u >- > hg qref -u mary >- > catlog 1 >- > >- > echo ==== qnew >- > hg qnew 2.patch >- > echo "2" >2 >- > hg add >- > hg qref >- > catlog 2 >- > >- > echo ==== qref -u >- > hg qref -u jane >- > catlog 2 >- > >- > >- > echo ==== qnew -U -m >- > hg qnew -U -m "Three" 3.patch >- > catlog 3 >- > >- > echo ==== qref >- > echo "3" >3 >- > hg add >- > hg qref >- > catlog 3 >- > >- > echo ==== qref -m >- > hg qref -m "Drei" >- > catlog 3 >- > >- > echo ==== qref -u >- > hg qref -u mary >- > catlog 3 >- > >- > echo ==== qref -u -m >- > hg qref -u maria -m "Three (again)" >- > catlog 3 >- > >- > echo ==== qnew -m >- > hg qnew -m "Four" 4.patch >- > echo "4" >4of t >- > hg add >- > hg qref >- > catlog 4 >- > >- > echo ==== qref -u >- > hg qref -u jane >- > catlog 4 >- > >- > >- > echo ==== qnew with HG header >- > hg qnew --config 'mq.plain=true' 5.patch >- > hg qpop >- > echo "# HG changeset patch" >>.hg/patches/5.patch >- > echo "# User johndoe" >>.hg/patches/5.patch >- > hg qpush 2>&1 | grep 'now at' >- > catlog 5 >- > >- > echo ==== hg qref >- > echo "5" >5 >- > hg add >- > hg qref >- > catlog 5 >- > >- > echo ==== hg qref -U >- > hg qref -U >- > catlog 5 >- > >- > echo ==== hg qref -u >- > hg qref -u johndeere >- > catlog 5 >- > >- > >- > echo ==== qnew with plain header >- > hg qnew --config 'mq.plain=true' -U 6.patch >- > hg qpop >- > hg qpush 2>&1 | grep 'now at' >- > catlog 6 >- > >- > echo ==== hg qref >- > echo "6" >6 >- > hg add >- > hg qref >- > catlog 6 >- > >- > echo ==== hg qref -U >- > hg qref -U >- > catlog 6 >- > >- > echo ==== hg qref -u >- > hg qref -u johndeere >- > catlog 6 >- > >- > >- > echo ==== "qpop -a / qpush -a" >- > hg qpop -a >- > hg qpush -a >- > hg log --template "{rev}: {desc} - {author}\n" >- > } >- >-======= plain headers >- >- $ echo "[mq]" >> $HGRCPATH >- $ echo "plain=true" >> $HGRCPATH >- $ mkdir sandbox >- $ (cd sandbox ; runtest) >- ==== init >- ==== qnew -U >- From: test >- >- 0: [mq]: 1.patch - test >- ==== qref >- adding 1 >- From: test >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - test >- ==== qref -u >- From: mary >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - mary >- ==== qnew >- adding 2 >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - test >- 0: [mq]: 1.patch - mary >- ==== qref -u >- From: jane >- >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew -U -m >- From: test >- >- Three >- >- 2: Three - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref >- adding 3 >- From: test >- >- Three >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Three - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -m >- From: test >- >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Drei - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u >- From: mary >- >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Drei - mary >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u -m >- From: maria >- >- Three (again) >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew -m >- adding 4of >- Four >- >- diff -r ... 4of >- --- /dev/null >- +++ b/4of >- @@ -0,0 +1,1 @@ >- +4 t >- 3: Four - test >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u >- From: jane >- Four >- >- diff -r ... 4of >- --- /dev/null >- +++ b/4of >- @@ -0,0 +1,1 @@ >- +4 t >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew with HG header >- popping 5.patch >- now at: 4.patch >- now at: 5.patch >- # HG changeset patch >- # User johndoe >- 4: imported patch 5.patch - johndoe >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref >- adding 5 >- # HG changeset patch >- # Parent >- # User johndoe >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - johndoe >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -U >- # HG changeset patch >- # Parent >- # User test >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - test >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -u >- # HG changeset patch >- # Parent >- # User johndeere >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew with plain header >- popping 6.patch >- now at: 5.patch >- now at: 6.patch >- From: test >- >- 5: imported patch 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref >- adding 6 >- From: test >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -U >- From: test >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -u >- From: johndeere >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - johndeere >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qpop -a / qpush -a >- popping 6.patch >- popping 5.patch >- popping 4.patch >- popping 3.patch >- popping 2.patch >- popping 1.patch >- patch queue now empty >- applying 1.patch >- applying 2.patch >- applying 3.patch >- applying 4.patch >- applying 5.patch >- applying 6.patch >- now at: 6.patch >- 5: imported patch 6.patch - johndeere >- 4: imported patch 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: imported patch 2.patch - jane >- 0: imported patch 1.patch - mary >- $ rm -r sandbox >- >-======= hg headers >- >- $ echo "plain=false" >> $HGRCPATH >- $ mkdir sandbox >- $ (cd sandbox ; runtest) >- ==== init >- ==== qnew -U >- # HG changeset patch >- # Parent >- # User test >- 0: [mq]: 1.patch - test >- ==== qref >- adding 1 >- # HG changeset patch >- # Parent >- # User test >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - test >- ==== qref -u >- # HG changeset patch >- # Parent >- # User mary >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - mary >- ==== qnew >- adding 2 >- # HG changeset patch >- # Parent >- >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - test >- 0: [mq]: 1.patch - mary >- ==== qref -u >- # HG changeset patch >- # User jane >- # Parent >- >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew -U -m >- # HG changeset patch >- # Parent >- # User test >- Three >- >- 2: Three - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref >- adding 3 >- # HG changeset patch >- # Parent >- # User test >- Three >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Three - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -m >- # HG changeset patch >- # Parent >- # User test >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Drei - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u >- # HG changeset patch >- # Parent >- # User mary >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Drei - mary >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u -m >- # HG changeset patch >- # Parent >- # User maria >- Three (again) >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew -m >- adding 4of >- # HG changeset patch >- # Parent >- Four >- >- diff -r ... 4of >- --- /dev/null >- +++ b/4of >- @@ -0,0 +1,1 @@ >- +4 t >- 3: Four - test >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u >- # HG changeset patch >- # User jane >- # Parent >- Four >- >- diff -r ... 4of >- --- /dev/null >- +++ b/4of >- @@ -0,0 +1,1 @@ >- +4 t >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew with HG header >- popping 5.patch >- now at: 4.patch >- now at: 5.patch >- # HG changeset patch >- # User johndoe >- 4: imported patch 5.patch - johndoe >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref >- adding 5 >- # HG changeset patch >- # Parent >- # User johndoe >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - johndoe >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -U >- # HG changeset patch >- # Parent >- # User test >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - test >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -u >- # HG changeset patch >- # Parent >- # User johndeere >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew with plain header >- popping 6.patch >- now at: 5.patch >- now at: 6.patch >- From: test >- >- 5: imported patch 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref >- adding 6 >- From: test >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -U >- From: test >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -u >- From: johndeere >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - johndeere >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qpop -a / qpush -a >- popping 6.patch >- popping 5.patch >- popping 4.patch >- popping 3.patch >- popping 2.patch >- popping 1.patch >- patch queue now empty >- applying 1.patch >- applying 2.patch >- applying 3.patch >- applying 4.patch >- applying 5.patch >- applying 6.patch >- now at: 6.patch >- 5: imported patch 6.patch - johndeere >- 4: imported patch 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: imported patch 2.patch - jane >- 0: imported patch 1.patch - mary >- $ rm -r sandbox >- $ runtest >- ==== init >- ==== qnew -U >- # HG changeset patch >- # Parent >- # User test >- 0: [mq]: 1.patch - test >- ==== qref >- adding 1 >- # HG changeset patch >- # Parent >- # User test >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - test >- ==== qref -u >- # HG changeset patch >- # Parent >- # User mary >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - mary >- ==== qnew >- adding 2 >- # HG changeset patch >- # Parent >- >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - test >- 0: [mq]: 1.patch - mary >- ==== qref -u >- # HG changeset patch >- # User jane >- # Parent >- >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew -U -m >- # HG changeset patch >- # Parent >- # User test >- Three >- >- 2: Three - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref >- adding 3 >- # HG changeset patch >- # Parent >- # User test >- Three >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Three - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -m >- # HG changeset patch >- # Parent >- # User test >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Drei - test >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u >- # HG changeset patch >- # Parent >- # User mary >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Drei - mary >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u -m >- # HG changeset patch >- # Parent >- # User maria >- Three (again) >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew -m >- adding 4of >- # HG changeset patch >- # Parent >- Four >- >- diff -r ... 4of >- --- /dev/null >- +++ b/4of >- @@ -0,0 +1,1 @@ >- +4 t >- 3: Four - test >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qref -u >- # HG changeset patch >- # User jane >- # Parent >- Four >- >- diff -r ... 4of >- --- /dev/null >- +++ b/4of >- @@ -0,0 +1,1 @@ >- +4 t >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew with HG header >- popping 5.patch >- now at: 4.patch >- now at: 5.patch >- # HG changeset patch >- # User johndoe >- 4: imported patch 5.patch - johndoe >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref >- adding 5 >- # HG changeset patch >- # Parent >- # User johndoe >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - johndoe >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -U >- # HG changeset patch >- # Parent >- # User test >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - test >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -u >- # HG changeset patch >- # Parent >- # User johndeere >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qnew with plain header >- popping 6.patch >- now at: 5.patch >- now at: 6.patch >- From: test >- >- 5: imported patch 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref >- adding 6 >- From: test >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -U >- From: test >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - test >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== hg qref -u >- From: johndeere >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 5: [mq]: 6.patch - johndeere >- 4: [mq]: 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: [mq]: 2.patch - jane >- 0: [mq]: 1.patch - mary >- ==== qpop -a / qpush -a >- popping 6.patch >- popping 5.patch >- popping 4.patch >- popping 3.patch >- popping 2.patch >- popping 1.patch >- patch queue now empty >- applying 1.patch >- applying 2.patch >- applying 3.patch >- applying 4.patch >- applying 5.patch >- applying 6.patch >- now at: 6.patch >- 5: imported patch 6.patch - johndeere >- 4: imported patch 5.patch - johndeere >- 3: Four - jane >- 2: Three (again) - maria >- 1: imported patch 2.patch - jane >- 0: imported patch 1.patch - mary >!... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-header-date.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-header-date.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq-header-date.t.err >@@ -1,902 +1,4 @@ >+ >+ ### Abort: timeout after 180 seconds. > > $ echo "[extensions]" >> $HGRCPATH >- $ echo "mq=" >> $HGRCPATH >- $ echo "[diff]" >> $HGRCPATH >- $ echo "nodates=true" >> $HGRCPATH >- $ catpatch() { >- > cat .hg/patches/$1.patch | sed -e "s/^diff \-r [0-9a-f]* /diff -r ... /" \ >- > -e "s/^\(# Parent \).*/\1/" >- > } >- $ catlog() { >- > catpatch $1 >- > hg log --template "{rev}: {desc} - {author}\n" >- > } >- $ catlogd() { >- > catpatch $1 >- > hg log --template "{rev}: {desc} - {author} - {date}\n" >- > } >- $ drop() { >- > hg qpop >- > hg qdel $1.patch >- > } >- $ runtest() { >- > echo ==== init >- > hg init a >- > cd a >- > hg qinit >- > >- > >- > echo ==== qnew -d >- > hg qnew -d '3 0' 1.patch >- > catlogd 1 >- > >- > echo ==== qref >- > echo "1" >1 >- > hg add >- > hg qref >- > catlogd 1 >- > >- > echo ==== qref -d >- > hg qref -d '4 0' >- > catlogd 1 >- > >- > >- > echo ==== qnew >- > hg qnew 2.patch >- > echo "2" >2 >- > hg add >- > hg qref >- > catlog 2 >- > >- > echo ==== qref -d >- > hg qref -d '5 0' >- > catlog 2 >- > >- > drop 2 >- > >- > >- > echo ==== qnew -d -m >- > hg qnew -d '6 0' -m "Three" 3.patch >- > catlogd 3 >- > >- > echo ==== qref >- > echo "3" >3 >- > hg add >- > hg qref >- > catlogd 3 >- > >- > echo ==== qref -m >- > hg qref -m "Drei" >- > catlogd 3 >- > >- > echo ==== qref -d >- > hg qref -d '7 0' >- > catlogd 3 >- > >- > echo ==== qref -d -m >- > hg qref -d '8 0' -m "Three (again)" >- > catlogd 3 >- > >- > >- > echo ==== qnew -m >- > hg qnew -m "Four" 4.patch >- > echo "4" >4 >- > hg add >- > hg qref >- > catlog 4 >- > >- > echo ==== qref -d >- > hg qref -d '9 0' >- > catlog 4 >- > >- > drop 4 >- > >- > >- > echo ==== qnew with HG header >- > hg qnew --config 'mq.plain=true' 5.patch >- > hg qpop >- > echo "# HG changeset patch" >>.hg/patches/5.patch >- > echo "# Date 10 0" >>.hg/patches/5.patch >- > hg qpush 2>&1 | grep 'Now at' >- > catlogd 5 >- > >- > echo ==== hg qref >- > echo "5" >5 >- > hg add >- > hg qref >- > catlogd 5 >- > >- > echo ==== hg qref -d >- > hg qref -d '11 0' >- > catlogd 5 >- > >- > >- > echo ==== qnew with plain header >- > hg qnew --config 'mq.plain=true' -d '12 0' 6.patch >- > hg qpop >- > hg qpush 2>&1 | grep 'now at' >- > catlog 6 >- > >- > echo ==== hg qref >- > echo "6" >6 >- > hg add >- > hg qref >- > catlogd 6 >- > >- > echo ==== hg qref -d >- > hg qref -d '13 0' >- > catlogd 6 >- > >- > drop 6 >- > >- > >- > echo ==== qnew -u >- > hg qnew -u jane 6.patch >- > echo "6" >6 >- > hg add >- > hg qref >- > catlog 6 >- > >- > echo ==== qref -d >- > hg qref -d '12 0' >- > catlog 6 >- > >- > drop 6 >- > >- > >- > echo ==== qnew -d >- > hg qnew -d '13 0' 7.patch >- > echo "7" >7 >- > hg add >- > hg qref >- > catlog 7 >- > >- > echo ==== qref -u >- > hg qref -u john >- > catlogd 7 >- > >- > >- > echo ==== qnew >- > hg qnew 8.patch >- > echo "8" >8 >- > hg add >- > hg qref >- > catlog 8 >- > >- > echo ==== qref -u -d >- > hg qref -u john -d '14 0' >- > catlog 8 >- > >- > drop 8 >- > >- > >- > echo ==== qnew -m >- > hg qnew -m "Nine" 9.patch >- > echo "9" >9 >- > hg add >- > hg qref >- > catlog 9 >- > >- > echo ==== qref -u -d >- > hg qref -u john -d '15 0' >- > catlog 9 >- > >- > drop 9 >- > >- > >- > echo ==== "qpop -a / qpush -a" >- > hg qpop -a >- > hg qpush -a >- > hg log --template "{rev}: {desc} - {author} - {date}\n" >- > } >- >-======= plain headers >- >- $ echo "[mq]" >> $HGRCPATH >- $ echo "plain=true" >> $HGRCPATH >- $ mkdir sandbox >- $ (cd sandbox ; runtest) >- ==== init >- ==== qnew -d >- Date: 3 0 >- >- 0: [mq]: 1.patch - test - 3.00 >- ==== qref >- adding 1 >- Date: 3 0 >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - test - 3.00 >- ==== qref -d >- Date: 4 0 >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qnew >- adding 2 >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - test >- 0: [mq]: 1.patch - test >- ==== qref -d >- Date: 5 0 >- >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - test >- 0: [mq]: 1.patch - test >- popping 2.patch >- now at: 1.patch >- ==== qnew -d -m >- Date: 6 0 >- >- Three >- >- 1: Three - test - 6.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qref >- adding 3 >- Date: 6 0 >- >- Three >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 1: Three - test - 6.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qref -m >- Date: 6 0 >- >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 1: Drei - test - 6.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qref -d >- Date: 7 0 >- >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 1: Drei - test - 7.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qref -d -m >- Date: 8 0 >- >- Three (again) >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qnew -m >- adding 4 >- Four >- >- diff -r ... 4 >- --- /dev/null >- +++ b/4 >- @@ -0,0 +1,1 @@ >- +4 >- 2: Four - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -d >- Date: 9 0 >- Four >- >- diff -r ... 4 >- --- /dev/null >- +++ b/4 >- @@ -0,0 +1,1 @@ >- +4 >- 2: Four - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- popping 4.patch >- now at: 3.patch >- ==== qnew with HG header >- popping 5.patch >- now at: 3.patch >- # HG changeset patch >- # Date 10 0 >- 2: imported patch 5.patch - test - 10.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== hg qref >- adding 5 >- # HG changeset patch >- # Parent >- # Date 10 0 >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 2: [mq]: 5.patch - test - 10.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== hg qref -d >- # HG changeset patch >- # Parent >- # Date 11 0 >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 2: [mq]: 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qnew with plain header >- popping 6.patch >- now at: 5.patch >- now at: 6.patch >- Date: 12 0 >- >- 3: imported patch 6.patch - test >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== hg qref >- adding 6 >- Date: 12 0 >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 3: [mq]: 6.patch - test - 12.00 >- 2: [mq]: 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== hg qref -d >- Date: 13 0 >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 3: [mq]: 6.patch - test - 13.00 >- 2: [mq]: 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- popping 6.patch >- now at: 5.patch >- ==== qnew -u >- adding 6 >- From: jane >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 3: [mq]: 6.patch - jane >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -d >- Date: 12 0 >- From: jane >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 3: [mq]: 6.patch - jane >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- popping 6.patch >- now at: 5.patch >- ==== qnew -d >- adding 7 >- Date: 13 0 >- >- diff -r ... 7 >- --- /dev/null >- +++ b/7 >- @@ -0,0 +1,1 @@ >- +7 >- 3: [mq]: 7.patch - test >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -u >- From: john >- Date: 13 0 >- >- diff -r ... 7 >- --- /dev/null >- +++ b/7 >- @@ -0,0 +1,1 @@ >- +7 >- 3: [mq]: 7.patch - john - 13.00 >- 2: [mq]: 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qnew >- adding 8 >- diff -r ... 8 >- --- /dev/null >- +++ b/8 >- @@ -0,0 +1,1 @@ >- +8 >- 4: [mq]: 8.patch - test >- 3: [mq]: 7.patch - john >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -u -d >- Date: 14 0 >- From: john >- >- diff -r ... 8 >- --- /dev/null >- +++ b/8 >- @@ -0,0 +1,1 @@ >- +8 >- 4: [mq]: 8.patch - john >- 3: [mq]: 7.patch - john >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- popping 8.patch >- now at: 7.patch >- ==== qnew -m >- adding 9 >- Nine >- >- diff -r ... 9 >- --- /dev/null >- +++ b/9 >- @@ -0,0 +1,1 @@ >- +9 >- 4: Nine - test >- 3: [mq]: 7.patch - john >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -u -d >- Date: 15 0 >- From: john >- Nine >- >- diff -r ... 9 >- --- /dev/null >- +++ b/9 >- @@ -0,0 +1,1 @@ >- +9 >- 4: Nine - john >- 3: [mq]: 7.patch - john >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- popping 9.patch >- now at: 7.patch >- ==== qpop -a / qpush -a >- popping 7.patch >- popping 5.patch >- popping 3.patch >- popping 1.patch >- patch queue now empty >- applying 1.patch >- applying 3.patch >- applying 5.patch >- applying 7.patch >- now at: 7.patch >- 3: imported patch 7.patch - john - 13.00 >- 2: imported patch 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: imported patch 1.patch - test - 4.00 >- $ rm -r sandbox >- >-======= hg headers >- >- $ echo "plain=false" >> $HGRCPATH >- $ mkdir sandbox >- $ (cd sandbox ; runtest) >- ==== init >- ==== qnew -d >- # HG changeset patch >- # Parent >- # Date 3 0 >- >- 0: [mq]: 1.patch - test - 3.00 >- ==== qref >- adding 1 >- # HG changeset patch >- # Parent >- # Date 3 0 >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - test - 3.00 >- ==== qref -d >- # HG changeset patch >- # Parent >- # Date 4 0 >- >- diff -r ... 1 >- --- /dev/null >- +++ b/1 >- @@ -0,0 +1,1 @@ >- +1 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qnew >- adding 2 >- # HG changeset patch >- # Parent >- >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - test >- 0: [mq]: 1.patch - test >- ==== qref -d >- # HG changeset patch >- # Date 5 0 >- # Parent >- >- diff -r ... 2 >- --- /dev/null >- +++ b/2 >- @@ -0,0 +1,1 @@ >- +2 >- 1: [mq]: 2.patch - test >- 0: [mq]: 1.patch - test >- popping 2.patch >- now at: 1.patch >- ==== qnew -d -m >- # HG changeset patch >- # Parent >- # Date 6 0 >- >- Three >- >- 1: Three - test - 6.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qref >- adding 3 >- # HG changeset patch >- # Parent >- # Date 6 0 >- >- Three >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 1: Three - test - 6.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qref -m >- # HG changeset patch >- # Parent >- # Date 6 0 >- >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 1: Drei - test - 6.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qref -d >- # HG changeset patch >- # Parent >- # Date 7 0 >- >- Drei >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 1: Drei - test - 7.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qref -d -m >- # HG changeset patch >- # Parent >- # Date 8 0 >- >- Three (again) >- >- diff -r ... 3 >- --- /dev/null >- +++ b/3 >- @@ -0,0 +1,1 @@ >- +3 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qnew -m >- adding 4 >- # HG changeset patch >- # Parent >- Four >- >- diff -r ... 4 >- --- /dev/null >- +++ b/4 >- @@ -0,0 +1,1 @@ >- +4 >- 2: Four - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -d >- # HG changeset patch >- # Date 9 0 >- # Parent >- Four >- >- diff -r ... 4 >- --- /dev/null >- +++ b/4 >- @@ -0,0 +1,1 @@ >- +4 >- 2: Four - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- popping 4.patch >- now at: 3.patch >- ==== qnew with HG header >- popping 5.patch >- now at: 3.patch >- # HG changeset patch >- # Date 10 0 >- 2: imported patch 5.patch - test - 10.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== hg qref >- adding 5 >- # HG changeset patch >- # Parent >- # Date 10 0 >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 2: [mq]: 5.patch - test - 10.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== hg qref -d >- # HG changeset patch >- # Parent >- # Date 11 0 >- >- diff -r ... 5 >- --- /dev/null >- +++ b/5 >- @@ -0,0 +1,1 @@ >- +5 >- 2: [mq]: 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qnew with plain header >- popping 6.patch >- now at: 5.patch >- now at: 6.patch >- Date: 12 0 >- >- 3: imported patch 6.patch - test >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== hg qref >- adding 6 >- Date: 12 0 >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 3: [mq]: 6.patch - test - 12.00 >- 2: [mq]: 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== hg qref -d >- Date: 13 0 >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 3: [mq]: 6.patch - test - 13.00 >- 2: [mq]: 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- popping 6.patch >- now at: 5.patch >- ==== qnew -u >- adding 6 >- # HG changeset patch >- # Parent >- # User jane >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 3: [mq]: 6.patch - jane >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -d >- # HG changeset patch >- # Date 12 0 >- # Parent >- # User jane >- >- diff -r ... 6 >- --- /dev/null >- +++ b/6 >- @@ -0,0 +1,1 @@ >- +6 >- 3: [mq]: 6.patch - jane >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- popping 6.patch >- now at: 5.patch >- ==== qnew -d >- adding 7 >- # HG changeset patch >- # Parent >- # Date 13 0 >- >- diff -r ... 7 >- --- /dev/null >- +++ b/7 >- @@ -0,0 +1,1 @@ >- +7 >- 3: [mq]: 7.patch - test >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -u >- # HG changeset patch >- # User john >- # Parent >- # Date 13 0 >- >- diff -r ... 7 >- --- /dev/null >- +++ b/7 >- @@ -0,0 +1,1 @@ >- +7 >- 3: [mq]: 7.patch - john - 13.00 >- 2: [mq]: 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: [mq]: 1.patch - test - 4.00 >- ==== qnew >- adding 8 >- # HG changeset patch >- # Parent >- >- diff -r ... 8 >- --- /dev/null >- +++ b/8 >- @@ -0,0 +1,1 @@ >- +8 >- 4: [mq]: 8.patch - test >- 3: [mq]: 7.patch - john >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -u -d >- # HG changeset patch >- # Date 14 0 >- # User john >- # Parent >- >- diff -r ... 8 >- --- /dev/null >- +++ b/8 >- @@ -0,0 +1,1 @@ >- +8 >- 4: [mq]: 8.patch - john >- 3: [mq]: 7.patch - john >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- popping 8.patch >- now at: 7.patch >- ==== qnew -m >- adding 9 >- # HG changeset patch >- # Parent >- Nine >- >- diff -r ... 9 >- --- /dev/null >- +++ b/9 >- @@ -0,0 +1,1 @@ >- +9 >- 4: Nine - test >- 3: [mq]: 7.patch - john >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- ==== qref -u -d >- # HG changeset patch >- # Date 15 0 >- # User john >- # Parent >- Nine >- >- diff -r ... 9 >- --- /dev/null >- +++ b/9 >- @@ -0,0 +1,1 @@ >- +9 >- 4: Nine - john >- 3: [mq]: 7.patch - john >- 2: [mq]: 5.patch - test >- 1: Three (again) - test >- 0: [mq]: 1.patch - test >- popping 9.patch >- now at: 7.patch >- ==== qpop -a / qpush -a >- popping 7.patch >- popping 5.patch >- popping 3.patch >- popping 1.patch >- patch queue now empty >- applying 1.patch >- applying 3.patch >- applying 5.patch >- applying 7.patch >- now at: 7.patch >- 3: imported patch 7.patch - john - 13.00 >- 2: imported patch 5.patch - test - 11.00 >- 1: Three (again) - test - 8.00 >- 0: imported patch 1.patch - test - 4.00 >- $ rm -r sandbox >!.......... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mq.t.err >@@ -1,1368 +1,8 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ checkundo() > > { > > if [ -f .hg/store/undo ]; then > > echo ".hg/store/undo still exists after $1" > > fi > > } >- >- $ echo "[extensions]" >> $HGRCPATH >- $ echo "mq=" >> $HGRCPATH >- >- $ echo "[mq]" >> $HGRCPATH >- $ echo "plain=true" >> $HGRCPATH >- >- >-help >- >- $ hg help mq >- mq extension - manage a stack of patches >- >- This extension lets you work with a stack of patches in a Mercurial >- repository. It manages two stacks of patches - all known patches, and applied >- patches (subset of known patches). >- >- Known patches are represented as patch files in the .hg/patches directory. >- Applied patches are both patch files and changesets. >- >- Common tasks (use "hg help command" for more details): >- >- create new patch qnew >- import existing patch qimport >- >- print patch series qseries >- print applied patches qapplied >- >- add known patch to applied stack qpush >- remove patch from applied stack qpop >- refresh contents of top applied patch qrefresh >- >- By default, mq will automatically use git patches when required to avoid >- losing file mode changes, copy records, binary files or empty files creations >- or deletions. This behaviour can be configured with: >- >- [mq] >- git = auto/keep/yes/no >- >- If set to 'keep', mq will obey the [diff] section configuration while >- preserving existing git patches upon qrefresh. If set to 'yes' or 'no', mq >- will override the [diff] section and always generate git or regular patches, >- possibly losing data in the second case. >- >- You will by default be managing a patch queue named "patches". You can create >- other, independent patch queues with the "hg qqueue" command. >- >- list of commands: >- >- qapplied print the patches already applied >- qclone clone main and patch repository at same time >- qdelete remove patches from queue >- qdiff diff of the current patch and subsequent modifications >- qfinish move applied patches into repository history >- qfold fold the named patches into the current patch >- qgoto push or pop patches until named patch is at top of stack >- qguard set or print guards for a patch >- qheader print the header of the topmost or specified patch >- qimport import a patch >- qnew create a new patch >- qnext print the name of the next patch >- qpop pop the current patch off the stack >- qprev print the name of the previous patch >- qpush push the next patch onto the stack >- qqueue manage multiple patch queues >- qrefresh update the current patch >- qrename rename a patch >- qselect set or print guarded patches to push >- qseries print the entire series file >- qtop print the name of the current patch >- qunapplied print the patches not yet applied >- strip strip changesets and all their descendants from the repository >- >- use "hg -v help mq" to show aliases and global options >- >- $ hg init a >- $ cd a >- $ echo a > a >- $ hg ci -Ama >- adding a >- >- $ hg clone . ../k >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >- $ mkdir b >- $ echo z > b/z >- $ hg ci -Ama >- adding b/z >- >- >-qinit >- >- $ hg qinit >- >- $ cd .. >- $ hg init b >- >- >--R qinit >- >- $ hg -R b qinit >- >- $ hg init c >- >- >-qinit -c >- >- $ hg --cwd c qinit -c >- $ hg -R c/.hg/patches st >- A .hgignore >- A series >- >- >-qinit; qinit -c >- >- $ hg init d >- $ cd d >- $ hg qinit >- $ hg qinit -c >- >-qinit -c should create both files if they don't exist >- >- $ cat .hg/patches/.hgignore >- ^\.hg >- ^\.mq >- syntax: glob >- status >- guards >- $ cat .hg/patches/series >- $ hg qinit -c >- abort: repository $TESTTMP/d/.hg/patches already exists! >- [255] >- $ cd .. >- >- $ echo '% qinit; <stuff>; qinit -c' >- % qinit; <stuff>; qinit -c >- $ hg init e >- $ cd e >- $ hg qnew A >- $ checkundo qnew >- $ echo foo > foo >- $ hg add foo >- $ hg qrefresh >- $ hg qnew B >- $ echo >> foo >- $ hg qrefresh >- $ echo status >> .hg/patches/.hgignore >- $ echo bleh >> .hg/patches/.hgignore >- $ hg qinit -c >- adding .hg/patches/A >- adding .hg/patches/B >- $ hg -R .hg/patches status >- A .hgignore >- A A >- A B >- A series >- >-qinit -c shouldn't touch these files if they already exist >- >- $ cat .hg/patches/.hgignore >- status >- bleh >- $ cat .hg/patches/series >- A >- B >- >-add an untracked file >- >- $ echo >> .hg/patches/flaf >- >-status --mq with color (issue2096) >- >- $ hg status --mq --config extensions.color= --color=always >- [0;32;1mA .hgignore[0m >- [0;32;1mA A[0m >- [0;32;1mA B[0m >- [0;32;1mA series[0m >- [0;35;1;4m? flaf[0m >- >-try the --mq option on a command provided by an extension >- >- $ hg purge --mq --verbose --config extensions.purge= >- Removing file flaf >- >- $ cd .. >- >-init --mq without repo >- >- $ mkdir f >- $ cd f >- $ hg init --mq >- abort: there is no Mercurial repository here (.hg not found) >- [255] >- $ cd .. >- >-init --mq with repo path >- >- $ hg init g >- $ hg init --mq g >- $ test -d g/.hg/patches/.hg >- >-init --mq with nonexistent directory >- >- $ hg init --mq nonexistentdir >- abort: repository nonexistentdir not found! >- [255] >- >- >-init --mq with bundle (non "local") >- >- $ hg -R a bundle --all a.bundle >/dev/null >- $ hg init --mq a.bundle >- abort: only a local queue repository may be initialized >- [255] >- >- $ cd a >- >- $ hg qnew -m 'foo bar' test.patch >- >- $ echo '# comment' > .hg/patches/series.tmp >- $ echo >> .hg/patches/series.tmp # empty line >- $ cat .hg/patches/series >> .hg/patches/series.tmp >- $ mv .hg/patches/series.tmp .hg/patches/series >- >- >-qrefresh >- >- $ echo a >> a >- $ hg qrefresh >- $ cat .hg/patches/test.patch >- foo bar >- >- diff -r [a-f0-9]* a (re) >- --- a/a\t(?P<date>.*) (re) >- \+\+\+ b/a\t(?P<date2>.*) (re) >- @@ -1,1 +1,2 @@ >- a >- +a >- >-empty qrefresh >- >- $ hg qrefresh -X a >- >-revision: >- >- $ hg diff -r -2 -r -1 >- >-patch: >- >- $ cat .hg/patches/test.patch >- foo bar >- >- >-working dir diff: >- >- $ hg diff --nodates -q >- --- a/a >- +++ b/a >- @@ -1,1 +1,2 @@ >- a >- +a >- >-restore things >- >- $ hg qrefresh >- $ checkundo qrefresh >- >- >-qpop >- >- $ hg qpop >- popping test.patch >- patch queue now empty >- $ checkundo qpop >- >- >-qpush with dump of tag cache >-Dump the tag cache to ensure that it has exactly one head after qpush. >- >- $ rm -f .hg/tags.cache >- $ hg tags > /dev/null >- >-.hg/tags.cache (pre qpush): >- >- $ cat .hg/tags.cache >- 1 [\da-f]{40} (re) >- >- $ hg qpush >- applying test.patch >- now at: test.patch >- $ hg tags > /dev/null >- >-.hg/tags.cache (post qpush): >- >- $ cat .hg/tags.cache >- 2 [\da-f]{40} (re) >- >- $ checkundo qpush >- $ cd .. >- >- >-pop/push outside repo >- $ hg -R a qpop >- popping test.patch >- patch queue now empty >- $ hg -R a qpush >- applying test.patch >- now at: test.patch >- >- $ cd a >- $ hg qnew test2.patch >- >-qrefresh in subdir >- >- $ cd b >- $ echo a > a >- $ hg add a >- $ hg qrefresh >- >-pop/push -a in subdir >- >- $ hg qpop -a >- popping test2.patch >- popping test.patch >- patch queue now empty >- $ hg --traceback qpush -a >- applying test.patch >- applying test2.patch >- now at: test2.patch >- >- >-setting columns & formatted tests truncating (issue1912) >- >- $ COLUMNS=4 hg qseries --config ui.formatted=true >- test.patch >- test2.patch >- $ COLUMNS=20 hg qseries --config ui.formatted=true -vs >- 0 A test.patch: f... >- 1 A test2.patch: >- $ hg qpop >- popping test2.patch >- now at: test.patch >- $ hg qseries -vs >- 0 A test.patch: foo bar >- 1 U test2.patch: >- $ hg sum | grep mq >- mq: 1 applied, 1 unapplied >- $ hg qpush >- applying test2.patch >- now at: test2.patch >- $ hg sum | grep mq >- mq: 2 applied >- $ hg qapplied >- test.patch >- test2.patch >- $ hg qtop >- test2.patch >- >- >-prev >- >- $ hg qapp -1 >- test.patch >- >-next >- >- $ hg qunapp -1 >- all patches applied >- [1] >- >- $ hg qpop >- popping test2.patch >- now at: test.patch >- >-commit should fail >- >- $ hg commit >- abort: cannot commit over an applied mq patch >- [255] >- >-push should fail >- >- $ hg push ../../k >- pushing to ../../k >- abort: source has mq patches applied >- [255] >- >- >-import should fail >- >- $ hg st . >- $ echo foo >> ../a >- $ hg diff > ../../import.diff >- $ hg revert --no-backup ../a >- $ hg import ../../import.diff >- abort: cannot import over an applied patch >- [255] >- $ hg st >- >-import --no-commit should succeed >- >- $ hg import --no-commit ../../import.diff >- applying ../../import.diff >- $ hg st >- M a >- $ hg revert --no-backup ../a >- >- >-qunapplied >- >- $ hg qunapplied >- test2.patch >- >- >-qpush/qpop with index >- >- $ hg qnew test1b.patch >- $ echo 1b > 1b >- $ hg add 1b >- $ hg qrefresh >- $ hg qpush 2 >- applying test2.patch >- now at: test2.patch >- $ hg qpop 0 >- popping test2.patch >- popping test1b.patch >- now at: test.patch >- $ hg qpush test.patch+1 >- applying test1b.patch >- now at: test1b.patch >- $ hg qpush test.patch+2 >- applying test2.patch >- now at: test2.patch >- $ hg qpop test2.patch-1 >- popping test2.patch >- now at: test1b.patch >- $ hg qpop test2.patch-2 >- popping test1b.patch >- now at: test.patch >- $ hg qpush test1b.patch+1 >- applying test1b.patch >- applying test2.patch >- now at: test2.patch >- >- >-qpush --move >- >- $ hg qpop -a >- popping test2.patch >- popping test1b.patch >- popping test.patch >- patch queue now empty >- $ hg qguard test1b.patch -- -negguard >- $ hg qguard test2.patch -- +posguard >- $ hg qpush --move test2.patch # can't move guarded patch >- cannot push 'test2.patch' - guarded by ['+posguard'] >- [1] >- $ hg qselect posguard >- number of unguarded, unapplied patches has changed from 2 to 3 >- $ hg qpush --move test2.patch # move to front >- applying test2.patch >- now at: test2.patch >- $ hg qpush --move test1b.patch # negative guard unselected >- applying test1b.patch >- now at: test1b.patch >- $ hg qpush --move test.patch # noop move >- applying test.patch >- now at: test.patch >- $ hg qseries -v >- 0 A test2.patch >- 1 A test1b.patch >- 2 A test.patch >- $ hg qpop -a >- popping test.patch >- popping test1b.patch >- popping test2.patch >- patch queue now empty >- >-cleaning up >- >- $ hg qselect --none >- guards deactivated >- number of unguarded, unapplied patches has changed from 3 to 2 >- $ hg qguard --none test1b.patch >- $ hg qguard --none test2.patch >- $ hg qpush --move test.patch >- applying test.patch >- now at: test.patch >- $ hg qpush --move test1b.patch >- applying test1b.patch >- now at: test1b.patch >- $ hg qpush --move bogus # nonexistent patch >- abort: patch bogus not in series >- [255] >- $ hg qpush --move # no patch >- abort: please specify the patch to move >- [255] >- $ hg qpush --move test.patch # already applied >- abort: cannot push to a previous patch: test.patch >- [255] >- $ hg qpush >- applying test2.patch >- now at: test2.patch >- >- >-series after move >- >- $ cat `hg root`/.hg/patches/series >- test.patch >- test1b.patch >- test2.patch >- # comment >- >- >- >-pop, qapplied, qunapplied >- >- $ hg qseries -v >- 0 A test.patch >- 1 A test1b.patch >- 2 A test2.patch >- >-qapplied -1 test.patch >- >- $ hg qapplied -1 test.patch >- only one patch applied >- [1] >- >-qapplied -1 test1b.patch >- >- $ hg qapplied -1 test1b.patch >- test.patch >- >-qapplied -1 test2.patch >- >- $ hg qapplied -1 test2.patch >- test1b.patch >- >-qapplied -1 >- >- $ hg qapplied -1 >- test1b.patch >- >-qapplied >- >- $ hg qapplied >- test.patch >- test1b.patch >- test2.patch >- >-qapplied test1b.patch >- >- $ hg qapplied test1b.patch >- test.patch >- test1b.patch >- >-qunapplied -1 >- >- $ hg qunapplied -1 >- all patches applied >- [1] >- >-qunapplied >- >- $ hg qunapplied >- >-popping >- >- $ hg qpop >- popping test2.patch >- now at: test1b.patch >- >-qunapplied -1 >- >- $ hg qunapplied -1 >- test2.patch >- >-qunapplied >- >- $ hg qunapplied >- test2.patch >- >-qunapplied test2.patch >- >- $ hg qunapplied test2.patch >- >-qunapplied -1 test2.patch >- >- $ hg qunapplied -1 test2.patch >- all patches applied >- [1] >- >-popping -a >- >- $ hg qpop -a >- popping test1b.patch >- popping test.patch >- patch queue now empty >- >-qapplied >- >- $ hg qapplied >- >-qapplied -1 >- >- $ hg qapplied -1 >- no patches applied >- [1] >- $ hg qpush >- applying test.patch >- now at: test.patch >- >- >-push should succeed >- >- $ hg qpop -a >- popping test.patch >- patch queue now empty >- $ hg push ../../k >- pushing to ../../k >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- >- >-we want to start with some patches applied >- >- $ hg qpush -a >- applying test.patch >- applying test1b.patch >- applying test2.patch >- now at: test2.patch >- >-% pops all patches and succeeds >- >- $ hg qpop -a >- popping test2.patch >- popping test1b.patch >- popping test.patch >- patch queue now empty >- >-% does nothing and succeeds >- >- $ hg qpop -a >- no patches applied >- >-% fails - nothing else to pop >- >- $ hg qpop >- no patches applied >- [1] >- >-% pushes a patch and succeeds >- >- $ hg qpush >- applying test.patch >- now at: test.patch >- >-% pops a patch and succeeds >- >- $ hg qpop >- popping test.patch >- patch queue now empty >- >-% pushes up to test1b.patch and succeeds >- >- $ hg qpush test1b.patch >- applying test.patch >- applying test1b.patch >- now at: test1b.patch >- >-% does nothing and succeeds >- >- $ hg qpush test1b.patch >- qpush: test1b.patch is already at the top >- >-% does nothing and succeeds >- >- $ hg qpop test1b.patch >- qpop: test1b.patch is already at the top >- >-% fails - can't push to this patch >- >- $ hg qpush test.patch >- abort: cannot push to a previous patch: test.patch >- [255] >- >-% fails - can't pop to this patch >- >- $ hg qpop test2.patch >- abort: patch test2.patch is not applied >- [255] >- >-% pops up to test.patch and succeeds >- >- $ hg qpop test.patch >- popping test1b.patch >- now at: test.patch >- >-% pushes all patches and succeeds >- >- $ hg qpush -a >- applying test1b.patch >- applying test2.patch >- now at: test2.patch >- >-% does nothing and succeeds >- >- $ hg qpush -a >- all patches are currently applied >- >-% fails - nothing else to push >- >- $ hg qpush >- patch series already fully applied >- [1] >- >-% does nothing and succeeds >- >- $ hg qpush test2.patch >- qpush: test2.patch is already at the top >- >-strip >- >- $ cd ../../b >- $ echo x>x >- $ hg ci -Ama >- adding x >- $ hg strip tip >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- saved backup bundle to $TESTTMP/b/.hg/strip-backup/*-backup.hg (glob) >- $ hg unbundle .hg/strip-backup/* >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- (run 'hg update' to get a working copy) >- >- >-strip with local changes, should complain >- >- $ hg up >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo y>y >- $ hg add y >- $ hg strip tip >- abort: local changes found >- [255] >- >---force strip with local changes >- >- $ hg strip -f tip >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- saved backup bundle to $TESTTMP/b/.hg/strip-backup/*-backup.hg (glob) >- >- >-cd b; hg qrefresh >- >- $ hg init refresh >- $ cd refresh >- $ echo a > a >- $ hg ci -Ama >- adding a >- $ hg qnew -mfoo foo >- $ echo a >> a >- $ hg qrefresh >- $ mkdir b >- $ cd b >- $ echo f > f >- $ hg add f >- $ hg qrefresh >- $ cat ../.hg/patches/foo >- foo >- >- diff -r cb9a9f314b8b a >- --- a/a\t(?P<date>.*) (re) >- \+\+\+ b/a\t(?P<date>.*) (re) >- @@ -1,1 +1,2 @@ >- a >- +a >- diff -r cb9a9f314b8b b/f >- --- /dev/null\t(?P<date>.*) (re) >- \+\+\+ b/b/f\t(?P<date>.*) (re) >- @@ -0,0 +1,1 @@ >- +f >- >-hg qrefresh . >- >- $ hg qrefresh . >- $ cat ../.hg/patches/foo >- foo >- >- diff -r cb9a9f314b8b b/f >- --- /dev/null\t(?P<date>.*) (re) >- \+\+\+ b/b/f\t(?P<date>.*) (re) >- @@ -0,0 +1,1 @@ >- +f >- $ hg status >- M a >- >- >-qpush failure >- >- $ cd .. >- $ hg qrefresh >- $ hg qnew -mbar bar >- $ echo foo > foo >- $ echo bar > bar >- $ hg add foo bar >- $ hg qrefresh >- $ hg qpop -a >- popping bar >- popping foo >- patch queue now empty >- $ echo bar > foo >- $ hg qpush -a >- applying foo >- applying bar >- file foo already exists >- 1 out of 1 hunks FAILED -- saving rejects to file foo.rej >- patch failed, unable to continue (try -v) >- patch failed, rejects left in working dir >- errors during apply, please fix and refresh bar >- [2] >- $ hg st >- ? foo >- ? foo.rej >- >- >-mq tags >- >- $ hg log --template '{rev} {tags}\n' -r qparent:qtip >- 0 qparent >- 1 foo qbase >- 2 bar qtip tip >- >- >-bad node in status >- >- $ hg qpop >- popping bar >- now at: foo >- $ hg strip -qn tip >- $ hg tip >- changeset: 0:cb9a9f314b8b >- tag: tip >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: a >- >- $ hg branches >- default 0:cb9a9f314b8b >- $ hg qpop >- no patches applied >- [1] >- >- $ cat >>$HGRCPATH <<EOF >- > [diff] >- > git = True >- > EOF >- $ cd .. >- $ hg init git >- $ cd git >- $ hg qinit >- >- $ hg qnew -m'new file' new >- $ echo foo > new >- $ chmod +x new >- $ hg add new >- $ hg qrefresh >- $ cat .hg/patches/new >- new file >- >- diff --git a/new b/new >- new file mode 100755 >- --- /dev/null >- +++ b/new >- @@ -0,0 +1,1 @@ >- +foo >- >- $ hg qnew -m'copy file' copy >- $ hg cp new copy >- $ hg qrefresh >- $ cat .hg/patches/copy >- copy file >- >- diff --git a/new b/copy >- copy from new >- copy to copy >- >- $ hg qpop >- popping copy >- now at: new >- $ hg qpush >- applying copy >- now at: copy >- $ hg qdiff >- diff --git a/new b/copy >- copy from new >- copy to copy >- $ cat >>$HGRCPATH <<EOF >- > [diff] >- > git = False >- > EOF >- $ hg qdiff --git >- diff --git a/new b/copy >- copy from new >- copy to copy >- $ cd .. >- >- >-test file addition in slow path >- >- $ hg init slow >- $ cd slow >- $ hg qinit >- $ echo foo > foo >- $ hg add foo >- $ hg ci -m 'add foo' >- $ hg qnew bar >- $ echo bar > bar >- $ hg add bar >- $ hg mv foo baz >- $ hg qrefresh --git >- $ hg up -C 0 >- 1 files updated, 0 files merged, 2 files removed, 0 files unresolved >- $ echo >> foo >- $ hg ci -m 'change foo' >- created new head >- $ hg up -C 1 >- 2 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ hg qrefresh --git >- $ cat .hg/patches/bar >- diff --git a/bar b/bar >- new file mode 100644 >- --- /dev/null >- +++ b/bar >- @@ -0,0 +1,1 @@ >- +bar >- diff --git a/foo b/baz >- rename from foo >- rename to baz >- $ hg log -v --template '{rev} {file_copies}\n' -r . >- 2 baz (foo) >- $ hg qrefresh --git >- $ cat .hg/patches/bar >- diff --git a/bar b/bar >- new file mode 100644 >- --- /dev/null >- +++ b/bar >- @@ -0,0 +1,1 @@ >- +bar >- diff --git a/foo b/baz >- rename from foo >- rename to baz >- $ hg log -v --template '{rev} {file_copies}\n' -r . >- 2 baz (foo) >- $ hg qrefresh >- $ grep 'diff --git' .hg/patches/bar >- diff --git a/bar b/bar >- diff --git a/foo b/baz >- >- >-test file move chains in the slow path >- >- $ hg up -C 1 >- 1 files updated, 0 files merged, 2 files removed, 0 files unresolved >- $ echo >> foo >- $ hg ci -m 'change foo again' >- $ hg up -C 2 >- 2 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ hg mv bar quux >- $ hg mv baz bleh >- $ hg qrefresh --git >- $ cat .hg/patches/bar >- diff --git a/foo b/bleh >- rename from foo >- rename to bleh >- diff --git a/quux b/quux >- new file mode 100644 >- --- /dev/null >- +++ b/quux >- @@ -0,0 +1,1 @@ >- +bar >- $ hg log -v --template '{rev} {file_copies}\n' -r . >- 3 bleh (foo) >- $ hg mv quux fred >- $ hg mv bleh barney >- $ hg qrefresh --git >- $ cat .hg/patches/bar >- diff --git a/foo b/barney >- rename from foo >- rename to barney >- diff --git a/fred b/fred >- new file mode 100644 >- --- /dev/null >- +++ b/fred >- @@ -0,0 +1,1 @@ >- +bar >- $ hg log -v --template '{rev} {file_copies}\n' -r . >- 3 barney (foo) >- >- >-refresh omitting an added file >- >- $ hg qnew baz >- $ echo newfile > newfile >- $ hg add newfile >- $ hg qrefresh >- $ hg st -A newfile >- C newfile >- $ hg qrefresh -X newfile >- $ hg st -A newfile >- A newfile >- $ hg revert newfile >- $ rm newfile >- $ hg qpop >- popping baz >- now at: bar >- $ hg qdel baz >- >- >-create a git patch >- >- $ echo a > alexander >- $ hg add alexander >- $ hg qnew -f --git addalexander >- $ grep diff .hg/patches/addalexander >- diff --git a/alexander b/alexander >- >- >-create a git binary patch >- >- $ cat > writebin.py <<EOF >- > import sys >- > path = sys.argv[1] >- > open(path, 'wb').write('BIN\x00ARY') >- > EOF >- $ python writebin.py bucephalus >- >- $ python "$TESTDIR/md5sum.py" bucephalus >- 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus >- $ hg add bucephalus >- $ hg qnew -f --git addbucephalus >- $ grep diff .hg/patches/addbucephalus >- diff --git a/bucephalus b/bucephalus >- >- >-check binary patches can be popped and pushed >- >- $ hg qpop >- popping addbucephalus >- now at: addalexander >- $ test -f bucephalus && echo % bucephalus should not be there >- [1] >- $ hg qpush >- applying addbucephalus >- now at: addbucephalus >- $ test -f bucephalus >- $ python "$TESTDIR/md5sum.py" bucephalus >- 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus >- >- >- >-strip again >- >- $ cd .. >- $ hg init strip >- $ cd strip >- $ touch foo >- $ hg add foo >- $ hg ci -m 'add foo' >- $ echo >> foo >- $ hg ci -m 'change foo 1' >- $ hg up -C 0 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo 1 >> foo >- $ hg ci -m 'change foo 2' >- created new head >- $ HGMERGE=true hg merge >- merging foo >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ hg ci -m merge >- $ hg log >- changeset: 3:99615015637b >- tag: tip >- parent: 2:20cbbe65cff7 >- parent: 1:d2871fc282d4 >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: merge >- >- changeset: 2:20cbbe65cff7 >- parent: 0:53245c60e682 >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: change foo 2 >- >- changeset: 1:d2871fc282d4 >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: change foo 1 >- >- changeset: 0:53245c60e682 >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: add foo >- >- $ hg strip 1 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- saved backup bundle to $TESTTMP/b/strip/.hg/strip-backup/*-backup.hg (glob) >- $ checkundo strip >- $ hg log >- changeset: 1:20cbbe65cff7 >- tag: tip >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: change foo 2 >- >- changeset: 0:53245c60e682 >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: add foo >- >- $ cd .. >- >- >-qclone >- >- $ qlog() >- > { >- > echo 'main repo:' >- > hg log --template ' rev {rev}: {desc}\n' >- > echo 'patch repo:' >- > hg -R .hg/patches log --template ' rev {rev}: {desc}\n' >- > } >- $ hg init qclonesource >- $ cd qclonesource >- $ echo foo > foo >- $ hg add foo >- $ hg ci -m 'add foo' >- $ hg qinit >- $ hg qnew patch1 >- $ echo bar >> foo >- $ hg qrefresh -m 'change foo' >- $ cd .. >- >- >-repo with unversioned patch dir >- >- $ hg qclone qclonesource failure >- abort: versioned patch repository not found (see init --mq) >- [255] >- >- $ cd qclonesource >- $ hg qinit -c >- adding .hg/patches/patch1 >- $ hg qci -m checkpoint >- $ qlog >- main repo: >- rev 1: change foo >- rev 0: add foo >- patch repo: >- rev 0: checkpoint >- $ cd .. >- >- >-repo with patches applied >- >- $ hg qclone qclonesource qclonedest >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ cd qclonedest >- $ qlog >- main repo: >- rev 0: add foo >- patch repo: >- rev 0: checkpoint >- $ cd .. >- >- >-repo with patches unapplied >- >- $ cd qclonesource >- $ hg qpop -a >- popping patch1 >- patch queue now empty >- $ qlog >- main repo: >- rev 0: add foo >- patch repo: >- rev 0: checkpoint >- $ cd .. >- $ hg qclone qclonesource qclonedest2 >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ cd qclonedest2 >- $ qlog >- main repo: >- rev 0: add foo >- patch repo: >- rev 0: checkpoint >- $ cd .. >- >- >-Issue1033: test applying on an empty file >- >- $ hg init empty >- $ cd empty >- $ touch a >- $ hg ci -Am addempty >- adding a >- $ echo a > a >- $ hg qnew -f -e changea >- $ hg qpop >- popping changea >- patch queue now empty >- $ hg qpush >- applying changea >- now at: changea >- $ cd .. >- >- >-test qpush with --force, issue1087 >- >- $ hg init forcepush >- $ cd forcepush >- $ echo hello > hello.txt >- $ echo bye > bye.txt >- $ hg ci -Ama >- adding bye.txt >- adding hello.txt >- $ hg qnew -d '0 0' empty >- $ hg qpop >- popping empty >- patch queue now empty >- $ echo world >> hello.txt >- >- >-qpush should fail, local changes >- >- $ hg qpush >- abort: local changes found, refresh first >- [255] >- >- >-apply force, should not discard changes with empty patch >- >- $ hg qpush -f >- applying empty >- patch empty is empty >- now at: empty >- $ hg diff --config diff.nodates=True >- diff -r bf5fc3f07a0a hello.txt >- --- a/hello.txt >- +++ b/hello.txt >- @@ -1,1 +1,2 @@ >- hello >- +world >- $ hg qdiff --config diff.nodates=True >- diff -r 9ecee4f634e3 hello.txt >- --- a/hello.txt >- +++ b/hello.txt >- @@ -1,1 +1,2 @@ >- hello >- +world >- $ hg log -l1 -p >- changeset: 1:bf5fc3f07a0a >- tag: empty >- tag: qbase >- tag: qtip >- tag: tip >- user: test >- date: Thu Jan 01 00:00:00 1970 +0000 >- summary: imported patch empty >- >- >- $ hg qref -d '0 0' >- $ hg qpop >- popping empty >- patch queue now empty >- $ echo universe >> hello.txt >- $ echo universe >> bye.txt >- >- >-qpush should fail, local changes >- >- $ hg qpush >- abort: local changes found, refresh first >- [255] >- >- >-apply force, should discard changes in hello, but not bye >- >- $ hg qpush -f >- applying empty >- now at: empty >- $ hg st >- M bye.txt >- $ hg diff --config diff.nodates=True >- diff -r ba252371dbc1 bye.txt >- --- a/bye.txt >- +++ b/bye.txt >- @@ -1,1 +1,2 @@ >- bye >- +universe >- $ hg qdiff --config diff.nodates=True >- diff -r 9ecee4f634e3 bye.txt >- --- a/bye.txt >- +++ b/bye.txt >- @@ -1,1 +1,2 @@ >- bye >- +universe >- diff -r 9ecee4f634e3 hello.txt >- --- a/hello.txt >- +++ b/hello.txt >- @@ -1,1 +1,3 @@ >- hello >- +world >- +universe >- >- >-test popping revisions not in working dir ancestry >- >- $ hg qseries -v >- 0 A empty >- $ hg up qparent >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg qpop >- popping empty >- patch queue now empty >- >- $ cd .. >- $ hg init deletion-order >- $ cd deletion-order >- >- $ touch a >- $ hg ci -Aqm0 >- >- $ hg qnew rename-dir >- $ hg rm a >- $ hg qrefresh >- >- $ mkdir a b >- $ touch a/a b/b >- $ hg add -q a b >- $ hg qrefresh >- >- >-test popping must remove files added in subdirectories first >- >- $ hg qpop >- popping rename-dir >- patch queue now empty >- $ cd .. >- >!.... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mv-cp-st-diff.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mv-cp-st-diff.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-mv-cp-st-diff.t.err >@@ -1,1344 +1,7 @@ >+ >+ ### Abort: timeout after 180 seconds. > > $ add() > > { > > echo $2 >> $1 > > } >- $ hg init t >- $ cd t >- >-set up a boring main branch >- >- $ add a a >- $ hg add a >- $ mkdir x >- $ add x/x x >- $ hg add x/x >- $ hg ci -m0 >- $ add a m1 >- $ hg ci -m1 >- $ add a m2 >- $ add x/y y1 >- $ hg add x/y >- $ hg ci -m2 >- $ cd .. >- $ show() >- > { >- > echo "- $2: $1" >- > hg st -C $1 >- > echo >- > hg diff --git $1 >- > echo >- > } >- $ count=0 >- >-make a new branch and get diff/status output >-$1 - first commit >-$2 - second commit >-$3 - working dir action >-$4 - test description >- >- $ tb() >- > { >- > hg clone t t2 ; cd t2 >- > hg co -q -C 0 >- > >- > add a $count >- > count=`expr $count + 1` >- > hg ci -m "t0" >- > $1 >- > hg ci -m "t1" >- > $2 >- > hg ci -m "t2" >- > $3 >- > >- > echo "** $4 **" >- > echo "** $1 / $2 / $3" >- > show "" "working to parent" >- > show "--rev 0" "working to root" >- > show "--rev 2" "working to branch" >- > show "--rev 0 --rev ." "root to parent" >- > show "--rev . --rev 0" "parent to root" >- > show "--rev 2 --rev ." "branch to parent" >- > show "--rev . --rev 2" "parent to branch" >- > echo >- > cd .. >- > rm -rf t2 >- > } >- $ tb "add a a1" "add a a2" "hg mv a b" "rename in working dir" >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- ** rename in working dir ** >- ** add a a1 / add a a2 / hg mv a b >- - working to parent: >- A b >- a >- R a >- >- diff --git a/a b/b >- rename from a >- rename to b >- >- - working to root: --rev 0 >- A b >- a >- R a >- >- diff --git a/a b/b >- rename from a >- rename to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,4 @@ >- a >- +0 >- +a1 >- +a2 >- >- - working to branch: --rev 2 >- A b >- a >- R a >- R x/y >- >- diff --git a/a b/b >- rename from a >- rename to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,4 @@ >- a >- -m1 >- -m2 >- +0 >- +a1 >- +a2 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - root to parent: --rev 0 --rev . >- M a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,4 @@ >- a >- +0 >- +a1 >- +a2 >- >- - parent to root: --rev . --rev 0 >- M a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,4 +1,1 @@ >- a >- -0 >- -a1 >- -a2 >- >- - branch to parent: --rev 2 --rev . >- M a >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,4 @@ >- a >- -m1 >- -m2 >- +0 >- +a1 >- +a2 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - parent to branch: --rev . --rev 2 >- M a >- A x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,4 +1,3 @@ >- a >- -0 >- -a1 >- -a2 >- +m1 >- +m2 >- diff --git a/x/y b/x/y >- new file mode 100644 >- --- /dev/null >- +++ b/x/y >- @@ -0,0 +1,1 @@ >- +y1 >- >- >- $ tb "add a a1" "add a a2" "hg cp a b" "copy in working dir" >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- ** copy in working dir ** >- ** add a a1 / add a a2 / hg cp a b >- - working to parent: >- A b >- a >- >- diff --git a/a b/b >- copy from a >- copy to b >- >- - working to root: --rev 0 >- M a >- A b >- a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,4 @@ >- a >- +1 >- +a1 >- +a2 >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,4 @@ >- a >- +1 >- +a1 >- +a2 >- >- - working to branch: --rev 2 >- M a >- A b >- a >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,4 @@ >- a >- -m1 >- -m2 >- +1 >- +a1 >- +a2 >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,4 @@ >- a >- -m1 >- -m2 >- +1 >- +a1 >- +a2 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - root to parent: --rev 0 --rev . >- M a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,4 @@ >- a >- +1 >- +a1 >- +a2 >- >- - parent to root: --rev . --rev 0 >- M a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,4 +1,1 @@ >- a >- -1 >- -a1 >- -a2 >- >- - branch to parent: --rev 2 --rev . >- M a >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,4 @@ >- a >- -m1 >- -m2 >- +1 >- +a1 >- +a2 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - parent to branch: --rev . --rev 2 >- M a >- A x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,4 +1,3 @@ >- a >- -1 >- -a1 >- -a2 >- +m1 >- +m2 >- diff --git a/x/y b/x/y >- new file mode 100644 >- --- /dev/null >- +++ b/x/y >- @@ -0,0 +1,1 @@ >- +y1 >- >- >- $ tb "hg mv a b" "add b b1" "add b w" "single rename" >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- ** single rename ** >- ** hg mv a b / add b b1 / add b w >- - working to parent: >- M b >- >- diff --git a/b b/b >- --- a/b >- +++ b/b >- @@ -1,3 +1,4 @@ >- a >- 2 >- b1 >- +w >- >- - working to root: --rev 0 >- A b >- a >- R a >- >- diff --git a/a b/b >- rename from a >- rename to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,4 @@ >- a >- +2 >- +b1 >- +w >- >- - working to branch: --rev 2 >- A b >- a >- R a >- R x/y >- >- diff --git a/a b/b >- rename from a >- rename to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,4 @@ >- a >- -m1 >- -m2 >- +2 >- +b1 >- +w >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - root to parent: --rev 0 --rev . >- A b >- a >- R a >- >- diff --git a/a b/b >- rename from a >- rename to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,3 @@ >- a >- +2 >- +b1 >- >- - parent to root: --rev . --rev 0 >- A a >- b >- R b >- >- diff --git a/b b/a >- rename from b >- rename to a >- --- a/b >- +++ b/a >- @@ -1,3 +1,1 @@ >- a >- -2 >- -b1 >- >- - branch to parent: --rev 2 --rev . >- A b >- a >- R a >- R x/y >- >- diff --git a/a b/b >- rename from a >- rename to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,3 @@ >- a >- -m1 >- -m2 >- +2 >- +b1 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - parent to branch: --rev . --rev 2 >- A a >- b >- A x/y >- R b >- >- diff --git a/b b/a >- rename from b >- rename to a >- --- a/b >- +++ b/a >- @@ -1,3 +1,3 @@ >- a >- -2 >- -b1 >- +m1 >- +m2 >- diff --git a/x/y b/x/y >- new file mode 100644 >- --- /dev/null >- +++ b/x/y >- @@ -0,0 +1,1 @@ >- +y1 >- >- >- $ tb "hg cp a b" "add b b1" "add a w" "single copy" >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- ** single copy ** >- ** hg cp a b / add b b1 / add a w >- - working to parent: >- M a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,2 +1,3 @@ >- a >- 3 >- +w >- >- - working to root: --rev 0 >- M a >- A b >- a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,3 @@ >- a >- +3 >- +w >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,3 @@ >- a >- +3 >- +b1 >- >- - working to branch: --rev 2 >- M a >- A b >- a >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,3 @@ >- a >- -m1 >- -m2 >- +3 >- +w >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,3 @@ >- a >- -m1 >- -m2 >- +3 >- +b1 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - root to parent: --rev 0 --rev . >- M a >- A b >- a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,2 @@ >- a >- +3 >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,3 @@ >- a >- +3 >- +b1 >- >- - parent to root: --rev . --rev 0 >- M a >- R b >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,2 +1,1 @@ >- a >- -3 >- diff --git a/b b/b >- deleted file mode 100644 >- --- a/b >- +++ /dev/null >- @@ -1,3 +0,0 @@ >- -a >- -3 >- -b1 >- >- - branch to parent: --rev 2 --rev . >- M a >- A b >- a >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +3 >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,3 @@ >- a >- -m1 >- -m2 >- +3 >- +b1 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - parent to branch: --rev . --rev 2 >- M a >- A x/y >- R b >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,2 +1,3 @@ >- a >- -3 >- +m1 >- +m2 >- diff --git a/b b/b >- deleted file mode 100644 >- --- a/b >- +++ /dev/null >- @@ -1,3 +0,0 @@ >- -a >- -3 >- -b1 >- diff --git a/x/y b/x/y >- new file mode 100644 >- --- /dev/null >- +++ b/x/y >- @@ -0,0 +1,1 @@ >- +y1 >- >- >- $ tb "hg mv a b" "hg mv b c" "hg mv c d" "rename chain" >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- ** rename chain ** >- ** hg mv a b / hg mv b c / hg mv c d >- - working to parent: >- A d >- c >- R c >- >- diff --git a/c b/d >- rename from c >- rename to d >- >- - working to root: --rev 0 >- A d >- a >- R a >- >- diff --git a/a b/d >- rename from a >- rename to d >- --- a/a >- +++ b/d >- @@ -1,1 +1,2 @@ >- a >- +4 >- >- - working to branch: --rev 2 >- A d >- a >- R a >- R x/y >- >- diff --git a/a b/d >- rename from a >- rename to d >- --- a/a >- +++ b/d >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +4 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - root to parent: --rev 0 --rev . >- A c >- a >- R a >- >- diff --git a/a b/c >- rename from a >- rename to c >- --- a/a >- +++ b/c >- @@ -1,1 +1,2 @@ >- a >- +4 >- >- - parent to root: --rev . --rev 0 >- A a >- c >- R c >- >- diff --git a/c b/a >- rename from c >- rename to a >- --- a/c >- +++ b/a >- @@ -1,2 +1,1 @@ >- a >- -4 >- >- - branch to parent: --rev 2 --rev . >- A c >- a >- R a >- R x/y >- >- diff --git a/a b/c >- rename from a >- rename to c >- --- a/a >- +++ b/c >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +4 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - parent to branch: --rev . --rev 2 >- A a >- c >- A x/y >- R c >- >- diff --git a/c b/a >- rename from c >- rename to a >- --- a/c >- +++ b/a >- @@ -1,2 +1,3 @@ >- a >- -4 >- +m1 >- +m2 >- diff --git a/x/y b/x/y >- new file mode 100644 >- --- /dev/null >- +++ b/x/y >- @@ -0,0 +1,1 @@ >- +y1 >- >- >- $ tb "hg cp a b" "hg cp b c" "hg cp c d" "copy chain" >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- ** copy chain ** >- ** hg cp a b / hg cp b c / hg cp c d >- - working to parent: >- A d >- c >- >- diff --git a/c b/d >- copy from c >- copy to d >- >- - working to root: --rev 0 >- M a >- A b >- a >- A c >- a >- A d >- a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,2 @@ >- a >- +5 >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,2 @@ >- a >- +5 >- diff --git a/a b/c >- copy from a >- copy to c >- --- a/a >- +++ b/c >- @@ -1,1 +1,2 @@ >- a >- +5 >- diff --git a/a b/d >- copy from a >- copy to d >- --- a/a >- +++ b/d >- @@ -1,1 +1,2 @@ >- a >- +5 >- >- - working to branch: --rev 2 >- M a >- A b >- a >- A c >- a >- A d >- a >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +5 >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +5 >- diff --git a/a b/c >- copy from a >- copy to c >- --- a/a >- +++ b/c >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +5 >- diff --git a/a b/d >- copy from a >- copy to d >- --- a/a >- +++ b/d >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +5 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - root to parent: --rev 0 --rev . >- M a >- A b >- a >- A c >- a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,2 @@ >- a >- +5 >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,2 @@ >- a >- +5 >- diff --git a/a b/c >- copy from a >- copy to c >- --- a/a >- +++ b/c >- @@ -1,1 +1,2 @@ >- a >- +5 >- >- - parent to root: --rev . --rev 0 >- M a >- R b >- R c >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,2 +1,1 @@ >- a >- -5 >- diff --git a/b b/b >- deleted file mode 100644 >- --- a/b >- +++ /dev/null >- @@ -1,2 +0,0 @@ >- -a >- -5 >- diff --git a/c b/c >- deleted file mode 100644 >- --- a/c >- +++ /dev/null >- @@ -1,2 +0,0 @@ >- -a >- -5 >- >- - branch to parent: --rev 2 --rev . >- M a >- A b >- a >- A c >- a >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +5 >- diff --git a/a b/b >- copy from a >- copy to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +5 >- diff --git a/a b/c >- copy from a >- copy to c >- --- a/a >- +++ b/c >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +5 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - parent to branch: --rev . --rev 2 >- M a >- A x/y >- R b >- R c >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,2 +1,3 @@ >- a >- -5 >- +m1 >- +m2 >- diff --git a/b b/b >- deleted file mode 100644 >- --- a/b >- +++ /dev/null >- @@ -1,2 +0,0 @@ >- -a >- -5 >- diff --git a/c b/c >- deleted file mode 100644 >- --- a/c >- +++ /dev/null >- @@ -1,2 +0,0 @@ >- -a >- -5 >- diff --git a/x/y b/x/y >- new file mode 100644 >- --- /dev/null >- +++ b/x/y >- @@ -0,0 +1,1 @@ >- +y1 >- >- >- $ tb "add a a1" "hg mv a b" "hg mv b a" "circular rename" >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- ** circular rename ** >- ** add a a1 / hg mv a b / hg mv b a >- - working to parent: >- A a >- b >- R b >- >- diff --git a/b b/a >- rename from b >- rename to a >- >- - working to root: --rev 0 >- M a >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,3 @@ >- a >- +6 >- +a1 >- >- - working to branch: --rev 2 >- M a >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,3 @@ >- a >- -m1 >- -m2 >- +6 >- +a1 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - root to parent: --rev 0 --rev . >- A b >- a >- R a >- >- diff --git a/a b/b >- rename from a >- rename to b >- --- a/a >- +++ b/b >- @@ -1,1 +1,3 @@ >- a >- +6 >- +a1 >- >- - parent to root: --rev . --rev 0 >- A a >- b >- R b >- >- diff --git a/b b/a >- rename from b >- rename to a >- --- a/b >- +++ b/a >- @@ -1,3 +1,1 @@ >- a >- -6 >- -a1 >- >- - branch to parent: --rev 2 --rev . >- A b >- a >- R a >- R x/y >- >- diff --git a/a b/b >- rename from a >- rename to b >- --- a/a >- +++ b/b >- @@ -1,3 +1,3 @@ >- a >- -m1 >- -m2 >- +6 >- +a1 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- >- - parent to branch: --rev . --rev 2 >- A a >- b >- A x/y >- R b >- >- diff --git a/b b/a >- rename from b >- rename to a >- --- a/b >- +++ b/a >- @@ -1,3 +1,3 @@ >- a >- -6 >- -a1 >- +m1 >- +m2 >- diff --git a/x/y b/x/y >- new file mode 100644 >- --- /dev/null >- +++ b/x/y >- @@ -0,0 +1,1 @@ >- +y1 >- >- >- $ tb "hg mv x y" "add y/x x1" "add y/x x2" "directory move" >- updating to branch default >- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- moving x/x to y/x >- ** directory move ** >- ** hg mv x y / add y/x x1 / add y/x x2 >- - working to parent: >- M y/x >- >- diff --git a/y/x b/y/x >- --- a/y/x >- +++ b/y/x >- @@ -1,2 +1,3 @@ >- x >- x1 >- +x2 >- >- - working to root: --rev 0 >- M a >- A y/x >- x/x >- R x/x >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,2 @@ >- a >- +7 >- diff --git a/x/x b/y/x >- rename from x/x >- rename to y/x >- --- a/x/x >- +++ b/y/x >- @@ -1,1 +1,3 @@ >- x >- +x1 >- +x2 >- >- - working to branch: --rev 2 >- M a >- A y/x >- x/x >- R x/x >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +7 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- diff --git a/x/x b/y/x >- rename from x/x >- rename to y/x >- --- a/x/x >- +++ b/y/x >- @@ -1,1 +1,3 @@ >- x >- +x1 >- +x2 >- >- - root to parent: --rev 0 --rev . >- M a >- A y/x >- x/x >- R x/x >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,1 +1,2 @@ >- a >- +7 >- diff --git a/x/x b/y/x >- rename from x/x >- rename to y/x >- --- a/x/x >- +++ b/y/x >- @@ -1,1 +1,2 @@ >- x >- +x1 >- >- - parent to root: --rev . --rev 0 >- M a >- A x/x >- y/x >- R y/x >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,2 +1,1 @@ >- a >- -7 >- diff --git a/y/x b/x/x >- rename from y/x >- rename to x/x >- --- a/y/x >- +++ b/x/x >- @@ -1,2 +1,1 @@ >- x >- -x1 >- >- - branch to parent: --rev 2 --rev . >- M a >- A y/x >- x/x >- R x/x >- R x/y >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,3 +1,2 @@ >- a >- -m1 >- -m2 >- +7 >- diff --git a/x/y b/x/y >- deleted file mode 100644 >- --- a/x/y >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -y1 >- diff --git a/x/x b/y/x >- rename from x/x >- rename to y/x >- --- a/x/x >- +++ b/y/x >- @@ -1,1 +1,2 @@ >- x >- +x1 >- >- - parent to branch: --rev . --rev 2 >- M a >- A x/x >- y/x >- A x/y >- R y/x >- >- diff --git a/a b/a >- --- a/a >- +++ b/a >- @@ -1,2 +1,3 @@ >- a >- -7 >- +m1 >- +m2 >- diff --git a/y/x b/x/x >- rename from y/x >- rename to x/x >- --- a/y/x >- +++ b/x/x >- @@ -1,2 +1,1 @@ >- x >- -x1 >- diff --git a/x/y b/x/y >- new file mode 100644 >- --- /dev/null >- +++ b/x/y >- @@ -0,0 +1,1 @@ >- +y1 >- >- >- >-Cannot implement unrelated branch with tb >-testing copies with unrelated branch >- >- $ hg init unrelated >- $ cd unrelated >- $ add a a >- $ hg ci -Am adda >- adding a >- $ hg mv a b >- $ hg ci -m movea >- $ hg up -C null >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ add a a >- $ hg ci -Am addunrelateda >- adding a >- created new head >- >-unrelated branch diff >- >- $ hg diff --git -r 2 -r 1 >- diff --git a/a b/a >- deleted file mode 100644 >- --- a/a >- +++ /dev/null >- @@ -1,1 +0,0 @@ >- -a >- diff --git a/b b/b >- new file mode 100644 >- --- /dev/null >- +++ b/b >- @@ -0,0 +1,1 @@ >- +a >- $ cd .. >!.........................s...... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-push-warn.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-push-warn.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-push-warn.t.err >@@ -1,701 +1,3 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ echo "[extensions]" >> $HGRCPATH >- $ echo "graphlog=" >> $HGRCPATH >- >- $ mkdir a >- $ cd a >- $ hg init >- $ echo foo > t1 >- $ hg add t1 >- $ hg commit -m "1" >- >- $ cd .. >- $ hg clone a b >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >- $ cd a >- $ echo foo > t2 >- $ hg add t2 >- $ hg commit -m "2" >- >- $ cd ../b >- $ echo foo > t3 >- $ hg add t3 >- $ hg commit -m "3" >- >- $ hg push ../a >- pushing to ../a >- searching for changes >- abort: push creates new remote heads on branch 'default'! >- (you should pull and merge or use push -f to force) >- [255] >- >- $ hg pull ../a >- pulling from ../a >- searching for changes >- adding changesets >- 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) >- >- $ hg push ../a >- pushing to ../a >- searching for changes >- abort: push creates new remote heads on branch 'default'! >- (did you forget to merge? use push -f to force) >- [255] >- >- $ hg merge >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- >- $ hg commit -m "4" >- $ hg push ../a >- pushing to ../a >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 2 changesets with 1 changes to 1 files >- >- $ cd .. >- >- $ hg init c >- $ cd c >- $ for i in 0 1 2; do >- > echo $i >> foo >- > hg ci -Am $i >- > done >- adding foo >- $ cd .. >- >- $ hg clone c d >- updating to branch default >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >- $ cd d >- $ for i in 0 1; do >- > hg co -C $i >- > echo d-$i >> foo >- > hg ci -m d-$i >- > done >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- created new head >- >- $ HGMERGE=true hg merge 3 >- merging foo >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- >- $ hg ci -m c-d >- >- $ hg push ../c >- pushing to ../c >- searching for changes >- abort: push creates new remote heads on branch 'default'! >- (did you forget to merge? use push -f to force) >- [255] >- >- $ hg push -r 2 ../c >- pushing to ../c >- searching for changes >- no changes found >- >- $ hg push -r 3 ../c >- pushing to ../c >- searching for changes >- abort: push creates new remote heads on branch 'default'! >- (did you forget to merge? use push -f to force) >- [255] >- >- $ hg push -r 3 -r 4 ../c >- pushing to ../c >- searching for changes >- abort: push creates new remote heads on branch 'default'! >- (did you forget to merge? use push -f to force) >- [255] >- >- $ hg push -f -r 3 -r 4 ../c >- pushing to ../c >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 2 changesets with 2 changes to 1 files (+2 heads) >- >- $ hg push -r 5 ../c >- pushing to ../c >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (-1 heads) >- >- $ hg in ../c >- comparing with ../c >- searching for changes >- no changes found >- [1] >- >- >-Issue450: push -r warns about remote head creation even if no heads >-will be created >- >- $ hg init ../e >- $ hg push -r 0 ../e >- pushing to ../e >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- >- $ hg push -r 1 ../e >- pushing to ../e >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- >- $ cd .. >- >- >-Issue736: named branches are not considered for detection of >-unmerged heads in "hg push" >- >- $ hg init f >- $ cd f >- $ hg -q branch a >- $ echo 0 > foo >- $ hg -q ci -Am 0 >- $ echo 1 > foo >- $ hg -q ci -m 1 >- $ hg -q up 0 >- $ echo 2 > foo >- $ hg -q ci -m 2 >- $ hg -q up 0 >- $ hg -q branch b >- $ echo 3 > foo >- $ hg -q ci -m 3 >- $ cd .. >- >- $ hg -q clone f g >- $ cd g >- >-Push on existing branch and new branch: >- >- $ hg -q up 1 >- $ echo 4 > foo >- $ hg -q ci -m 4 >- $ hg -q up 0 >- $ echo 5 > foo >- $ hg -q branch c >- $ hg -q ci -m 5 >- >- $ hg push ../f >- pushing to ../f >- searching for changes >- abort: push creates new remote branches: c! >- (use 'hg push --new-branch' to create new remote branches) >- [255] >- >- $ hg push -r 4 -r 5 ../f >- pushing to ../f >- searching for changes >- abort: push creates new remote branches: c! >- (use 'hg push --new-branch' to create new remote branches) >- [255] >- >- >-Multiple new branches: >- >- $ hg -q branch d >- $ echo 6 > foo >- $ hg -q ci -m 6 >- >- $ hg push ../f >- pushing to ../f >- searching for changes >- abort: push creates new remote branches: c, d! >- (use 'hg push --new-branch' to create new remote branches) >- [255] >- >- $ hg push -r 4 -r 6 ../f >- pushing to ../f >- searching for changes >- abort: push creates new remote branches: c, d! >- (use 'hg push --new-branch' to create new remote branches) >- [255] >- >- $ cd ../g >- >- >-Fail on multiple head push: >- >- $ hg -q up 1 >- $ echo 7 > foo >- $ hg -q ci -m 7 >- >- $ hg push -r 4 -r 7 ../f >- pushing to ../f >- searching for changes >- abort: push creates new remote heads on branch 'a'! >- (did you forget to merge? use push -f to force) >- [255] >- >-Push replacement head on existing branches: >- >- $ hg -q up 3 >- $ echo 8 > foo >- $ hg -q ci -m 8 >- >- $ hg push -r 7 -r 8 ../f >- pushing to ../f >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 2 changesets with 2 changes to 1 files >- >- >-Merge of branch a to other branch b followed by unrelated push >-on branch a: >- >- $ hg -q up 7 >- $ HGMERGE=true hg -q merge 8 >- $ hg -q ci -m 9 >- $ hg -q up 8 >- $ echo 10 > foo >- $ hg -q ci -m 10 >- >- $ hg push -r 9 ../f >- pushing to ../f >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (-1 heads) >- >- $ hg push -r 10 ../f >- pushing to ../f >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (+1 heads) >- >- >-Cheating the counting algorithm: >- >- $ hg -q up 9 >- $ HGMERGE=true hg -q merge 2 >- $ hg -q ci -m 11 >- $ hg -q up 1 >- $ echo 12 > foo >- $ hg -q ci -m 12 >- >- $ hg push -r 11 -r 12 ../f >- pushing to ../f >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 2 changesets with 2 changes to 1 files >- >- >-Failed push of new named branch: >- >- $ echo 12 > foo >- $ hg -q ci -m 12a >- [1] >- $ hg -q up 11 >- $ echo 13 > foo >- $ hg -q branch e >- $ hg -q ci -m 13d >- >- $ hg push -r 12 -r 13 ../f >- pushing to ../f >- searching for changes >- abort: push creates new remote branches: e! >- (use 'hg push --new-branch' to create new remote branches) >- [255] >- >- >-Using --new-branch to push new named branch: >- >- $ hg push --new-branch -r 12 -r 13 ../f >- pushing to ../f >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- >- >-Checking prepush logic does not allow silently pushing >-multiple new heads: >- >- $ cd .. >- $ hg init h >- $ echo init > h/init >- $ hg -R h ci -Am init >- adding init >- $ echo a > h/a >- $ hg -R h ci -Am a >- adding a >- $ hg clone h i >- updating to branch default >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg -R h up 0 >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo b > h/b >- $ hg -R h ci -Am b >- adding b >- created new head >- $ hg -R i up 0 >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo c > i/c >- $ hg -R i ci -Am c >- adding c >- created new head >- >- $ hg -R i push h >- pushing to h >- searching for changes >- abort: push creates new remote heads on branch 'default'! >- (you should pull and merge or use push -f to force) >- [255] >- >- >-Check prepush logic with merged branches: >- >- $ hg init j >- $ hg -R j branch a >- marked working directory as branch a >- $ echo init > j/foo >- $ hg -R j ci -Am init >- adding foo >- $ hg clone j k >- updating to branch a >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo a1 > j/foo >- $ hg -R j ci -m a1 >- $ hg -R k branch b >- marked working directory as branch b >- $ echo b > k/foo >- $ hg -R k ci -m b >- $ hg -R k up 0 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >- $ hg -R k merge b >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- >- $ hg -R k ci -m merge >- >- $ hg -R k push -r a j >- pushing to j >- searching for changes >- abort: push creates new remote branches: b! >- (use 'hg push --new-branch' to create new remote branches) >- [255] >- >- >-Prepush -r should not allow you to sneak in new heads: >- >- $ hg init l >- $ cd l >- $ echo a >> foo >- $ hg -q add foo >- $ hg -q branch a >- $ hg -q ci -ma >- $ hg -q up null >- $ echo a >> foo >- $ hg -q add foo >- $ hg -q branch b >- $ hg -q ci -mb >- $ cd .. >- $ hg -q clone l m -u a >- $ cd m >- $ hg -q merge b >- $ hg -q ci -mmb >- $ hg -q up 0 >- $ echo a >> foo >- $ hg -q ci -ma2 >- $ hg -q up 2 >- $ echo a >> foo >- $ hg -q branch -f b >- $ hg -q ci -mb2 >- $ hg -q merge 3 >- $ hg -q ci -mma >- >- $ hg push ../l -b b >- pushing to ../l >- searching for changes >- abort: push creates new remote heads on branch 'a'! >- (did you forget to merge? use push -f to force) >- [255] >- >- $ cd .. >- >- >-Check prepush with new branch head on former topo non-head: >- >- $ hg init n >- $ cd n >- $ hg branch A >- marked working directory as branch A >- $ echo a >a >- $ hg ci -Ama >- adding a >- $ hg branch B >- marked working directory as branch B >- $ echo b >b >- $ hg ci -Amb >- adding b >- >-b is now branch head of B, and a topological head >-a is now branch head of A, but not a topological head >- >- $ hg clone . inner >- updating to branch B >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ cd inner >- $ hg up B >- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ echo b1 >b1 >- $ hg ci -Amb1 >- adding b1 >- >-in the clone b1 is now the head of B >- >- $ cd .. >- $ hg up 0 >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo a2 >a2 >- $ hg ci -Ama2 >- adding a2 >- >-a2 is now the new branch head of A, and a new topological head >-it replaces a former inner branch head, so it should at most warn about >-A, not B >- >-glog of local: >- >- $ hg glog --template "{rev}: {branches} {desc}\n" >- @ 2: A a2 >- | >- | o 1: B b >- |/ >- o 0: A a >- >-glog of remote: >- >- $ hg glog -R inner --template "{rev}: {branches} {desc}\n" >- @ 2: B b1 >- | >- o 1: B b >- | >- o 0: A a >- >-outgoing: >- >- $ hg out inner --template "{rev}: {branches} {desc}\n" >- comparing with inner >- searching for changes >- 2: A a2 >- >- $ hg push inner >- pushing to inner >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files (+1 heads) >- >- $ cd .. >- >- >-Check prepush with new branch head on former topo head: >- >- $ hg init o >- $ cd o >- $ hg branch A >- marked working directory as branch A >- $ echo a >a >- $ hg ci -Ama >- adding a >- $ hg branch B >- marked working directory as branch B >- $ echo b >b >- $ hg ci -Amb >- adding b >- >-b is now branch head of B, and a topological head >- >- $ hg up 0 >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo a1 >a1 >- $ hg ci -Ama1 >- adding a1 >- >-a1 is now branch head of A, and a topological head >- >- $ hg clone . inner >- updating to branch A >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ cd inner >- $ hg up B >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo b1 >b1 >- $ hg ci -Amb1 >- adding b1 >- >-in the clone b1 is now the head of B >- >- $ cd .. >- $ echo a2 >a2 >- $ hg ci -Ama2 >- adding a2 >- >-a2 is now the new branch head of A, and a topological head >-it replaces a former topological and branch head, so this should not warn >- >-glog of local: >- >- $ hg glog --template "{rev}: {branches} {desc}\n" >- @ 3: A a2 >- | >- o 2: A a1 >- | >- | o 1: B b >- |/ >- o 0: A a >- >-glog of remote: >- >- $ hg glog -R inner --template "{rev}: {branches} {desc}\n" >- @ 3: B b1 >- | >- | o 2: A a1 >- | | >- o | 1: B b >- |/ >- o 0: A a >- >-outgoing: >- >- $ hg out inner --template "{rev}: {branches} {desc}\n" >- comparing with inner >- searching for changes >- 3: A a2 >- >- $ hg push inner >- pushing to inner >- searching for changes >- adding changesets >- adding manifests >- adding file changes >- added 1 changesets with 1 changes to 1 files >- >- $ cd .. >- >- >-Check prepush with new branch head and new child of former branch head >-but child is on different branch: >- >- $ hg init p >- $ cd p >- $ hg branch A >- marked working directory as branch A >- $ echo a0 >a >- $ hg ci -Ama0 >- adding a >- $ echo a1 >a >- $ hg ci -ma1 >- $ hg up null >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ hg branch B >- marked working directory as branch B >- $ echo b0 >b >- $ hg ci -Amb0 >- adding b >- $ echo b1 >b >- $ hg ci -mb1 >- >- $ hg clone . inner >- updating to branch B >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- >- $ hg up A >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ hg branch -f B >- marked working directory as branch B >- $ echo a3 >a >- $ hg ci -ma3 >- created new head >- $ hg up 3 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ hg branch -f A >- marked working directory as branch A >- $ echo b3 >b >- $ hg ci -mb3 >- created new head >- >-glog of local: >- >- $ hg glog --template "{rev}: {branches} {desc}\n" >- @ 5: A b3 >- | >- | o 4: B a3 >- | | >- o | 3: B b1 >- | | >- o | 2: B b0 >- / >- o 1: A a1 >- | >- o 0: A a0 >- >-glog of remote: >- >- $ hg glog -R inner --template "{rev}: {branches} {desc}\n" >- @ 3: B b1 >- | >- o 2: B b0 >- >- o 1: A a1 >- | >- o 0: A a0 >- >-outgoing: >- >- $ hg out inner --template "{rev}: {branches} {desc}\n" >- comparing with inner >- searching for changes >- 4: B a3 >- 5: A b3 >- >- $ hg push inner >- pushing to inner >- searching for changes >- abort: push creates new remote heads on branch 'A'! >- (did you forget to merge? use push -f to force) >- [255] >- >- $ hg push inner -r4 -r5 >- pushing to inner >- searching for changes >- abort: push creates new remote heads on branch 'A'! >- (did you forget to merge? use push -f to force) >- [255] >- >- $ hg in inner >- comparing with inner >- searching for changes >- no changes found >- [1] >!...... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-pull-pull-corruption2.t output changed >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-pull-pull-corruption2.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-pull-pull-corruption2.t.err >@@ -16,6 +16,7 @@ > $ hg init version2 > $ hg -R version2 pull source1 & > $ sleep 1 >+ $ hg clone --pull -U version2 corrupted > pulling from source1 > requesting all changes > adding changesets >@@ -23,7 +24,6 @@ > adding file changes > added 10 changesets with 10 changes to 1 files > (run 'hg update' to get a working copy) >- $ hg clone --pull -U version2 corrupted > requesting all changes > adding changesets > adding manifests >!.............................. >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-rename-merge2.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-rename-merge2.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-rename-merge2.t.err >@@ -1,753 +1,4 @@ >+ >+ ### Abort: timeout after 180 seconds. > > $ mkdir -p t >- $ cd t >- $ cat <<EOF > merge >- > import sys, os >- > f = open(sys.argv[1], "wb") >- > f.write("merge %s %s %s" % (sys.argv[1], sys.argv[2], sys.argv[3])) >- > f.close() >- > EOF >- >-perform a test merge with possible renaming >-args: >-$1 = action in local branch >-$2 = action in remote branch >-$3 = action in working dir >-$4 = expected result >- >- $ tm() >- > { >- > mkdir t >- > cd t >- > hg init >- > echo "[merge]" >> .hg/hgrc >- > echo "followcopies = 1" >> .hg/hgrc >- > >- > # base >- > echo base > a >- > echo base > rev # used to force commits >- > hg add a rev >- > hg ci -m "base" >- > >- > # remote >- > echo remote > rev >- > if [ "$2" != "" ] ; then $2 ; fi >- > hg ci -m "remote" >- > >- > # local >- > hg co -q 0 >- > echo local > rev >- > if [ "$1" != "" ] ; then $1 ; fi >- > hg ci -m "local" >- > >- > # working dir >- > echo local > rev >- > if [ "$3" != "" ] ; then $3 ; fi >- > >- > # merge >- > echo "--------------" >- > echo "test L:$1 R:$2 W:$3 - $4" >- > echo "--------------" >- > hg merge -y --debug --traceback --tool="python ../merge" >- > >- > echo "--------------" >- > hg status -camC -X rev >- > >- > hg ci -m "merge" >- > >- > echo "--------------" >- > echo >- > >- > cd .. >- > rm -r t >- > } >- $ up() { >- > cp rev $1 >- > hg add $1 2> /dev/null >- > if [ "$2" != "" ] ; then >- > cp rev $2 >- > hg add $2 2> /dev/null >- > fi >- > } >- $ uc() { up $1; hg cp $1 $2; } # update + copy >- $ um() { up $1; hg mv $1 $2; } >- $ nc() { hg cp $1 $2; } # just copy >- $ nm() { hg mv $1 $2; } # just move >- $ tm "up a " "nc a b" " " "1 get local a to b" >- created new head >- -------------- >- test L:up a R:nc a b W: - 1 get local a to b >- -------------- >- searching for copies back to rev 1 >- unmatched files in other: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a * >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local e300d1c794ec+ remote 4ce40f5aca24 >- rev: versions differ -> m >- a: remote copied to b -> m >- preserving a for resolve of b >- preserving rev for resolve of rev >- updating: a 1/2 files (50.00%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging a and b to b >- my b@e300d1c794ec+ other b@4ce40f5aca24 ancestor a@924404dff337 >- premerge successful >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@e300d1c794ec+ other rev@4ce40f5aca24 ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- a >- C a >- -------------- >- >- $ tm "nc a b" "up a " " " "2 get rem change to a and b" >- created new head >- -------------- >- test L:nc a b R:up a W: - 2 get rem change to a and b >- -------------- >- searching for copies back to rev 1 >- unmatched files in local: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a * >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 86a2aa42fc76+ remote f4db7e329e71 >- a: remote is newer -> g >- b: local copied/moved to a -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- getting a >- updating: b 2/3 files (66.67%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b and a to b >- my b@86a2aa42fc76+ other a@f4db7e329e71 ancestor a@924404dff337 >- premerge successful >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@86a2aa42fc76+ other rev@f4db7e329e71 ancestor rev@924404dff337 >- 1 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M a >- M b >- a >- -------------- >- >- $ tm "up a " "nm a b" " " "3 get local a change to b, remove a" >- created new head >- -------------- >- test L:up a R:nm a b W: - 3 get local a change to b, remove a >- -------------- >- searching for copies back to rev 1 >- unmatched files in other: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a * >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local e300d1c794ec+ remote bdb19105162a >- rev: versions differ -> m >- a: remote moved to b -> m >- preserving a for resolve of b >- preserving rev for resolve of rev >- removing a >- updating: a 1/2 files (50.00%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging a and b to b >- my b@e300d1c794ec+ other b@bdb19105162a ancestor a@924404dff337 >- premerge successful >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@e300d1c794ec+ other rev@bdb19105162a ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- a >- -------------- >- >- $ tm "nm a b" "up a " " " "4 get remote change to b" >- created new head >- -------------- >- test L:nm a b R:up a W: - 4 get remote change to b >- -------------- >- searching for copies back to rev 1 >- unmatched files in local: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a * >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 02963e448370+ remote f4db7e329e71 >- b: local copied/moved to a -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: b 1/2 files (50.00%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b and a to b >- my b@02963e448370+ other a@f4db7e329e71 ancestor a@924404dff337 >- premerge successful >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@02963e448370+ other rev@f4db7e329e71 ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- a >- -------------- >- >- $ tm " " "nc a b" " " "5 get b" >- created new head >- -------------- >- test L: R:nc a b W: - 5 get b >- -------------- >- searching for copies back to rev 1 >- unmatched files in other: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 94b33a1b7f2d+ remote 4ce40f5aca24 >- rev: versions differ -> m >- b: remote created -> g >- preserving rev for resolve of rev >- updating: b 1/2 files (50.00%) >- getting b >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@94b33a1b7f2d+ other rev@4ce40f5aca24 ancestor rev@924404dff337 >- 1 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- C a >- -------------- >- >- $ tm "nc a b" " " " " "6 nothing" >- created new head >- -------------- >- test L:nc a b R: W: - 6 nothing >- -------------- >- searching for copies back to rev 1 >- unmatched files in local: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 86a2aa42fc76+ remote 97c705ade336 >- rev: versions differ -> m >- preserving rev for resolve of rev >- updating: rev 1/1 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@86a2aa42fc76+ other rev@97c705ade336 ancestor rev@924404dff337 >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- C a >- C b >- -------------- >- >- $ tm " " "nm a b" " " "7 get b" >- created new head >- -------------- >- test L: R:nm a b W: - 7 get b >- -------------- >- searching for copies back to rev 1 >- unmatched files in other: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 94b33a1b7f2d+ remote bdb19105162a >- a: other deleted -> r >- rev: versions differ -> m >- b: remote created -> g >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- removing a >- updating: b 2/3 files (66.67%) >- getting b >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@94b33a1b7f2d+ other rev@bdb19105162a ancestor rev@924404dff337 >- 1 files updated, 1 files merged, 1 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- -------------- >- >- $ tm "nm a b" " " " " "8 nothing" >- created new head >- -------------- >- test L:nm a b R: W: - 8 nothing >- -------------- >- searching for copies back to rev 1 >- unmatched files in local: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 02963e448370+ remote 97c705ade336 >- rev: versions differ -> m >- preserving rev for resolve of rev >- updating: rev 1/1 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@02963e448370+ other rev@97c705ade336 ancestor rev@924404dff337 >- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- C b >- -------------- >- >- $ tm "um a b" "um a b" " " "9 do merge with ancestor in a" >- created new head >- -------------- >- test L:um a b R:um a b W: - 9 do merge with ancestor in a >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 62e7bf090eba+ remote 49b6d8032493 >- b: versions differ -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: b 1/2 files (50.00%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@62e7bf090eba+ other b@49b6d8032493 ancestor a@924404dff337 >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@62e7bf090eba+ other rev@49b6d8032493 ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- -------------- >- >- >-m "um a c" "um x c" " " "10 do merge with no ancestor" >- >- $ tm "nm a b" "nm a c" " " "11 get c, keep b" >- created new head >- -------------- >- test L:nm a b R:nm a c W: - 11 get c, keep b >- -------------- >- searching for copies back to rev 1 >- unmatched files in local: >- b >- unmatched files in other: >- c >- all copies found (* = to merge, ! = divergent): >- c -> a ! >- b -> a ! >- checking for directory renames >- a: divergent renames -> dr >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 02963e448370+ remote fe905ef2c33e >- rev: versions differ -> m >- c: remote created -> g >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- note: possible conflict - a was renamed multiple times to: >- b >- c >- updating: c 2/3 files (66.67%) >- getting c >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@02963e448370+ other rev@fe905ef2c33e ancestor rev@924404dff337 >- 1 files updated, 1 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M c >- C b >- -------------- >- >- $ tm "nc a b" "up b " " " "12 merge b no ancestor" >- created new head >- -------------- >- test L:nc a b R:up b W: - 12 merge b no ancestor >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 86a2aa42fc76+ remote af30c7647fc7 >- b: versions differ -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: b 1/2 files (50.00%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@86a2aa42fc76+ other b@af30c7647fc7 ancestor b@000000000000 >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@86a2aa42fc76+ other rev@af30c7647fc7 ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- C a >- -------------- >- >- $ tm "up b " "nm a b" " " "13 merge b no ancestor" >- created new head >- -------------- >- test L:up b R:nm a b W: - 13 merge b no ancestor >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 59318016310c+ remote bdb19105162a >- a: other deleted -> r >- b: versions differ -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- removing a >- updating: b 2/3 files (66.67%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000 >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 1 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- -------------- >- >- $ tm "nc a b" "up a b" " " "14 merge b no ancestor" >- created new head >- -------------- >- test L:nc a b R:up a b W: - 14 merge b no ancestor >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 86a2aa42fc76+ remote 8dbce441892a >- a: remote is newer -> g >- b: versions differ -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- getting a >- updating: b 2/3 files (66.67%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000 >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 >- 1 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M a >- M b >- -------------- >- >- $ tm "up b " "nm a b" " " "15 merge b no ancestor, remove a" >- created new head >- -------------- >- test L:up b R:nm a b W: - 15 merge b no ancestor, remove a >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 59318016310c+ remote bdb19105162a >- a: other deleted -> r >- b: versions differ -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- removing a >- updating: b 2/3 files (66.67%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000 >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 1 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- -------------- >- >- $ tm "nc a b" "up a b" " " "16 get a, merge b no ancestor" >- created new head >- -------------- >- test L:nc a b R:up a b W: - 16 get a, merge b no ancestor >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 86a2aa42fc76+ remote 8dbce441892a >- a: remote is newer -> g >- b: versions differ -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- getting a >- updating: b 2/3 files (66.67%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000 >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 >- 1 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M a >- M b >- -------------- >- >- $ tm "up a b" "nc a b" " " "17 keep a, merge b no ancestor" >- created new head >- -------------- >- test L:up a b R:nc a b W: - 17 keep a, merge b no ancestor >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 0b76e65c8289+ remote 4ce40f5aca24 >- b: versions differ -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: b 1/2 files (50.00%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@0b76e65c8289+ other b@4ce40f5aca24 ancestor b@000000000000 >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- C a >- -------------- >- >- $ tm "nm a b" "up a b" " " "18 merge b no ancestor" >- created new head >- -------------- >- test L:nm a b R:up a b W: - 18 merge b no ancestor >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 02963e448370+ remote 8dbce441892a >- b: versions differ -> m >- rev: versions differ -> m >- remote changed a which local deleted >- use (c)hanged version or leave (d)eleted? c >- a: prompt recreating -> g >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- getting a >- updating: b 2/3 files (66.67%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@02963e448370+ other b@8dbce441892a ancestor b@000000000000 >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337 >- 1 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M a >- M b >- -------------- >- >- $ tm "up a b" "nm a b" " " "19 merge b no ancestor, prompt remove a" >- created new head >- -------------- >- test L:up a b R:nm a b W: - 19 merge b no ancestor, prompt remove a >- -------------- >- searching for copies back to rev 1 >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 0b76e65c8289+ remote bdb19105162a >- local changed a which remote deleted >- use (c)hanged version or (d)elete? c >- a: prompt keep -> a >- b: versions differ -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: a 1/3 files (33.33%) >- updating: b 2/3 files (66.67%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b >- my b@0b76e65c8289+ other b@bdb19105162a ancestor b@000000000000 >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- C a >- -------------- >- >- $ tm "up a " "um a b" " " "20 merge a and b to b, remove a" >- created new head >- -------------- >- test L:up a R:um a b W: - 20 merge a and b to b, remove a >- -------------- >- searching for copies back to rev 1 >- unmatched files in other: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a * >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local e300d1c794ec+ remote 49b6d8032493 >- rev: versions differ -> m >- a: remote moved to b -> m >- preserving a for resolve of b >- preserving rev for resolve of rev >- removing a >- updating: a 1/2 files (50.00%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging a and b to b >- my b@e300d1c794ec+ other b@49b6d8032493 ancestor a@924404dff337 >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@e300d1c794ec+ other rev@49b6d8032493 ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- a >- -------------- >- >- $ tm "um a b" "up a " " " "21 merge a and b to b" >- created new head >- -------------- >- test L:um a b R:up a W: - 21 merge a and b to b >- -------------- >- searching for copies back to rev 1 >- unmatched files in local: >- b >- all copies found (* = to merge, ! = divergent): >- b -> a * >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 62e7bf090eba+ remote f4db7e329e71 >- b: local copied/moved to a -> m >- rev: versions differ -> m >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: b 1/2 files (50.00%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b and a to b >- my b@62e7bf090eba+ other a@f4db7e329e71 ancestor a@924404dff337 >- updating: rev 2/2 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@62e7bf090eba+ other rev@f4db7e329e71 ancestor rev@924404dff337 >- 0 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- a >- -------------- >- >- >-m "nm a b" "um x a" " " "22 get a, keep b" >- >- $ tm "nm a b" "up a c" " " "23 get c, keep b" >- created new head >- -------------- >- test L:nm a b R:up a c W: - 23 get c, keep b >- -------------- >- searching for copies back to rev 1 >- unmatched files in local: >- b >- unmatched files in other: >- c >- all copies found (* = to merge, ! = divergent): >- b -> a * >- checking for directory renames >- resolving manifests >- overwrite None partial False >- ancestor 924404dff337 local 02963e448370+ remote 2b958612230f >- b: local copied/moved to a -> m >- rev: versions differ -> m >- c: remote created -> g >- preserving b for resolve of b >- preserving rev for resolve of rev >- updating: b 1/3 files (33.33%) >- picked tool 'python ../merge' for b (binary False symlink False) >- merging b and a to b >- my b@02963e448370+ other a@2b958612230f ancestor a@924404dff337 >- premerge successful >- updating: c 2/3 files (66.67%) >- getting c >- updating: rev 3/3 files (100.00%) >- picked tool 'python ../merge' for rev (binary False symlink False) >- merging rev >- my rev@02963e448370+ other rev@2b958612230f ancestor rev@924404dff337 >- 1 files updated, 2 files merged, 0 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- -------------- >- M b >- a >- M c >- -------------- >- >!........... >ERROR: /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-revset.t output changed and returned error code -15 >--- /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-revset.t >+++ /var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7/tests/test-revset.t.err >@@ -1,358 +1,3 @@ >+ >+ ### Abort: timeout after 180 seconds. > $ HGENCODING=utf-8 >- $ export HGENCODING >- >- $ try() { >- > hg debugrevspec --debug $@ >- > } >- >- $ log() { >- > hg log --template '{rev}\n' -r "$1" >- > } >- >- $ hg init repo >- $ cd repo >- >- $ echo a > a >- $ hg branch a >- marked working directory as branch a >- $ hg ci -Aqm0 >- >- $ echo b > b >- $ hg branch b >- marked working directory as branch b >- $ hg ci -Aqm1 >- >- $ rm a >- $ hg branch a-b-c- >- marked working directory as branch a-b-c- >- $ hg ci -Aqm2 -u Bob >- >- $ hg co 1 >- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg branch +a+b+c+ >- marked working directory as branch +a+b+c+ >- $ hg ci -Aqm3 >- >- $ hg co 2 # interleave >- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved >- $ echo bb > b >- $ hg branch -- -a-b-c- >- marked working directory as branch -a-b-c- >- $ hg ci -Aqm4 -d "May 12 2005" >- >- $ hg co 3 >- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg branch /a/b/c/ >- marked working directory as branch /a/b/c/ >- $ hg ci -Aqm"5 bug" >- >- $ hg merge 4 >- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved >- (branch merge, don't forget to commit) >- $ hg branch _a_b_c_ >- marked working directory as branch _a_b_c_ >- $ hg ci -Aqm"6 issue619" >- >- $ hg branch .a.b.c. >- marked working directory as branch .a.b.c. >- $ hg ci -Aqm7 >- >- $ hg branch all >- marked working directory as branch all >- $ hg ci --close-branch -Aqm8 >- abort: can only close branch heads >- [255] >- >- $ hg co 4 >- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved >- $ hg branch é >- marked working directory as branch é >- $ hg ci -Aqm9 >- >- $ hg tag -r6 1.0 >- >- $ hg clone --quiet -U -r 7 . ../remote1 >- $ hg clone --quiet -U -r 8 . ../remote2 >- $ echo "[paths]" >> .hg/hgrc >- $ echo "default = ../remote1" >> .hg/hgrc >- >-names that should work without quoting >- >- $ try a >- ('symbol', 'a') >- 0 >- $ try b-a >- ('minus', ('symbol', 'b'), ('symbol', 'a')) >- 1 >- $ try _a_b_c_ >- ('symbol', '_a_b_c_') >- 6 >- $ try _a_b_c_-a >- ('minus', ('symbol', '_a_b_c_'), ('symbol', 'a')) >- 6 >- $ try .a.b.c. >- ('symbol', '.a.b.c.') >- 7 >- $ try .a.b.c.-a >- ('minus', ('symbol', '.a.b.c.'), ('symbol', 'a')) >- 7 >- $ try -- '-a-b-c-' # complains >- hg: parse error at 7: not a prefix: end >- [255] >- $ log -a-b-c- # succeeds with fallback >- 4 >- $ try -- -a-b-c--a # complains >- ('minus', ('minus', ('minus', ('negate', ('symbol', 'a')), ('symbol', 'b')), ('symbol', 'c')), ('negate', ('symbol', 'a'))) >- abort: unknown revision '-a'! >- [255] >- $ try é >- ('symbol', '\xc3\xa9') >- 9 >- >-quoting needed >- >- $ try '"-a-b-c-"-a' >- ('minus', ('string', '-a-b-c-'), ('symbol', 'a')) >- 4 >- >- $ log '1 or 2' >- 1 >- 2 >- $ log '1|2' >- 1 >- 2 >- $ log '1 and 2' >- $ log '1&2' >- $ try '1&2|3' # precedence - and is higher >- ('or', ('and', ('symbol', '1'), ('symbol', '2')), ('symbol', '3')) >- 3 >- $ try '1|2&3' >- ('or', ('symbol', '1'), ('and', ('symbol', '2'), ('symbol', '3'))) >- 1 >- $ try '1&2&3' # associativity >- ('and', ('and', ('symbol', '1'), ('symbol', '2')), ('symbol', '3')) >- $ try '1|(2|3)' >- ('or', ('symbol', '1'), ('group', ('or', ('symbol', '2'), ('symbol', '3')))) >- 1 >- 2 >- 3 >- $ log '1.0' # tag >- 6 >- $ log 'a' # branch >- 0 >- $ log '2785f51ee' >- 0 >- $ log 'date(2005)' >- 4 >- $ log 'date(this is a test)' >- hg: parse error at 10: unexpected token: symbol >- [255] >- $ log 'date()' >- hg: parse error: date requires a string >- [255] >- $ log 'date' >- hg: parse error: can't use date here >- [255] >- $ log 'date(' >- hg: parse error at 5: not a prefix: end >- [255] >- $ log 'date(tip)' >- abort: invalid date: 'tip' >- [255] >- $ log '"date"' >- abort: unknown revision 'date'! >- [255] >- $ log 'date(2005) and 1::' >- 4 >- >- $ log 'ancestor(1)' >- hg: parse error: ancestor requires two arguments >- [255] >- $ log 'ancestor(4,5)' >- 1 >- $ log 'ancestor(4,5) and 4' >- $ log 'ancestors(5)' >- 0 >- 1 >- 3 >- 5 >- $ log 'author(bob)' >- 2 >- $ log 'branch(é)' >- 8 >- 9 >- $ log 'children(ancestor(4,5))' >- 2 >- 3 >- $ log 'closed()' >- $ log 'contains(a)' >- 0 >- 1 >- 3 >- 5 >- $ log 'descendants(2 or 3)' >- 2 >- 3 >- 4 >- 5 >- 6 >- 7 >- 8 >- 9 >- $ log 'file(b)' >- 1 >- 4 >- $ log 'follow()' >- 0 >- 1 >- 2 >- 4 >- 8 >- 9 >- $ log 'grep("issue\d+")' >- 6 >- $ try 'grep("(")' # invalid regular expression >- ('func', ('symbol', 'grep'), ('string', '(')) >- hg: parse error: invalid match pattern: unbalanced parenthesis >- [255] >- $ try 'grep("\bissue\d+")' >- ('func', ('symbol', 'grep'), ('string', '\x08issue\\d+')) >- $ try 'grep(r"\bissue\d+")' >- ('func', ('symbol', 'grep'), ('string', '\\bissue\\d+')) >- 6 >- $ try 'grep(r"\")' >- hg: parse error at 7: unterminated string >- [255] >- $ log 'head()' >- 0 >- 1 >- 2 >- 3 >- 4 >- 5 >- 6 >- 7 >- 9 >- $ log 'heads(6::)' >- 7 >- $ log 'keyword(issue)' >- 6 >- $ log 'limit(head(), 1)' >- 0 >- $ log 'max(contains(a))' >- 5 >- $ log 'min(contains(a))' >- 0 >- $ log 'merge()' >- 6 >- $ log 'modifies(b)' >- 4 >- $ log 'id(5)' >- 2 >- $ log 'outgoing()' >- 8 >- 9 >- $ log 'outgoing("../remote1")' >- 8 >- 9 >- $ log 'outgoing("../remote2")' >- 3 >- 5 >- 6 >- 7 >- 9 >- $ log 'p1(merge())' >- 5 >- $ log 'p2(merge())' >- 4 >- $ log 'parents(merge())' >- 4 >- 5 >- $ log 'removes(a)' >- 2 >- 6 >- $ log 'roots(all())' >- 0 >- $ log 'reverse(2 or 3 or 4 or 5)' >- 5 >- 4 >- 3 >- 2 >- $ log 'rev(5)' >- 5 >- $ log 'sort(limit(reverse(all()), 3))' >- 7 >- 8 >- 9 >- $ log 'sort(2 or 3 or 4 or 5, date)' >- 2 >- 3 >- 5 >- 4 >- $ log 'tagged()' >- 6 >- $ log 'tag()' >- 6 >- $ log 'tag(1.0)' >- 6 >- $ log 'tag(tip)' >- 9 >- $ log 'user(bob)' >- 2 >- >- $ log '4::8' >- 4 >- 8 >- $ log '4:8' >- 4 >- 5 >- 6 >- 7 >- 8 >- >- $ log 'sort(!merge() & (modifies(b) | user(bob) | keyword(bug) | keyword(issue) & 1::9), "-date")' >- 4 >- 2 >- 5 >- >- $ log 'not 0 and 0:2' >- 1 >- 2 >- $ log 'not 1 and 0:2' >- 0 >- 2 >- $ log 'not 2 and 0:2' >- 0 >- 1 >- $ log '(1 and 2)::' >- $ log '(1 and 2):' >- $ log '(1 and 2):3' >- $ log 'sort(head(), -rev)' >- 9 >- 7 >- 6 >- 5 >- 4 >- 3 >- 2 >- 1 >- 0 >- $ log '4::8 - 8' >- 4 >- >-issue2437 >- >- $ log '3 and p1(5)' >- 3 >- $ log '4 and p2(6)' >- 4 >- $ log '1 and parents(:2)' >- 1 >- $ log '2 and children(1:)' >- 2 >- $ log 'roots(all()) or roots(all())' >- 0 >- $ log 'heads(branch(é)) or heads(branch(é))' >- 9 >- $ log 'ancestors(8) and (heads(branch("-a-b-c-")) or heads(branch(é)))' >- 4 >!................................. >Skipped test-convert-bzr-merges.t: missing feature: Canonical's Bazaar client >Skipped test-gendoc.t: missing feature: Docutils text processing library >Skipped test-convert-bzr-ghosts.t: missing feature: Canonical's Bazaar client >Skipped test-check-code-hg.py: cannot check code on non-repository sources >Skipped test-convert-bzr-114.t: missing feature: Canonical's Bazaar client >= 1.14 >Skipped test-convert-bzr-treeroot.t: missing feature: Canonical's Bazaar client >Skipped test-convert-p4: missing feature: Perforce server and client >Skipped test-casefolding.t: missing feature: case insensitive file system >Skipped test-convert-bzr-directories.t: missing feature: Canonical's Bazaar client >Skipped test-convert-bzr.t: missing feature: Canonical's Bazaar client >Skipped test-convert-p4-filetypes: missing feature: Perforce server and client >Skipped test-no-symlinks: system supports symbolic links >Failed test-bheads.t: output changed and returned error code -15 >Failed test-keyword.t: output changed and returned error code -15 >Failed test-mq.t: output changed and returned error code -15 >Failed test-command-template.t: output changed and returned error code -15 >Failed test-fetch.t: output changed and returned error code -15 >Failed test-import.t: output changed and returned error code -15 >Failed test-log.t: output changed and returned error code -15 >Failed test-mq-header-from.t: output changed and returned error code -15 >Failed test-push-warn.t: output changed and returned error code -15 >Failed test-mq-guards.t: output changed and returned error code -15 >Failed test-mv-cp-st-diff.t: output changed and returned error code -15 >Failed test-rename-merge2.t: output changed and returned error code -15 >Failed test-revset.t: output changed and returned error code -15 >Failed test-merge-tools.t: output changed and returned error code -15 >Failed test-mq-header-date.t: output changed and returned error code -15 >Failed test-pull-pull-corruption2.t: output changed ># Ran 373 tests, 12 skipped, 16 failed. > [31;01m*[0m ERROR: dev-vcs/mercurial-1.7 failed: > [31;01m*[0m Testing failed with CPython 2.6 in testing() function > [31;01m*[0m > [31;01m*[0m Call stack: > [31;01m*[0m ebuild.sh, line 56: Called src_test > [31;01m*[0m environment, line 4986: Called python_execute_function 'testing' > [31;01m*[0m environment, line 3662: Called die > [31;01m*[0m The specific snippet of code: > [31;01m*[0m die "${failure_message}"; > [31;01m*[0m > [31;01m*[0m If you need support, post the output of 'emerge --info =dev-vcs/mercurial-1.7', > [31;01m*[0m the complete build log and the output of 'emerge -pqv =dev-vcs/mercurial-1.7'. > [31;01m*[0m The complete build log is located at '/var/tmp/portage/dev-vcs/mercurial-1.7/temp/build.log'. > [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/dev-vcs/mercurial-1.7/temp/environment'. > [31;01m*[0m S: '/var/tmp/portage/dev-vcs/mercurial-1.7/work/mercurial-1.7'
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 348499
:
257341
| 257531 |
258017