This instance will be upgraded to Heptapod 0.21.0rc2 on 2021-04-16 at 14:00 UTC+2 (a few minutes of down time)

  1. 22 Oct, 2020 1 commit
  2. 12 Nov, 2020 1 commit
  3. 07 Oct, 2020 1 commit
  4. 02 Apr, 2018 2 commits
    • Gregory Szorc's avatar
      debugcommands: drop offset and length from debugindex by default · d4e62df1c73d
      Gregory Szorc authored
      These fields are an implementation detail of revlog storage. As
      such, they are not part of the generic storage "index" interface
      and shouldn't be displayed by default.
      Because we don't have another way to display these fields, we've
      retained support for printing these fields via --verbose.
      Yes, I know we should probably be doing all this formatting using
      modern formatting/templater APIs. I didn't feel like scope
      bloating this patch.
      Differential Revision:
    • Gregory Szorc's avatar
      debugcommands: drop base revision from debugindex · 009d0283de5f
      Gregory Szorc authored
      Revlog index data consists of generic index metadata that will
      likely be implemented across all storage engines and revlog-specifc
      Most tests printing index data only care about the generic fields.
      This commit drops the printing of the base revision from
      `hg debugindex`. This value is an implementation detail of
      revlogs / delta chains. If tests are interested in verifying this
      implementation detail, `hg debugdeltachain` is a better command.
      Most tests were skipping over this field anyway. Tests that weren't
      looked like they were newer. So my guess is we forgot to make them
      skip the field to match the style of the older tests. This reinforces
      my belief that the base revision is not worth having in
      `hg debugindex`.
      Differential Revision:
  5. 31 Jul, 2017 2 commits
  6. 30 Jul, 2017 1 commit
  7. 28 Jul, 2017 1 commit
  8. 21 Feb, 2019 1 commit
    • Pulkit Goyal's avatar
      diff: make sure we output stat even when --git is not passed (issue4037) (BC) · 251332dbf33d
      Pulkit Goyal authored
      Before this patch, `hg diff --stat` will give an empty output. It will not show
      the stat information. I debugged and found that the underlying code does not
      return the diff header and due to that, other code paths fails to parse that as
      a diff.
      I looked into why we don't return diff headers in quiet mode and found the
      behavior is from 8f8bb77d560e which does not have
      any mention about why it is done. We also show the diff headers in git, so I
      think it's fine showing diff header in normal diff in quiet mode.
      Differential Revision:
  9. 19 Jul, 2017 1 commit
  10. 12 Jul, 2017 1 commit
  11. 03 May, 2019 2 commits
  12. 11 Dec, 2017 2 commits
    • Martin von Zweigbergk's avatar
      memfilectx: make changectx argument mandatory in constructor (API) · 8a0cac20a1ad
      Martin von Zweigbergk authored
      committablefilectx has three subclasses: workingfilectx, memfilectx,
      and overlayfilectx. committablefilectx takes an optional (change) ctx
      instance to its constructor. If it's provided, it's set on the
      instance as self._changectx. If not, that property is supposed to be
      defined by the class. However, only workingfilectx does that. The
      other two will have the property undefined if it's not passed in the
      constructor. That seems bad to me. This patch makes the changectx
      argument to the memfilectx constructor mandatory because that fixes
      the failure I ran into. It seems like we should also fix the
      overlayfilectx case.
      Differential Revision:
    • Matt Harbison's avatar
      tests: remove (glob) annotations that were only for '\' matches · 4441705b7111
      Matt Harbison authored
      # skip-blame because this was mechanically rewritten the following script.  I
      ran it on both *.t and *.py, but none of the *.py changes were proper.  All *.t
      ones appear to be, and they run without addition failures on both Windows and
        import argparse
        import os
        import re
        ap = argparse.ArgumentParser()
        ap.add_argument('path', nargs='+')
        opts = ap.parse_args()
        globre = re.compile(r'^(.*) \(glob\)(.*)$')
        for p in opts.path:
            tmp = p + '.tmp'
            with open(p, 'rb') as src, open(tmp, 'wb') as dst:
                for line in src:
                    m = globre.match(line)
                    if not m or '$LOCALIP' in line or '*' in line:
                    if '?' in line[:-3] or ('?' in line[:-3] and line[-3:] != '(?)'):
                    dst.write( + + '\n')
            os.rename(tmp, p)
  13. 25 Feb, 2017 1 commit
  14. 06 Jan, 2017 2 commits
  15. 31 Dec, 2016 1 commit
    • Sean Farley's avatar
      cmdutil: add special string that ignores rest of text · 5c85c93cdd61
      Sean Farley authored
      Similar to git, we add a special string:
        HG: ------------------------ >8 ------------------------
      that means anything below it is ignored in a commit message.
      This is helpful for integrating with third-party tools that display the
  16. 26 Sep, 2018 1 commit
  17. 19 Sep, 2018 1 commit
  18. 09 Jul, 2017 1 commit
    • Matt Harbison's avatar
      subrepo: make the output references to subrepositories consistent · 6d88468d435b
      Matt Harbison authored
      Well, mostly.  The annotation on subrepo functions tacks on a parenthetical to
      the abort message, which seems reasonable for a generic mechanism.  But now all
      messages consistently spell out 'subrepository', and double quote the name of
      the repo.  I noticed the inconsistency in the change for the last commit.
  19. 10 Mar, 2018 1 commit
  20. 26 Feb, 2018 1 commit
  21. 11 Apr, 2016 1 commit
  22. 08 Apr, 2016 1 commit
  23. 10 Oct, 2015 1 commit
  24. 01 Jun, 2015 1 commit
    • Katsunori FUJIWARA's avatar
      templatekw: compare target context and its parent exactly (issue4690) · ed18f4acf435
      Katsunori FUJIWARA authored
      Before this patch, template keywords `{file_mods}`, `{file_adds}` and
      `{file_dels}` use values gotten by `repo.status(ctx.p1().node(),
      But this doesn't work as expected if `ctx` is `memctx` or
      `workingcommitctx`. Typical case of templating with these contexts is
      customization of the text shown in the commit message editor by
      `[committemplate]` configuration.
      In this case, `ctx.node()` returns None and it causes comparison
      between `ctx.p1()` and `workingctx`. `workingctx` lists up all changed
      files in the working directory even at selective committing.
      BTW, `{files}` uses `ctx.files()` and it works as expected.
      To compare target context and its parent exactly, this patch passes
      `ctx.p1()` and `ctx` without `node()`-nize. This avoids unexpected
      comparison with `workingctx`.
      This patch uses a little redundant template configurations in
      `test-commit.t`, but they are needed to avoid regression around
      problems fixed by a4958cdb2202 and 1e6fb8db666e: accessing on `ctx`
      may break `ctx._status` field.
      branch : stable
  25. 22 Oct, 2016 1 commit
  26. 30 Sep, 2015 1 commit
  27. 22 Aug, 2017 1 commit
  28. 24 May, 2017 1 commit
    • Boris Feld's avatar
      util: raise ParseError when parsing dates (BC) · bb18728ea617
      Boris Feld authored
      a7dce526c462 refactored util.parsedate in order to raise ValueError instead
      of Abort for using with ui.configwith. It causes several problems, putting
      arbitrary bytes in ValueError can cause issues with Python 3. Moreover, we
      added a function to convert ValueError exceptions back to Abort.
      A better approach would be to make parsedate raises ParseError, removing
      the convert function and update configwith to also catch ParseError.
      The side-effect is that error message when giving an invalid date in CLI
      change from:
        abort: invalid date: 'foo bar'
        hg: parse error: invalid date: 'foo bar'
      I'm not sure if it's an acceptable change, I found personally the error
      message more clear but more verbose too.
  29. 22 May, 2017 1 commit
  30. 18 Dec, 2014 1 commit
  31. 16 Dec, 2014 1 commit
  32. 18 Apr, 2014 1 commit
  33. 31 Dec, 2014 2 commits
    • Katsunori FUJIWARA's avatar
      context: override _dirstatestatus in workingcommitctx for correct matching · bfce25d25c96
      Katsunori FUJIWARA authored
      Before this patch, the result of "status()" on "workingcommitctx" may
      incorrectly contain files other than ones to be committed, because
      "workingctx._dirstatestatus()" returns the result of
      "dirstate.status()" directly.
      For correct matching, this patch overrides "_dirstatestatus" in
      "workingcommitctx" and makes it return matched files only in
      This patch uses empty list for "deleted", "unknown" and "ignored" of
      status, because status between "changectx"s also makes them empty.
    • Katsunori FUJIWARA's avatar
      context: avoid breaking already fixed self._status at ctx.status() · 1e6fb8db666e
      Katsunori FUJIWARA authored
      Before this patch, "status()" on "workingcommitctx" with "always
      match" object causes breaking "self._status" in
      "workingctx._buildstatus()", because "workingctx._buildstatus()"
      caches the result of "dirstate.status()" into "self._status" for
      efficiency, even though it should be fixed at construction for
      For example, template function "diff()" without any patterns in
      "committemplate" implies "status()" on "workingcommitctx" with "always
      match" object, via "basectx.diff()" and "patch.diff()".
      Then, broken "self._status" causes committing unexpected files.
      To avoid breaking already fixed "self._status" at "ctx.status()", this
      patch overrides "_buildstatus" in "workingcommitctx".
      This patch doesn't write out the result of template function "diff()"
      in "committemplate" in "test-commit.t", because matching against files
      to be committed still has an issue fixed in subsequent patch.
  34. 11 Dec, 2014 1 commit