# HG changeset patch # User Matt Mackall # Date 1454538264 21600 # Node ID 01a5143cd25f285f8c745a92986cd7186bb32c90 # Parent 8e79ad2da8a69735488402fd018dd82bc1eb9309# Parent c58c4683e2b71a18d6b82f2e8c6e7607b1079bef merge with stable diff -r 8e79ad2da8a6 -r 01a5143cd25f .hgsigs --- a/.hgsigs Mon Feb 01 18:29:07 2016 -0600 +++ b/.hgsigs Wed Feb 03 16:24:24 2016 -0600 @@ -120,3 +120,4 @@ ea389970c08449440587712117f178d33bab3f1e 0 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 diff -r 8e79ad2da8a6 -r 01a5143cd25f .hgtags --- a/.hgtags Mon Feb 01 18:29:07 2016 -0600 +++ b/.hgtags Wed Feb 03 16:24:24 2016 -0600 @@ -133,3 +133,4 @@ ea389970c08449440587712117f178d33bab3f1e 3.6.3 158bdc8965720ca4061f8f8d806563cfc7cdb62e 3.7-rc 2408645de650d8a29a6ce9e7dce601d8dd0d1474 3.7 +b698abf971e7377d9b7ec7fc8c52df45255b0329 3.7.1 diff -r 8e79ad2da8a6 -r 01a5143cd25f hgext/histedit.py --- a/hgext/histedit.py Mon Feb 01 18:29:07 2016 -0600 +++ b/hgext/histedit.py Wed Feb 03 16:24:24 2016 -0600 @@ -887,7 +887,7 @@ - `edit` to edit this changeset - There are a number of ways to select the root changset: + There are a number of ways to select the root changeset: - Specify ANCESTOR directly diff -r 8e79ad2da8a6 -r 01a5143cd25f hgext/rebase.py --- a/hgext/rebase.py Mon Feb 01 18:29:07 2016 -0600 +++ b/hgext/rebase.py Wed Feb 03 16:24:24 2016 -0600 @@ -47,6 +47,17 @@ def _nothingtorebase(): return 1 +def _savegraft(ctx, extra): + s = ctx.extra().get('source', None) + if s is not None: + extra['source'] = s + s = ctx.extra().get('intermediate-source', None) + if s is not None: + extra['intermediate-source'] = s + +def _savebranch(ctx, extra): + extra['branch'] = ctx.branch() + def _makeextrafn(copiers): """make an extrafn out of the given copy-functions. @@ -208,7 +219,7 @@ collapsemsg = cmdutil.logmessage(ui, opts) date = opts.get('date', None) e = opts.get('extrafn') # internal, used by e.g. hgsubversion - extrafns = [] + extrafns = [_savegraft] if e: extrafns = [e] keepf = opts.get('keep', False) @@ -397,13 +408,18 @@ if dest.closesbranch() and not keepbranchesf: ui.status(_('reopening closed branch head %s\n') % dest) - if keepbranchesf and collapsef: - branches = set() - for rev in state: - branches.add(repo[rev].branch()) - if len(branches) > 1: - raise error.Abort(_('cannot collapse multiple named ' - 'branches')) + if keepbranchesf: + # insert _savebranch at the start of extrafns so if + # there's a user-provided extrafn it can clobber branch if + # desired + extrafns.insert(0, _savebranch) + if collapsef: + branches = set() + for rev in state: + branches.add(repo[rev].branch()) + if len(branches) > 1: + raise error.Abort(_('cannot collapse multiple named ' + 'branches')) # Rebase if not targetancestors: @@ -605,10 +621,7 @@ if commitmsg is None: commitmsg = ctx.description() keepbranch = keepbranches and repo[p1].branch() != ctx.branch() - extra = ctx.extra().copy() - if not keepbranches: - del extra['branch'] - extra['rebase_source'] = ctx.hex() + extra = {'rebase_source': ctx.hex()} if extrafn: extrafn(ctx, extra) diff -r 8e79ad2da8a6 -r 01a5143cd25f i18n/pt_BR.po --- a/i18n/pt_BR.po Mon Feb 01 18:29:07 2016 -0600 +++ b/i18n/pt_BR.po Wed Feb 03 16:24:24 2016 -0600 @@ -1358,6 +1358,8 @@ "'attachio' command\n" " attach client's stdio passed by sendmsg()" msgstr "" +"comando 'attachio'\n" +" conecta à saída padrão do cliente passada por sendmsg()" msgid "" "'chdir' command\n" @@ -5000,13 +5002,13 @@ msgid "" "By default each edited revision needs to be present in histedit commands.\n" "To remove revision you need to use ``drop`` operation. You can configure\n" -"the drop to be implicit for missing commits by adding:" +"the drop to be implicit for missing commits by adding::" msgstr "" "Por padrão cada revisão editada precisa estar presente nos\n" "comandos histedit.\n" "Para remover uma revisão, você precisa usar a operação ``drop``.\n" "Você pode configurar a remoção como implícita para revisões\n" -"faltando adicionando:" +"faltando adicionando::" msgid "" " [histedit]\n" @@ -5148,12 +5150,12 @@ msgid "" " This command lets you edit a linear series of changesets (up to\n" " and including the working directory, which should be clean).\n" -" You can::" +" You can:" msgstr "" " Este comando possibilita a edição de uma série linear\n" " de revisões (até e incluindo o diretório de trabalho,\n" " que deve estar limpo).\n" -" Você pode usar::" +" Você pode usar:" msgid " - `pick` to [re]order a changeset" msgstr " - `pick` para [re]ordenar uma revisão" @@ -5173,18 +5175,18 @@ msgid " - `edit` to edit this changeset" msgstr " - `edit` para editar a revisão" -msgid " There are a number of ways to select the root changset::" -msgstr " Há diversas maneiras de selecionar a revisão raiz::" +msgid " There are a number of ways to select the root changset:" +msgstr " Há diversas maneiras de selecionar a revisão raiz:" msgid " - Specify ANCESTOR directly" msgstr " - Especificar ANCESTRAL diretamente" msgid "" " - Use --outgoing -- it will be the first linear changeset not\n" -" included in destination. (See :hg:\"help default-push\")" +" included in destination. (See :hg:`help config.default-push`)" msgstr "" " - Usar --outgoing -- será a primeira revisão linear não\n" -" incluída no destino. (veja :hg:\"help default-push\")" +" incluída no destino. (veja :hg:`help config.default-push`)" msgid "" " - Otherwise, the value from the \"histedit.defaultrev\" config option\n" @@ -9156,33 +9158,33 @@ " atual (a revisão de destino não é modificada pelo rebaseamento, mas\n" " novas revisões são acrescentadas como seus descendentes)." -msgid " Here are the ways to select changesets::" -msgstr " Estas são as maneiras de selecionar revisões::" +msgid " Here are the ways to select changesets:" +msgstr " Estas são as maneiras de selecionar revisões:" msgid " 1. Explicitly select them using ``--rev``." msgstr " 1. Seleção explícita usando ``--rev``." msgid "" " 2. Use ``--source`` to select a root changeset and include all of its\n" -" descendants." +" descendants." msgstr "" " 2. Use ``--source`` para selecionar uma revisão raiz e incluir\n" -" todos os seus descendentes." +" todos os seus descendentes." msgid "" " 3. Use ``--base`` to select a changeset; rebase will find ancestors\n" -" and their descendants which are not also ancestors of the destination." +" and their descendants which are not also ancestors of the destination." msgstr "" " 3. Use ``--base`` para selecionar uma revisão; rebase encontrará\n" -" os ancestrais e seus descendentes que também não forem ancestrais\n" -" do destino." +" os ancestrais e seus descendentes que também não forem ancestrais\n" +" do destino." msgid "" " 4. If you do not specify any of ``--rev``, ``source``, or ``--base``,\n" -" rebase will use ``--base .`` as above." +" rebase will use ``--base .`` as above." msgstr "" " 4. Se você não especificar ``--rev``, ``source`` ou ``--base``,\n" -" rebase usará ``--base .`` como acima." +" rebase usará ``--base .`` como acima." msgid "" " Rebase will destroy original changesets unless you use ``--keep``.\n" @@ -12174,6 +12176,9 @@ msgid "cannot use --commit with --no-commit" msgstr "não é possível usar --commit com --no-commit" +msgid "cannot use --merge with --no-commit" +msgstr "não é possível usar --merge com --no-commit" + msgid "please specify just one revision" msgstr "por favor especifique apenas uma revisão" @@ -12463,6 +12468,9 @@ msgid "force" msgstr "forçar" +msgid "revision for bookmark action" +msgstr "revisão para a ação de marcadores" + msgid "delete a given bookmark" msgstr "apaga o marcador pedido" @@ -19084,11 +19092,11 @@ "Configurações globais, como por exemplo seu nome de usuário, são\n" "tipicamente colocadas em:" -msgid " ``%USERPROFILE%\\mercurial.ini``" -msgstr " ``%USERPROFILE%\\mercurial.ini``" - -msgid " ``$HOME/.hgrc``" -msgstr " ``$HOME/.hgrc``" +msgid " - ``%USERPROFILE%\\mercurial.ini`` (on Windows)" +msgstr " - ``%USERPROFILE%\\mercurial.ini`` (em Windows)" + +msgid " - ``$HOME/.hgrc`` (on Unix, Plan9)" +msgstr " - ``$HOME/.hgrc`` (em Unix, Plan9)" msgid "" "The names of these files depend on the system on which Mercurial is\n" @@ -21138,53 +21146,6 @@ " entradas em ``http_proxy.no``. (padrão: False)" msgid "" -"``merge``\n" -"---------" -msgstr "" -"``merge``\n" -"---------" - -msgid "This section specifies behavior during merges and updates." -msgstr "" -"Esta seção especifica o comportamento durante mesclagens e atualizações." - -msgid "" -"``checkignored``\n" -" Controls behavior when an ignored file on disk has the same name as a tracked\n" -" file in the changeset being merged or updated to, and has different\n" -" contents. Options are ``abort``, ``warn`` and ``ignore``. With ``abort``,\n" -" abort on such files. With ``warn``, warn on such files and back them up as\n" -" .orig. With ``ignore``, don't print a warning and back them up as\n" -" .orig. (default: ``abort``)" -msgstr "" -"``checkignored``\n" -" Controla o comportamento quando um arquivo ignorado no disco\n" -" possuir o mesmo nome que um arquivo rastreado na revisão sendo\n" -" mesclada ou atualizada, e possuir conteúdo diferente.\n" -" As opções são ``abort``, ``warn`` e ``ignore``.\n" -" Com ``abort``, aborta ao encontrar tais arquivos.\n" -" Com ``warn``, emite um aviso e cria uma cópia desses arquivos\n" -" com a extensão .orig.\n" -" Com ``ignore``, não emite um aviso e cria uma cópia com a\n" -" extensão .orig.\n" -" (padrão: ``abort``)" - -msgid "" -"``checkunknown``\n" -" Controls behavior when an unknown file that isn't ignored has the same name\n" -" as a tracked file in the changeset being merged or updated to, and has\n" -" different contents. Similar to ``merge.checkignored``, except for files that\n" -" are not ignored. (default: ``abort``)" -msgstr "" -"``checkunknown``\n" -" Controla o comportamento quando um arquivo desconhecido que não\n" -" for ignorado tiver o mesmo nome que um arquivo rastreado na\n" -" revisão sendo mesclada ou atualizada, e possuir conteúdo diferente.\n" -" Opera de forma similar a ``merge.checkignored``, mas para arquivos\n" -" que não são ignorados.\n" -" (padrão: ``abort``)" - -msgid "" "``merge-patterns``\n" "------------------" msgstr "" @@ -32361,6 +32322,53 @@ msgstr "o número de cpus deve ser um inteiro" #~ msgid "" +#~ "``merge``\n" +#~ "---------" +#~ msgstr "" +#~ "``merge``\n" +#~ "---------" + +#~ msgid "This section specifies behavior during merges and updates." +#~ msgstr "" +#~ "Esta seção especifica o comportamento durante mesclagens e atualizações." + +#~ msgid "" +#~ "``checkignored``\n" +#~ " Controls behavior when an ignored file on disk has the same name as a tracked\n" +#~ " file in the changeset being merged or updated to, and has different\n" +#~ " contents. Options are ``abort``, ``warn`` and ``ignore``. With ``abort``,\n" +#~ " abort on such files. With ``warn``, warn on such files and back them up as\n" +#~ " .orig. With ``ignore``, don't print a warning and back them up as\n" +#~ " .orig. (default: ``abort``)" +#~ msgstr "" +#~ "``checkignored``\n" +#~ " Controla o comportamento quando um arquivo ignorado no disco\n" +#~ " possuir o mesmo nome que um arquivo rastreado na revisão sendo\n" +#~ " mesclada ou atualizada, e possuir conteúdo diferente.\n" +#~ " As opções são ``abort``, ``warn`` e ``ignore``.\n" +#~ " Com ``abort``, aborta ao encontrar tais arquivos.\n" +#~ " Com ``warn``, emite um aviso e cria uma cópia desses arquivos\n" +#~ " com a extensão .orig.\n" +#~ " Com ``ignore``, não emite um aviso e cria uma cópia com a\n" +#~ " extensão .orig.\n" +#~ " (padrão: ``abort``)" + +#~ msgid "" +#~ "``checkunknown``\n" +#~ " Controls behavior when an unknown file that isn't ignored has the same name\n" +#~ " as a tracked file in the changeset being merged or updated to, and has\n" +#~ " different contents. Similar to ``merge.checkignored``, except for files that\n" +#~ " are not ignored. (default: ``abort``)" +#~ msgstr "" +#~ "``checkunknown``\n" +#~ " Controla o comportamento quando um arquivo desconhecido que não\n" +#~ " for ignorado tiver o mesmo nome que um arquivo rastreado na\n" +#~ " revisão sendo mesclada ou atualizada, e possuir conteúdo diferente.\n" +#~ " Opera de forma similar a ``merge.checkignored``, mas para arquivos\n" +#~ " que não são ignorados.\n" +#~ " (padrão: ``abort``)" + +#~ msgid "" #~ "# Edit history between %s and %s\n" #~ "#\n" #~ "# Commits are listed from least to most recent\n" diff -r 8e79ad2da8a6 -r 01a5143cd25f mercurial/cmdutil.py --- a/mercurial/cmdutil.py Mon Feb 01 18:29:07 2016 -0600 +++ b/mercurial/cmdutil.py Wed Feb 03 16:24:24 2016 -0600 @@ -2623,11 +2623,6 @@ message = old.description() pureextra = extra.copy() - if 'amend_source' in pureextra: - del pureextra['amend_source'] - pureoldextra = old.extra() - if 'amend_source' in pureoldextra: - del pureoldextra['amend_source'] extra['amend_source'] = old.hex() new = context.memctx(repo, @@ -2645,7 +2640,7 @@ and newdesc == old.description() and user == old.user() and date == old.date() - and pureextra == pureoldextra): + and pureextra == old.extra()): # nothing changed. continuing here would create a new node # anyway because of the amend_source noise. # diff -r 8e79ad2da8a6 -r 01a5143cd25f mercurial/commands.py --- a/mercurial/commands.py Mon Feb 01 18:29:07 2016 -0600 +++ b/mercurial/commands.py Wed Feb 03 16:24:24 2016 -0600 @@ -1682,9 +1682,6 @@ if not allowunstable and old.children(): raise error.Abort(_('cannot amend changeset with children')) - newextra = extra.copy() - newextra['branch'] = branch - extra = newextra # commitfunc is used only for temporary amend commit by cmdutil.amend def commitfunc(ui, repo, message, match, opts): return repo.commit(message, @@ -4013,10 +4010,10 @@ if opts.get('dry_run'): continue - extra = ctx.extra().copy() - del extra['branch'] - source = extra.get('source') + source = ctx.extra().get('source') + extra = {} if source: + extra['source'] = source extra['intermediate-source'] = ctx.hex() else: extra['source'] = ctx.hex() diff -r 8e79ad2da8a6 -r 01a5143cd25f mercurial/osutil.c --- a/mercurial/osutil.c Mon Feb 01 18:29:07 2016 -0600 +++ b/mercurial/osutil.c Wed Feb 03 16:24:24 2016 -0600 @@ -653,7 +653,11 @@ /* * recvfds() simply does not release GIL during blocking io operation because * command server is known to be single-threaded. + * + * Old systems such as Solaris don't provide CMSG_LEN, msg_control, etc. + * Currently, recvfds() is not supported on these platforms. */ +#ifdef CMSG_LEN static ssize_t recvfdstobuf(int sockfd, int **rfds, void *cbuf, size_t cbufsize) { @@ -713,6 +717,7 @@ return NULL; } +#endif /* CMSG_LEN */ #endif /* ndef _WIN32 */ static PyObject *listdir(PyObject *self, PyObject *args, PyObject *kwargs) @@ -881,9 +886,11 @@ {"statfiles", (PyCFunction)statfiles, METH_VARARGS | METH_KEYWORDS, "stat a series of files or symlinks\n" "Returns None for non-existent entries and entries of other types.\n"}, +#ifdef CMSG_LEN {"recvfds", (PyCFunction)recvfds, METH_VARARGS, "receive list of file descriptors via socket\n"}, #endif +#endif #ifdef __APPLE__ { "isgui", (PyCFunction)isgui, METH_NOARGS, diff -r 8e79ad2da8a6 -r 01a5143cd25f mercurial/pure/osutil.py --- a/mercurial/pure/osutil.py Mon Feb 01 18:29:07 2016 -0600 +++ b/mercurial/pure/osutil.py Wed Feb 03 16:24:24 2016 -0600 @@ -104,9 +104,15 @@ ] _libc = ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True) - _recvmsg = _libc.recvmsg - _recvmsg.restype = getattr(ctypes, 'c_ssize_t', ctypes.c_long) - _recvmsg.argtypes = (ctypes.c_int, ctypes.POINTER(_msghdr), ctypes.c_int) + _recvmsg = getattr(_libc, 'recvmsg', None) + if _recvmsg: + _recvmsg.restype = getattr(ctypes, 'c_ssize_t', ctypes.c_long) + _recvmsg.argtypes = (ctypes.c_int, ctypes.POINTER(_msghdr), + ctypes.c_int) + else: + # recvmsg isn't always provided by libc; such systems are unsupported + def _recvmsg(sockfd, msg, flags): + raise NotImplementedError('unsupported platform') def _CMSG_FIRSTHDR(msgh): if msgh.msg_controllen < ctypes.sizeof(_cmsghdr): diff -r 8e79ad2da8a6 -r 01a5143cd25f tests/test-histedit-obsolete.t --- a/tests/test-histedit-obsolete.t Mon Feb 01 18:29:07 2016 -0600 +++ b/tests/test-histedit-obsolete.t Wed Feb 03 16:24:24 2016 -0600 @@ -152,14 +152,6 @@ rebasing 11:c13eb81022ca "f" $ hg up tip -q -check that extra has accumulated from histedit and rebase - - $ hg log -T '{extras % "{key}={value}\n"}\n' -r tip - branch=default - histedit_source=cacdfd884a9321ec4e1de275ef3949fa953a1f83 - rebase_source=c13eb81022caa686a369223fe7f926bc4f7db576 - - Test dropping of changeset on the top of the stack ------------------------------------------------------- @@ -173,7 +165,7 @@ $ cd droplast $ hg histedit -r '40db8afa467b' --commands - << EOF > pick 40db8afa467b 10 c - > drop 947ece25170f 11 f + > drop b449568bf7fc 11 f > EOF 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ hg log -G @@ -221,7 +213,7 @@ $ hg ph -pv '.^' phase changed for 2 changesets $ hg log -G - @ 13:947ece25170f (draft) f + @ 13:b449568bf7fc (draft) f | o 12:40db8afa467b (public) c | @@ -243,17 +235,17 @@ > done $ hg phase --force --secret .~2 $ hg log -G - @ 18:14bda137d5b3 (secret) k + @ 18:ee118ab9fa44 (secret) k | - o 17:c62e7241a4f2 (secret) j + o 17:3a6c53ee7f3d (secret) j | - o 16:9cd3934e05af (secret) i + o 16:b605fb7503f2 (secret) i | - o 15:ee4a24fc4dfa (draft) h + o 15:7395e1ff83bd (draft) h | - o 14:d22905de3528 (draft) g + o 14:6b70183d2492 (draft) g | - o 13:947ece25170f (draft) f + o 13:b449568bf7fc (draft) f | o 12:40db8afa467b (public) c | @@ -271,33 +263,33 @@ $ cp -r base simple-draft $ cd simple-draft - $ hg histedit -r '947ece25170f' --commands - << EOF - > edit 947ece25170f 11 f - > pick d22905de3528 12 g - > pick ee4a24fc4dfa 13 h - > pick 9cd3934e05af 14 i - > pick c62e7241a4f2 15 j - > pick 14bda137d5b3 16 k + $ hg histedit -r 'b449568bf7fc' --commands - << EOF + > edit b449568bf7fc 11 f + > pick 6b70183d2492 12 g + > pick 7395e1ff83bd 13 h + > pick b605fb7503f2 14 i + > pick 3a6c53ee7f3d 15 j + > pick ee118ab9fa44 16 k > EOF 0 files updated, 0 files merged, 6 files removed, 0 files unresolved adding f - Editing (947ece25170f), you may commit or record as needed now. + Editing (b449568bf7fc), you may commit or record as needed now. (hg histedit --continue to resume) [1] $ echo f >> f $ hg histedit --continue $ hg log -G - @ 24:12925f763c90 (secret) k + @ 24:12e89af74238 (secret) k | - o 23:4545a6e77442 (secret) j + o 23:636a8687b22e (secret) j | - o 22:d947a0798e76 (secret) i + o 22:ccaf0a38653f (secret) i | - o 21:28fb35ae4ebb (draft) h + o 21:11a89d1c2613 (draft) h | - o 20:10b22a5a9645 (draft) g + o 20:c1dec7ca82ea (draft) g | - o 19:c5a1db4a69f5 (draft) f + o 19:087281e68428 (draft) f | o 12:40db8afa467b (public) c | @@ -314,33 +306,33 @@ > [phases] > new-commit=secret > EOF - $ hg histedit -r '947ece25170f' --commands - << EOF - > edit 947ece25170f 11 f - > pick d22905de3528 12 g - > pick ee4a24fc4dfa 13 h - > pick 9cd3934e05af 14 i - > pick c62e7241a4f2 15 j - > pick 14bda137d5b3 16 k + $ hg histedit -r 'b449568bf7fc' --commands - << EOF + > edit b449568bf7fc 11 f + > pick 6b70183d2492 12 g + > pick 7395e1ff83bd 13 h + > pick b605fb7503f2 14 i + > pick 3a6c53ee7f3d 15 j + > pick ee118ab9fa44 16 k > EOF 0 files updated, 0 files merged, 6 files removed, 0 files unresolved adding f - Editing (947ece25170f), you may commit or record as needed now. + Editing (b449568bf7fc), you may commit or record as needed now. (hg histedit --continue to resume) [1] $ echo f >> f $ hg histedit --continue $ hg log -G - @ 24:12925f763c90 (secret) k + @ 24:12e89af74238 (secret) k | - o 23:4545a6e77442 (secret) j + o 23:636a8687b22e (secret) j | - o 22:d947a0798e76 (secret) i + o 22:ccaf0a38653f (secret) i | - o 21:28fb35ae4ebb (draft) h + o 21:11a89d1c2613 (draft) h | - o 20:10b22a5a9645 (draft) g + o 20:c1dec7ca82ea (draft) g | - o 19:c5a1db4a69f5 (draft) f + o 19:087281e68428 (draft) f | o 12:40db8afa467b (public) c | @@ -357,27 +349,27 @@ $ cp -r base reorder $ cd reorder - $ hg histedit -r '947ece25170f' --commands - << EOF - > pick 947ece25170f 11 f - > pick c62e7241a4f2 15 j - > pick d22905de3528 12 g - > pick 9cd3934e05af 14 i - > pick ee4a24fc4dfa 13 h - > pick 14bda137d5b3 16 k + $ hg histedit -r 'b449568bf7fc' --commands - << EOF + > pick b449568bf7fc 11 f + > pick 3a6c53ee7f3d 15 j + > pick 6b70183d2492 12 g + > pick b605fb7503f2 14 i + > pick 7395e1ff83bd 13 h + > pick ee118ab9fa44 16 k > EOF 0 files updated, 0 files merged, 5 files removed, 0 files unresolved $ hg log -G - @ 23:9e712162b2c1 (secret) k + @ 23:558246857888 (secret) k | - o 22:490861543602 (secret) h + o 22:28bd44768535 (secret) h | - o 21:86aeda50b70d (secret) i + o 21:d5395202aeb9 (secret) i | - o 20:b2fa360bc090 (secret) g + o 20:21edda8e341b (secret) g | - o 19:e10fb4e3eb8e (secret) j + o 19:5ab64f3a4832 (secret) j | - o 13:947ece25170f (draft) f + o 13:b449568bf7fc (draft) f | o 12:40db8afa467b (public) c | @@ -399,13 +391,13 @@ > [phases] > new-commit=secret > EOF - $ hg histedit -r '947ece25170f' --commands - << EOF - > pick ee4a24fc4dfa 13 h - > fold 947ece25170f 11 f - > pick d22905de3528 12 g - > fold c62e7241a4f2 15 j - > pick 9cd3934e05af 14 i - > fold 14bda137d5b3 16 k + $ hg histedit -r 'b449568bf7fc' --commands - << EOF + > pick 7395e1ff83bd 13 h + > fold b449568bf7fc 11 f + > pick 6b70183d2492 12 g + > fold 3a6c53ee7f3d 15 j + > pick b605fb7503f2 14 i + > fold ee118ab9fa44 16 k > EOF 0 files updated, 0 files merged, 6 files removed, 0 files unresolved 0 files updated, 0 files merged, 2 files removed, 0 files unresolved @@ -415,29 +407,29 @@ 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log -G - @ 27:769e8ee8708e (secret) i + @ 27:f9daec13fb98 (secret) i | - o 24:3de6dbab1b62 (secret) g + o 24:49807617f46a (secret) g | - o 21:1d51647632b2 (draft) h + o 21:050280826e04 (draft) h | o 12:40db8afa467b (public) c | o 0:cb9a9f314b8b (public) a - $ hg co 3de6dbab1b62 + $ hg co 49807617f46a 0 files updated, 0 files merged, 2 files removed, 0 files unresolved $ echo wat >> wat $ hg add wat $ hg ci -m 'add wat' created new head - $ hg merge 769e8ee8708e + $ hg merge f9daec13fb98 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ hg ci -m 'merge' $ echo not wat > wat $ hg ci -m 'modify wat' - $ hg histedit 1d51647632b2 + $ hg histedit 050280826e04 abort: cannot edit history that contains merges [255] $ cd .. diff -r 8e79ad2da8a6 -r 01a5143cd25f tests/test-rebase-obsolete.t --- a/tests/test-rebase-obsolete.t Mon Feb 01 18:29:07 2016 -0600 +++ b/tests/test-rebase-obsolete.t Wed Feb 03 16:24:24 2016 -0600 @@ -253,9 +253,9 @@ grafting 11:4596109a6a43 "D" $ hg up -qr 'desc(E)' $ hg rebase -s tip -d . - rebasing 14:0f4c66d0b70f "D" (tip) + rebasing 14:9e36056a46e3 "D" (tip) $ hg log --style default --debug -r tip - changeset: 15:884f358981b4d32069bb539e0e95d49a35eb81d0 + changeset: 15:627d4614809036ba22b9e7cb31638ddc06ab99ab tag: tip phase: draft parent: 4:9520eea781bcca16c1e15acc0ba14335a0e8e5ba @@ -266,7 +266,7 @@ files+: D extra: branch=default extra: intermediate-source=4596109a6a4328c398bde3a4a3b6737cfade3003 - extra: rebase_source=0f4c66d0b70f8e1ce4aec01f8e95cf24ee923afa + extra: rebase_source=9e36056a46e37c9776168c7375734eebc70e294f extra: source=32af7686d403cf45b5d95f2d70cebea587ac806a description: D