diff -Nru mercurial-3.1.1/debian/changelog mercurial-3.1.2/debian/changelog --- mercurial-3.1.1/debian/changelog 2014-09-13 14:09:07.000000000 +0000 +++ mercurial-3.1.2/debian/changelog 2014-10-06 09:57:52.000000000 +0000 @@ -1,8 +1,16 @@ -mercurial (3.1.1-1~andre1) trusty; urgency=medium +mercurial (3.1.2-1~andre1) trusty; urgency=medium * Backport from Ubuntu / Debian without changes - -- Andre Klitzing Sat, 13 Sep 2014 16:09:07 +0200 + -- Andre Klitzing Mon, 06 Oct 2014 11:57:52 +0200 + +mercurial (3.1.2-1) unstable; urgency=medium + + * New upstream version + * Use excanvas.js from libjs-excanvas instead of shipping a copy in + the package + + -- Javi Merino Thu, 02 Oct 2014 23:34:41 +0100 mercurial (3.1.1-1) unstable; urgency=medium diff -Nru mercurial-3.1.1/debian/control mercurial-3.1.2/debian/control --- mercurial-3.1.1/debian/control 2014-09-01 13:36:23.000000000 +0000 +++ mercurial-3.1.2/debian/control 2014-10-02 22:34:36.000000000 +0000 @@ -25,7 +25,10 @@ Package: mercurial-common Architecture: all -Depends: ${misc:Depends}, ${python:Depends} +Depends: + ${misc:Depends}, + ${python:Depends}, + libjs-excanvas Recommends: mercurial (>= ${source:Version}), ca-certificates Suggests: wish, diff -Nru mercurial-3.1.1/debian/mercurial-common.links mercurial-3.1.2/debian/mercurial-common.links --- mercurial-3.1.1/debian/mercurial-common.links 1970-01-01 00:00:00.000000000 +0000 +++ mercurial-3.1.2/debian/mercurial-common.links 2014-10-02 22:34:36.000000000 +0000 @@ -0,0 +1 @@ +/usr/share/javascript/excanvas/excanvas.js usr/share/mercurial/templates/static/excanvas.js diff -Nru mercurial-3.1.1/debian/patches/deb_specific__use_sensible-editor.patch mercurial-3.1.2/debian/patches/deb_specific__use_sensible-editor.patch --- mercurial-3.1.1/debian/patches/deb_specific__use_sensible-editor.patch 2014-09-03 09:52:27.000000000 +0000 +++ mercurial-3.1.2/debian/patches/deb_specific__use_sensible-editor.patch 2014-10-02 21:33:15.000000000 +0000 @@ -216,7 +216,7 @@ "PYTHONPATH\n" --- a/i18n/pt_BR.po +++ b/i18n/pt_BR.po -@@ -12206,10 +12206,10 @@ msgstr " (modelos parecem ter sido insta +@@ -12213,10 +12213,10 @@ msgstr " (modelos parecem ter sido insta msgid "checking commit editor...\n" msgstr "verificando editor para consolidação...\n" @@ -229,7 +229,7 @@ msgid " (specify a commit editor in your configuration file)\n" msgstr "" -@@ -19270,10 +19270,12 @@ msgstr "" +@@ -19275,10 +19275,12 @@ msgstr "" msgid "" "``editor``\n" @@ -244,7 +244,7 @@ msgid "" "``fallbackencoding``\n" -@@ -20508,7 +20510,7 @@ msgid "" +@@ -20513,7 +20515,7 @@ msgid "" " editor it uses is determined by looking at the environment\n" " variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n" " non-empty one is chosen. If all of them are empty, the editor\n" @@ -253,7 +253,7 @@ msgstr "" "EDITOR\n" " Algumas vezes o Mercurial precisa abrir em um editor um arquivo\n" -@@ -20516,7 +20518,7 @@ msgstr "" +@@ -20521,7 +20523,7 @@ msgstr "" " mensagens de consolidação. O editor usado é determinado pela\n" " consulta às variáveis de ambiente HGEDITOR, VISUAL e EDITOR,\n" " nessa ordem. O primeiro valor não vazio é escolhido. Se todos\n" @@ -349,7 +349,7 @@ This is used by Python to find imported modules and may need to be --- a/mercurial/help/config.txt +++ b/mercurial/help/config.txt -@@ -1247,7 +1247,8 @@ User interface controls. +@@ -1250,7 +1250,8 @@ User interface controls. Print debugging information. True or False. Default is False. ``editor`` diff -Nru mercurial-3.1.1/debian/rules mercurial-3.1.2/debian/rules --- mercurial-3.1.1/debian/rules 2014-06-17 22:15:17.000000000 +0000 +++ mercurial-3.1.2/debian/rules 2014-10-02 22:34:36.000000000 +0000 @@ -85,6 +85,8 @@ -rm -rf $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/templates \ $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/help \ $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/locale \ + # excanvas.js is provided by libjs-excanvas + rm $(CURDIR)/debian/mercurial-common/usr/share/mercurial/templates/static/excanvas.js # remove arch-dependent python stuff find debian/mercurial-common/usr/lib \ -name '*.so' ! -type d -delete , \ diff -Nru mercurial-3.1.1/doc/hg.1 mercurial-3.1.2/doc/hg.1 --- mercurial-3.1.1/doc/hg.1 2014-09-02 01:41:04.000000000 +0000 +++ mercurial-3.1.2/doc/hg.1 2014-10-01 19:59:36.000000000 +0000 @@ -2588,9 +2588,8 @@ .IP Note . for performance reasons, log FILE may omit duplicate changes -made on branches and will not show deletions. To see all -changes including duplicates and deletions, use the \-\-removed -switch. +made on branches and will not show removals or mode changes. To +see all such changes, use the \-\-removed switch. .RE .sp Some examples: @@ -2660,7 +2659,7 @@ .fi .IP \(bu 2 . -check if a given changeset is included is a tagged release: +check if a given changeset is included in a tagged release: .sp .nf .ft C diff -Nru mercurial-3.1.1/doc/hg.1.html mercurial-3.1.2/doc/hg.1.html --- mercurial-3.1.1/doc/hg.1.html 2014-09-02 01:41:07.000000000 +0000 +++ mercurial-3.1.2/doc/hg.1.html 2014-10-01 19:59:39.000000000 +0000 @@ -2125,9 +2125,8 @@

Note

for performance reasons, log FILE may omit duplicate changes -made on branches and will not show deletions. To see all -changes including duplicates and deletions, use the --removed -switch.

+made on branches and will not show removals or mode changes. To +see all such changes, use the --removed switch.

Some examples:

@@ -2167,7 +2166,7 @@ hg log -T list -
  • check if a given changeset is included is a tagged release:

    +
  • check if a given changeset is included in a tagged release:

     hg log -r "a21ccf and ancestor(1.9)"
     
    diff -Nru mercurial-3.1.1/doc/hgrc.5 mercurial-3.1.2/doc/hgrc.5 --- mercurial-3.1.1/doc/hgrc.5 2014-09-02 01:41:05.000000000 +0000 +++ mercurial-3.1.2/doc/hgrc.5 2014-10-01 19:59:37.000000000 +0000 @@ -618,6 +618,10 @@ .sp Use git extended diff format. .TP +.B \fBnobinary\fP +.sp +Omit git binary patches. +.TP .B \fBnodates\fP .sp Don\(aqt include dates in diff headers. diff -Nru mercurial-3.1.1/doc/hgrc.5.html mercurial-3.1.2/doc/hgrc.5.html --- mercurial-3.1.1/doc/hgrc.5.html 2014-09-02 01:41:07.000000000 +0000 +++ mercurial-3.1.2/doc/hgrc.5.html 2014-10-01 19:59:39.000000000 +0000 @@ -503,6 +503,8 @@
    git
    Use git extended diff format.
    +
    nobinary
    +
    Omit git binary patches.
    nodates
    Don't include dates in diff headers.
    showfunc
    diff -Nru mercurial-3.1.1/hgext/histedit.py mercurial-3.1.2/hgext/histedit.py --- mercurial-3.1.1/hgext/histedit.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/hgext/histedit.py 2014-10-01 19:58:04.000000000 +0000 @@ -147,6 +147,7 @@ pickle.dump # import now except ImportError: import pickle +import errno import os import sys @@ -741,7 +742,12 @@ def readstate(repo): """Returns a tuple of (parentnode, rules, keep, topmost, replacements). """ - fp = open(os.path.join(repo.path, 'histedit-state')) + try: + fp = open(os.path.join(repo.path, 'histedit-state')) + except IOError, err: + if err.errno != errno.ENOENT: + raise + raise util.Abort(_('no histedit in progress')) return pickle.load(fp) diff -Nru mercurial-3.1.1/hgext/mq.py mercurial-3.1.2/hgext/mq.py --- mercurial-3.1.1/hgext/mq.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/hgext/mq.py 2014-10-01 19:58:04.000000000 +0000 @@ -2969,18 +2969,17 @@ q = repo.mq guards = q.active() + pushable = lambda i: q.pushable(q.applied[i].name)[0] if args or opts.get('none'): old_unapplied = q.unapplied(repo) - old_guarded = [i for i in xrange(len(q.applied)) if - not q.pushable(i)[0]] + old_guarded = [i for i in xrange(len(q.applied)) if not pushable(i)] q.setactive(args) q.savedirty() if not args: ui.status(_('guards deactivated\n')) if not opts.get('pop') and not opts.get('reapply'): unapplied = q.unapplied(repo) - guarded = [i for i in xrange(len(q.applied)) - if not q.pushable(i)[0]] + guarded = [i for i in xrange(len(q.applied)) if not pushable(i)] if len(unapplied) != len(old_unapplied): ui.status(_('number of unguarded, unapplied patches has ' 'changed from %d to %d\n') % @@ -3016,18 +3015,17 @@ ui.write(g, '\n') else: ui.write(_('no active guards\n')) - reapply = opts.get('reapply') and q.applied and q.appliedname(-1) + reapply = opts.get('reapply') and q.applied and q.applied[-1].name popped = False if opts.get('pop') or opts.get('reapply'): for i in xrange(len(q.applied)): - pushable, reason = q.pushable(i) - if not pushable: + if not pushable(i): ui.status(_('popping guarded patches\n')) popped = True if i == 0: q.pop(repo, all=True) else: - q.pop(repo, str(i - 1)) + q.pop(repo, q.applied[i - 1].name) break if popped: try: diff -Nru mercurial-3.1.1/.hgsigs mercurial-3.1.2/.hgsigs --- mercurial-3.1.1/.hgsigs 2014-09-02 01:41:02.000000000 +0000 +++ mercurial-3.1.2/.hgsigs 2014-10-01 19:59:34.000000000 +0000 @@ -92,3 +92,4 @@ 2d8cd3d0e83c7336c0cb45a9f88638363f993848 0 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 diff -Nru mercurial-3.1.1/.hgtags mercurial-3.1.2/.hgtags --- mercurial-3.1.1/.hgtags 2014-09-02 01:41:02.000000000 +0000 +++ mercurial-3.1.2/.hgtags 2014-10-01 19:59:34.000000000 +0000 @@ -105,3 +105,4 @@ 2d8cd3d0e83c7336c0cb45a9f88638363f993848 3.0.2 6c36dc6cd61a0e1b563f1d51e55bdf4dacf12162 3.1-rc 3178e49892020336491cdc6945885c4de26ffa8b 3.1 +5dc91146f35369949ea56b40172308158b59063a 3.1.1 diff -Nru mercurial-3.1.1/i18n/pt_BR.po mercurial-3.1.2/i18n/pt_BR.po --- mercurial-3.1.1/i18n/pt_BR.po 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/i18n/pt_BR.po 2014-10-01 19:58:04.000000000 +0000 @@ -4013,7 +4013,7 @@ "If you were to run ``hg histedit c561b4e977df``, you would see the following\n" "file open in your editor::" msgstr "" -"Se você fosse rodar ``hg histedit c561b4e977df``, você veria o seguinte\n" +"Se você rodasse ``hg histedit c561b4e977df``, você veria o seguinte\n" "arquivo aberto no seu editor::" msgid "" @@ -4078,7 +4078,7 @@ msgstr "" "Em seguida, no momento em que você fechar o editor, o 'histedit'\n" "começará a funcionar.\n" -"Quando você especificar a operação ``fold``(incorporar), ``histedit``\n" +"Quando você especificar a operação ``fold`` (incorporar), ``histedit``\n" "abrirá um editor ao incorporar as revisões, oferecendo a você\n" "uma chance de limpar a mensagem de consolidação::" @@ -4134,7 +4134,7 @@ "Note que ``histedit`` *não* remove qualquer revisão (até mesmo\n" "as temporárias) até completar todas as operações de edição, então\n" "provavelmente ele irá realizar diversas operações de remoção\n" -"quando for terminado. Para o exemplo acima, ele teve que executar\n" +"ao final da operação. Para o exemplo acima, ele teve que executar\n" "a remoção duas vezes. Dependendo de uma variedade de fatores, a\n" "remoção pode ser lenta, então você pode precisar ser um pouco\n" "paciente. Você pode escolher manter as revisões originais passando\n" @@ -4149,23 +4149,24 @@ "new commit message, but the default commit message will be the\n" "original message for the ``edit`` ed revision." msgstr "" -"A operação de edição (``edit``) irá conduzi-lo de volta ao prompt de comando,\n" -"permitindo que você edite arquivos livremente, ou mesmo use ``hg record``\n" -"para consolidar algumas mudanças como uma consolidação separada. Quando\n" -"você acabar, qualquer mudança restante não consolidada também será\n" -"consolidada. Quando terminado, execute ``hg histedit --continue`` para\n" -"finalizar essa etapa. Você será consultado interativamente para uma nova\n" -"mensagem de consolidação, mas o texto da mensagem original será incluído\n" -"na edição." +"A operação de edição (``edit``) irá conduzi-lo de volta ao prompt\n" +"de comando, permitindo a você editar arquivos livremente,\n" +"ou até mesmo usar ``hg record`` para colocar algumas mudanças em\n" +"uma consolidação separada.\n" +"Quando você terminar, qualquer mudança pendente restante também\n" +"será consolidada. Ao final, execute ``hg histedit --continue``\n" +"para encerrar essa etapa. Você será consultado interativamente\n" +"para uma nova mensagem de consolidação, mas o texto da mensagem\n" +"original será incluído na edição." msgid "" "The ``message`` operation will give you a chance to revise a commit\n" "message without changing the contents. It's a shortcut for doing\n" "``edit`` immediately followed by `hg histedit --continue``." msgstr "" -"A operação de mensagem ( ``message``) irá dar a você a chance de\n" -"revisar uma mensagem de consolidação sem mudar o conteúdo. É um\n" -"atalho para fazer ``edit`` e imediatamente em seguida fazer\n" +"A operação de mensagem (``message``) possibilita revisar\n" +"uma mensagem de consolidação sem mudar o conteúdo da revisão.\n" +"É um atalho para ``edit`` seguido imediatamente por\n" "``hg histedit --continue``." msgid "" @@ -4425,6 +4426,9 @@ msgid "cannot edit immutable changeset: %s" msgstr "não é possível editar uma revisão imutável: %s" +msgid "no histedit in progress" +msgstr "nenhuma edição de histórico em andamento" + #, python-format msgid "malformed line \"%s\"" msgstr "linha malformada \"%s\"" @@ -11831,6 +11835,9 @@ " Veja :hg:`help config` para mais informações sobre arquivos de " "configuração." +msgid " Returns 0 on success, 1 if NAME does not exist." +msgstr " Devolve 0 para indicar sucesso, 1 se o NOME não existir." + msgid " " msgstr " " @@ -13613,14 +13620,12 @@ msgid "" " for performance reasons, log FILE may omit duplicate changes\n" -" made on branches and will not show deletions. To see all\n" -" changes including duplicates and deletions, use the --removed\n" -" switch." +" made on branches and will not show removals or mode changes. To\n" +" see all such changes, use the --removed switch." msgstr "" " por razões de desempenho, log ARQUIVO pode omitir mudanças\n" -" duplicadas feitas em outros ramos, e não mostra remoções.\n" -" Para ver todas as mudanças incluindo duplicatas e remoções,\n" -" use a opção --removed." +" duplicadas feitas em outros ramos, e não mostra remoções nem mudanças de atributos.\n" +" Para ver todas as mudanças, use a opção --removed." msgid " - changesets with full descriptions and file lists::" msgstr " - revisões com descrições completas e lista de arquivos::" @@ -13672,7 +13677,7 @@ msgid " hg log -T list" msgstr " hg log -T list" -msgid " - check if a given changeset is included is a tagged release::" +msgid " - check if a given changeset is included in a tagged release::" msgstr "" " - verifica se uma revisão dada foi incluída em um\n" " release etiquetado::" diff -Nru mercurial-3.1.1/mercurial/cmdutil.py mercurial-3.1.2/mercurial/cmdutil.py --- mercurial-3.1.1/mercurial/cmdutil.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/cmdutil.py 2014-10-01 19:58:04.000000000 +0000 @@ -1087,7 +1087,7 @@ """ # ui settings - if not tmpl and not style: + if not tmpl and not style: # template are stronger than style tmpl = ui.config('ui', 'logtemplate') if tmpl: try: @@ -1098,7 +1098,7 @@ else: style = util.expandpath(ui.config('ui', 'style', '')) - if style: + if not tmpl and style: mapfile = style if not os.path.split(mapfile)[0]: mapname = (templater.templatepath('map-cmdline.' + mapfile) diff -Nru mercurial-3.1.1/mercurial/commands.py mercurial-3.1.2/mercurial/commands.py --- mercurial-3.1.1/mercurial/commands.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/commands.py 2014-10-01 19:58:04.000000000 +0000 @@ -4118,9 +4118,8 @@ .. note:: for performance reasons, log FILE may omit duplicate changes - made on branches and will not show deletions. To see all - changes including duplicates and deletions, use the --removed - switch. + made on branches and will not show removals or mode changes. To + see all such changes, use the --removed switch. .. container:: verbose @@ -4154,7 +4153,7 @@ hg log -T list - - check if a given changeset is included is a tagged release:: + - check if a given changeset is included in a tagged release:: hg log -r "a21ccf and ancestor(1.9)" @@ -4175,6 +4174,7 @@ specifying custom templates. Returns 0 on success. + """ if opts.get('graph'): return cmdutil.graphlog(ui, repo, *pats, **opts) diff -Nru mercurial-3.1.1/mercurial/dispatch.py mercurial-3.1.2/mercurial/dispatch.py --- mercurial-3.1.1/mercurial/dispatch.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/dispatch.py 2014-10-01 19:58:04.000000000 +0000 @@ -627,7 +627,12 @@ return path, lui -def _checkshellalias(lui, ui, args): +def _checkshellalias(lui, ui, args, precheck=True): + """Return the function to run the shell alias, if it is required + + 'precheck' is whether this function is invoked before adding + aliases or not. + """ options = {} try: @@ -638,18 +643,24 @@ if not args: return - norepo = commands.norepo - optionalrepo = commands.optionalrepo - def restorecommands(): - commands.norepo = norepo - commands.optionalrepo = optionalrepo - - cmdtable = commands.table.copy() - addaliases(lui, cmdtable) + if precheck: + strict = True + norepo = commands.norepo + optionalrepo = commands.optionalrepo + def restorecommands(): + commands.norepo = norepo + commands.optionalrepo = optionalrepo + cmdtable = commands.table.copy() + addaliases(lui, cmdtable) + else: + strict = False + def restorecommands(): + pass + cmdtable = commands.table cmd = args[0] try: - aliases, entry = cmdutil.findcmd(cmd, cmdtable) + aliases, entry = cmdutil.findcmd(cmd, cmdtable, strict) except (error.AmbiguousCommand, error.UnknownCommand): restorecommands() return @@ -706,6 +717,14 @@ addaliases(lui, commands.table) + if not lui.configbool("ui", "strict"): + # All aliases and commands are completely defined, now. + # Check abbreviation/ambiguity of shell alias again, because shell + # alias may cause failure of "_parse" (see issue4355) + shellaliasfn = _checkshellalias(lui, ui, args, precheck=False) + if shellaliasfn: + return shellaliasfn() + # check for fallback encoding fallback = lui.config('ui', 'fallbackencoding') if fallback: diff -Nru mercurial-3.1.1/mercurial/help/config.txt mercurial-3.1.2/mercurial/help/config.txt --- mercurial-3.1.1/mercurial/help/config.txt 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/help/config.txt 2014-10-01 19:58:04.000000000 +0000 @@ -467,6 +467,9 @@ ``git`` Use git extended diff format. +``nobinary`` + Omit git binary patches. + ``nodates`` Don't include dates in diff headers. diff -Nru mercurial-3.1.1/mercurial/hgweb/common.py mercurial-3.1.2/mercurial/hgweb/common.py --- mercurial-3.1.1/mercurial/hgweb/common.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/hgweb/common.py 2014-10-01 19:58:04.000000000 +0000 @@ -112,9 +112,9 @@ def statusmessage(code, message=None): return '%d %s' % (code, message or _statusmessage(code)) -def get_stat(spath): - """stat changelog if it exists, spath otherwise""" - cl_path = os.path.join(spath, "00changelog.i") +def get_stat(spath, fn="00changelog.i"): + """stat fn (00changelog.i by default) if it exists, spath otherwise""" + cl_path = os.path.join(spath, fn) if os.path.exists(cl_path): return os.stat(cl_path) else: diff -Nru mercurial-3.1.1/mercurial/hgweb/hgweb_mod.py mercurial-3.1.2/mercurial/hgweb/hgweb_mod.py --- mercurial-3.1.1/mercurial/hgweb/hgweb_mod.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/hgweb/hgweb_mod.py 2014-10-01 19:58:04.000000000 +0000 @@ -71,8 +71,8 @@ r.baseui.setconfig('ui', 'nontty', 'true', 'hgweb') self.repo = r hook.redirect(True) + self.repostate = ((-1, -1), (-1, -1)) self.mtime = -1 - self.size = -1 self.reponame = name self.archives = 'zip', 'gz', 'bz2' self.stripecount = 1 @@ -107,9 +107,12 @@ def refresh(self, request=None): st = get_stat(self.repo.spath) - # compare changelog size in addition to mtime to catch - # rollbacks made less than a second ago - if st.st_mtime != self.mtime or st.st_size != self.size: + pst = get_stat(self.repo.spath, 'phaseroots') + # changelog mtime and size, phaseroots mtime and size + repostate = ((st.st_mtime, st.st_size), (pst.st_mtime, pst.st_size)) + # we need to compare file size in addition to mtime to catch + # changes made less than a second ago + if repostate != self.repostate: r = hg.repository(self.repo.baseui, self.repo.root) self.repo = self._getview(r) self.maxchanges = int(self.config("web", "maxchanges", 10)) @@ -121,8 +124,9 @@ encoding.encoding = self.config("web", "encoding", encoding.encoding) # update these last to avoid threads seeing empty settings + self.repostate = repostate + # mtime is needed for ETag self.mtime = st.st_mtime - self.size = st.st_size if request: self.repo.ui.environ = request.env @@ -200,8 +204,6 @@ # avoid accepting e.g. style parameter as command if util.safehasattr(webcommands, cmd): req.form['cmd'] = [cmd] - else: - cmd = '' if cmd == 'static': req.form['file'] = ['/'.join(args)] diff -Nru mercurial-3.1.1/mercurial/keepalive.py mercurial-3.1.2/mercurial/keepalive.py --- mercurial-3.1.1/mercurial/keepalive.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/keepalive.py 2014-10-01 19:58:04.000000000 +0000 @@ -635,7 +635,7 @@ fo = urllib2.urlopen(url) foo = fo.read() fo.close() - m = md5.new(foo) + m = md5(foo) print format % ('normal urllib', m.hexdigest()) # now install the keepalive handler and try again @@ -645,7 +645,7 @@ fo = urllib2.urlopen(url) foo = fo.read() fo.close() - m = md5.new(foo) + m = md5(foo) print format % ('keepalive read', m.hexdigest()) fo = urllib2.urlopen(url) @@ -656,7 +656,7 @@ foo = foo + f else: break fo.close() - m = md5.new(foo) + m = md5(foo) print format % ('keepalive readline', m.hexdigest()) def comp(N, url): diff -Nru mercurial-3.1.1/mercurial/localrepo.py mercurial-3.1.2/mercurial/localrepo.py --- mercurial-3.1.1/mercurial/localrepo.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/localrepo.py 2014-10-01 19:58:04.000000000 +0000 @@ -1127,7 +1127,7 @@ text = fctx.data() flog = self.file(fname) fparent1 = manifest1.get(fname, nullid) - fparent2 = fparent2o = manifest2.get(fname, nullid) + fparent2 = manifest2.get(fname, nullid) meta = {} copy = fctx.renamed() @@ -1193,9 +1193,8 @@ if fparent2 != nullid or flog.cmp(fparent1, text) or meta: changelist.append(fname) return flog.add(text, meta, tr, linkrev, fparent1, fparent2) - # are just the flags changed during merge? - if fparent1 != fparent2o and manifest1.flags(fname) != fctx.flags(): + elif fname in manifest1 and manifest1.flags(fname) != fctx.flags(): changelist.append(fname) return fparent1 diff -Nru mercurial-3.1.1/mercurial/revset.py mercurial-3.1.2/mercurial/revset.py --- mercurial-3.1.1/mercurial/revset.py 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/mercurial/revset.py 2014-10-01 19:58:04.000000000 +0000 @@ -2228,6 +2228,10 @@ self._set = set(self) return self._set + @util.propertycache + def __contains__(self): + return self.set().__contains__ + def __sub__(self, other): """Returns a new object with the substraction of the two collections. diff -Nru mercurial-3.1.1/mercurial/__version__.py mercurial-3.1.2/mercurial/__version__.py --- mercurial-3.1.1/mercurial/__version__.py 2014-09-02 01:41:09.000000000 +0000 +++ mercurial-3.1.2/mercurial/__version__.py 2014-10-01 19:59:41.000000000 +0000 @@ -1,2 +1,2 @@ # this file is autogenerated by setup.py -version = "3.1.1" +version = "3.1.2" diff -Nru mercurial-3.1.1/PKG-INFO mercurial-3.1.2/PKG-INFO --- mercurial-3.1.1/PKG-INFO 2014-09-02 01:41:10.000000000 +0000 +++ mercurial-3.1.2/PKG-INFO 2014-10-01 19:59:43.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: mercurial -Version: 3.1.1 +Version: 3.1.2 Summary: Fast scalable distributed SCM (revision control, version control) system Home-page: http://mercurial.selenic.com/ Author: Matt Mackall and many others diff -Nru mercurial-3.1.1/tests/test-alias.t mercurial-3.1.2/tests/test-alias.t --- mercurial-3.1.1/tests/test-alias.t 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/tests/test-alias.t 2014-10-01 19:58:04.000000000 +0000 @@ -353,7 +353,7 @@ > [extensions] > hgext.rebase = > [alias] - > rebate = !echo this is rebate + > rebate = !echo this is \$HG_ARGS > EOF $ hg reba hg: command 'reba' is ambiguous: @@ -361,6 +361,8 @@ [255] $ hg rebat this is rebate + $ hg rebat --foo-bar + this is rebate --foo-bar invalid arguments diff -Nru mercurial-3.1.1/tests/test-changelog-exec.t mercurial-3.1.2/tests/test-changelog-exec.t --- mercurial-3.1.1/tests/test-changelog-exec.t 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/tests/test-changelog-exec.t 2014-10-01 19:58:04.000000000 +0000 @@ -32,17 +32,19 @@ $ hg merge 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) + $ chmod +x foo $ hg ci -m 'merge' -this should not mention bar: +this should not mention bar but should mention foo: $ hg tip -v - changeset: 3:ef2fc9b4a51b + changeset: 3:c53d17ff3380 tag: tip parent: 2:ed1b79f46b9a parent: 1:d394a8db219b user: test date: Thu Jan 01 00:00:00 1970 +0000 + files: foo description: merge diff -Nru mercurial-3.1.1/tests/test-command-template.t mercurial-3.1.2/tests/test-command-template.t --- mercurial-3.1.1/tests/test-command-template.t 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/tests/test-command-template.t 2014-10-01 19:58:04.000000000 +0000 @@ -86,6 +86,11 @@ $ hg log -l1 -T./map-simple 8 +Template should precede style option + + $ hg log -l1 --style default -T '{rev}\n' + 8 + Default style is like normal output: $ hg log > log.out diff -Nru mercurial-3.1.1/tests/test-hgweb.t mercurial-3.1.2/tests/test-hgweb.t --- mercurial-3.1.1/tests/test-hgweb.t 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/tests/test-hgweb.t 2014-10-01 19:58:04.000000000 +0000 @@ -122,6 +122,24 @@ error: no such method: spam [1] + $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT '?cmd=spam' + 400 no such method: spam + [1] + +should give a 400 - bad command as a part of url path (issue4071) + + $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'spam' + 400 no such method: spam + [1] + + $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'raw-spam' + 400 no such method: spam + [1] + + $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'spam/tip/foo' + 400 no such method: spam + [1] + should give a 404 - file does not exist $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork?style=raw' @@ -308,7 +326,7 @@ Test the access/error files are opened in append mode $ python -c "print len(file('access.log').readlines()), 'log lines written'" - 10 log lines written + 14 log lines written static file @@ -513,6 +531,50 @@ 304 Not Modified +phase changes are refreshed (issue4061) + + $ echo bar >> foo + $ hg ci -msecret --secret + $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'log?style=raw' + 200 Script output follows + + + # HG changelog + # Node ID 2ef0ac749a14e4f57a5a822464a0902c6f7f448f + + changeset: 2ef0ac749a14e4f57a5a822464a0902c6f7f448f + revision: 0 + user: test + date: Thu, 01 Jan 1970 00:00:00 +0000 + summary: base + branch: default + tag: tip + + + $ hg phase --draft tip + $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'log?style=raw' + 200 Script output follows + + + # HG changelog + # Node ID a084749e708a9c4c0a5b652a2a446322ce290e04 + + changeset: a084749e708a9c4c0a5b652a2a446322ce290e04 + revision: 1 + user: test + date: Thu, 01 Jan 1970 00:00:00 +0000 + summary: secret + branch: default + tag: tip + + changeset: 2ef0ac749a14e4f57a5a822464a0902c6f7f448f + revision: 0 + user: test + date: Thu, 01 Jan 1970 00:00:00 +0000 + summary: base + + + errors $ cat errors.log diff -Nru mercurial-3.1.1/tests/test-histedit-arguments.t mercurial-3.1.2/tests/test-histedit-arguments.t --- mercurial-3.1.1/tests/test-histedit-arguments.t 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/tests/test-histedit-arguments.t 2014-10-01 19:58:04.000000000 +0000 @@ -41,6 +41,16 @@ one +histedit --continue/--abort with no existing state +-------------------------------------------------- + + $ hg histedit --continue + abort: no histedit in progress + [255] + $ hg histedit --abort + abort: no histedit in progress + [255] + Run a dummy edit to make sure we get tip^^ correctly via revsingle. -------------------------------------------------------------------- diff -Nru mercurial-3.1.1/tests/test-mq-guards.t mercurial-3.1.2/tests/test-mq-guards.t --- mercurial-3.1.1/tests/test-mq-guards.t 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/tests/test-mq-guards.t 2014-10-01 19:58:04.000000000 +0000 @@ -256,14 +256,21 @@ $ hg qpush -a applying c.patch now at: c.patch - $ hg qselect -n --reapply + $ hg qselect -n --reapply -v guards deactivated popping guarded patches popping c.patch popping b.patch patch queue now empty reapplying unguarded patches + skipping a.patch - guarded by '+1' '+2' + skipping b.patch - guarded by '+2' + skipping a.patch - guarded by '+1' '+2' + skipping b.patch - guarded by '+2' applying c.patch + patching file c + adding c + c now at: c.patch guards in series file: +1 +2 -3 @@ -388,7 +395,6 @@ 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 @@ -507,3 +513,78 @@ 0 G new.patch 1 A c.patch 2 A d.patch + +test that qselect shows "number of guarded, applied patches" correctly + + $ hg qimport -q -e b.patch + adding b.patch to series file + $ hg qguard -- b.patch -not-b + $ hg qpop -a -q + patch queue now empty + $ hg qunapplied -v + 0 G new.patch + 1 U c.patch + 2 U d.patch + 3 U b.patch + $ hg qselect not-new not-c + number of unguarded, unapplied patches has changed from 3 to 2 + $ hg qpush -q -a + patch d.patch is empty + now at: b.patch + + $ hg qapplied -v + 0 G new.patch + 1 G c.patch + 2 A d.patch + 3 A b.patch + $ hg qselect --none + guards deactivated + $ hg qselect not-new not-c not-d + number of guarded, applied patches has changed from 0 to 1 + +test that "qselect --reapply" reapplies patches successfully when the +already applied patch becomes unguarded and it follows the already +guarded (= not yet applied) one. + + $ hg qpop -q -a + patch queue now empty + $ hg qselect not-new not-c + number of unguarded, unapplied patches has changed from 1 to 2 + $ hg qpush -q -a + patch d.patch is empty + now at: b.patch + $ hg qapplied -v + 0 G new.patch + 1 G c.patch + 2 A d.patch + 3 A b.patch + $ hg qselect -q --reapply not-c not-b + now at: d.patch + cannot push 'b.patch' - guarded by '-not-b' + $ hg qseries -v + 0 U new.patch + 1 G c.patch + 2 A d.patch + 3 G b.patch + +test that "qselect --reapply" checks applied patches correctly when no +applied patche becomes guarded but some of unapplied ones become +unguarded. + + $ hg qpop -q -a + patch queue now empty + $ hg qselect not-new not-c not-d + number of unguarded, unapplied patches has changed from 2 to 1 + $ hg qpush -q -a + now at: b.patch + $ hg qapplied -v + 0 G new.patch + 1 G c.patch + 2 G d.patch + 3 A b.patch + $ hg qselect -q --reapply not-new not-c + $ hg qseries -v + 0 G new.patch + 1 G c.patch + 2 U d.patch + 3 A b.patch diff -Nru mercurial-3.1.1/tests/test-mq-qpush-fail.t mercurial-3.1.2/tests/test-mq-qpush-fail.t --- mercurial-3.1.1/tests/test-mq-qpush-fail.t 2014-09-02 01:40:54.000000000 +0000 +++ mercurial-3.1.2/tests/test-mq-qpush-fail.t 2014-10-01 19:58:04.000000000 +0000 @@ -131,8 +131,12 @@ now at: c now try it when a is unguarded, and we're at the top of the queue + + $ hg qapplied -v + 0 G a + 1 A b + 2 A c $ hg qsel block - number of guarded, applied patches has changed from 1 to 0 $ hg qpush b abort: cannot push to a previous patch: b [255]