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. 10 Jul, 2019 1 commit
  5. 20 Jun, 2019 1 commit
  6. 07 May, 2019 1 commit
  7. 24 Mar, 2018 1 commit
  8. 04 Apr, 2019 1 commit
    • Denis Laxalde's avatar
      interactive: do not prompt about files given in command line · db72f9f6580e
      Denis Laxalde authored
      For commit and revert commands with --interactive and explicit files
      given in the command line, we now skip the invite to "examine changes to
      <file> ? [Ynesfdaq?]". The reason for this is that, if <file> is
      specified by the user, asking for confirmation is redundant.
      
      In patch.filterpatch(), we now use an optional "match" argument to
      conditionally call the prompt() function when entering a new "header"
      item. We use .exact() method to compare with files from the "header" in
      order to only consider (rel)path patterns.
      
      Add tests with glob patterns for commit and revert, to make sure we
      still ask to examine files in these cases.
      db72f9f6580e
  9. 31 Jan, 2019 1 commit
    • Kyle Lippincott's avatar
      commit: if interactive, look elsewhere for whitespace settings (BC) · 66399f2e92aa
      Kyle Lippincott authored
      Previously, when doing `commit -i`, we respected `diff.ignorews` and other
      whitespace-related settings, which is probably unexpected. The primary reason
      for this is to support hgext.record's commandline options, it's probably
      accidental that the `[diff]` settings were also considered. See comments on
      issue6042 and D5490. This can cause problems (issue5839, issue6042).
      
      It is assumed by the author that the `[diff]` section is primarily for *viewing*
      diffs, and that it is unlikely what people intend when attempting to commit or
      revert.
      
      With this change, if a user wants the behavior, they can clone their `[diff]`
      settings to `commands.commit.interactive.<setting>`. This is thus a mild BC
      change, but one I suspect is not going to be relied on by anyone.
      
      Note: while doing a partial commit/revert, we do not know what command the user
      is actually running. This means that the split extension, which ends up calling
      into this code, will respect the `commands.commit.interactive.<setting>`
      settings, and not a hypothetical `commands.split.interactive.<setting>`. This
      *also* means that setting `commands.commit.interactive.ignoreblanklines`, for
      example, will still cause issue5839. Considering the highly unlikely chance that
      a user actually sets `commands.commit.interactive.<setting>`, the author deems
      this risk acceptable.
      
      Differential Revision: https://phab.mercurial-scm.org/D5834
      66399f2e92aa
  10. 29 Jan, 2019 2 commits
    • Kyle Lippincott's avatar
      commit: ignore diff whitespace settings when doing `commit -i` (issue5839) · 3a01ce246ece
      Kyle Lippincott authored
      Previously, we respected options like `diff.ignoreblanklines` and
      `diff.ignorews`.  This can cause problems when the user is attempting to
      actually commit the blank line change. Specifically, the split extension can get
      into an infinite loop because it detects that the working copy is not clean, but
      when we get the diff we don't see the changes, so it just skips popping up the
      chunk selection flow, saying there's no changes to record.
      
      These options are primarily meant for viewing diffs; it is highly unlikely that
      someone is actually intending to add extraneous whitespace and have it ignored
      if they attempt to interactively commit (but *not* ignored if they
      non-interactively commit).
      
      Differential Revision: https://phab.mercurial-scm.org/D5744
      3a01ce246ece
    • Kyle Lippincott's avatar
      patch: handle 0 context lines (diff.unified=0) when parsing patches · d1d3094b54f9
      Kyle Lippincott authored
      Previously, if there were no context lines, we would just keep updating the
      ranges and the hunk, but not actually storing the hunk (just overwriting it each
      time).  Thus a diff like this:
      
          $ hg diff --config diff.unified=0
          diff --git a/bar b/bar
          --- a/bar
          +++ b/bar
          @@ -1,0 +2,1 @@ 1
          +change1
          @@ -3,0 +5,1 @@ 3
          +change2
      
      would come out of the parser like this (change1 is lost):
      
          bar:
          @@ -3,0 +5,1 @@ 3
          +change2
      
      This had some really weird side effects for things like commit --interactive,
      split, etc.
      
      Differential Revision: https://phab.mercurial-scm.org/D5743
      d1d3094b54f9
  11. 08 Oct, 2018 1 commit
    • Katsunori FUJIWARA's avatar
      tests: use NO_CHECK_EOF for fragments having intentional error · 89ba51c3e4f1
      Katsunori FUJIWARA authored
      Some test scripts are excluded in test-check-module-imports.t, because
      import-checker.py reports that code fragments embedded in these test
      scripts have syntax error. But these syntax error is intentional.
      
      This patch uses NO_CHECK_EOF instead of EOF as heredoc limit mark for
      such fragments, in order to make import-checker.py ignore
      them. NO_CHECK_EOF limit mark tells import-checker.py that this code
      fragment should be ignored, via testparseutil.py.
      89ba51c3e4f1
  12. 19 Sep, 2018 1 commit
  13. 14 Oct, 2016 1 commit
  14. 20 May, 2016 1 commit
    • Katsunori FUJIWARA's avatar
      tests: escape bytes setting MSB in input of grep for portability · 8c5e880c7e25
      Katsunori FUJIWARA authored
      GNU grep (2.21-2 or later) assumes that input is encoded in LC_CTYPE,
      and input is binary if it contains byte sequence not valid for that
      encoding.
      
      For example, if locale is configured as C, a byte setting most
      significant bit (MSB) makes such GNU grep show "Binary file <FILENAME>
      matches" message instead of matched lines unintentionally.
      
      This behavior is recognized as a bug, and fixed in GNU grep 2.25-1 or
      later. But some distributions are shipped with such buggy version
      (e.g. Ubuntu xenial, which is used by launchpad buildbot).
      
          http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19230
          https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=800670
          http://packages.ubuntu.com/xenial/grep
      
      This causes failure of test-commit-interactive.t, which applies grep
      on CP932 byte sequence since 1111e84de635.
      
      But, explicit setting LC_CTYPE for CP932 might cause another problem,
      because it can't be assumed that all environment running Mercurial
      tests allows arbitrary locale setting.
      
      To resolve this issue, this patch escapes bytes setting MSB in input
      of grep.
      
      For this purpose:
      
        - str.encode('string-escape') isn't useful, because it escapes also
          control code (less than 0x20), and makes EOL handling complicated
      
        - "f --hexdump" isn't useful, because it isn't line-oriented
      
        - "sed -n" seems reasonable, but "sed" itself sometimes causes
          portability issue, too (e.g. 900767dfa80d or afb86ee925bf)
      
      This patch is posted with "stable" flag, because 1111e84de635 is on
      stable branch.
      
      --HG--
      branch : stable
      8c5e880c7e25
  15. 12 May, 2016 1 commit
    • Katsunori FUJIWARA's avatar
      patch: show lower-ed translated message correctly · 9d38a2061fd8
      Katsunori FUJIWARA authored
      Before this patch, patch.filterpatch() shows meaningless translation
      of help message for chunk selection in some encoding.
      
      It applies str.lower() instead of encoding.lower(str) on translated
      message, but some encoding uses 0x41(A) - 0x5a(Z) as the second or
      later byte of multi-byte character (for example, ja_JP.cp932), and
      str.lower() causes unexpected result.
      
      To show lower-ed translated message correctly, this patch replaces
      str.lower() by encoding.lower(str).
      
      --HG--
      branch : stable
      9d38a2061fd8
  16. 10 Mar, 2018 1 commit
  17. 14 Apr, 2016 1 commit
    • timeless's avatar
      config: use single quotes around command hint · ad2cd2ef25d9
      timeless authored
      Windows command lines use double quotes to quote arguments with spaces.
      This change is in a series to unify around using single quotes around
      commands, and double quotes around interior arguments.
      ad2cd2ef25d9
  18. 06 Apr, 2016 1 commit
    • timeless's avatar
      crecord: check for untracked arguments · 44611ad4fbd9
      timeless authored
      hg commit tracked untracked -- fails complaining about untracked
      
      prior to this commit,
      hg commit -i tracked untracked -- did not fail
      
      This is corrected by calling the refactored localrepo.checkcommitpatterns
      44611ad4fbd9
  19. 20 Jun, 2017 1 commit
  20. 22 Dec, 2015 1 commit
  21. 17 Dec, 2015 2 commits
  22. 30 Apr, 2015 1 commit
  23. 20 Oct, 2015 1 commit
  24. 27 Apr, 2015 1 commit
  25. 26 Apr, 2015 1 commit
  26. 23 Apr, 2015 2 commits
    • Laurent Charignon's avatar
      record: edit patch of newly added files (issue4304) · 8133494accf1
      Laurent Charignon authored
      I tried to fix this issue in the past and had to revert the fix. This is a
      second attempt without the regression we found with the first one.
      
      record defines special headers (of file) as headers whose hunk are not shown
      to the user for editing, they are used to represent deleted, moved and new
      files. Since we want to authorize editing the patch of newly added file we
      make the newly added file with some content not special anymore. This entails
      that we have to save their content before applying the backup to be able to
      revert it if the patch does not apply properly.
      We reintroduce the test showing that newly added files can be edited and that
      their content is shown to the user.
      
      --HG--
      branch : stable
      8133494accf1
    • Laurent Charignon's avatar
      record: remove useless line in test · 6c6aee6d395b
      Laurent Charignon authored
      Remove a useless line in test to make the next patch cleaner.
      
      --HG--
      branch : stable
      6c6aee6d395b
  27. 22 Apr, 2015 1 commit
  28. 11 Mar, 2015 1 commit
  29. 06 Mar, 2015 1 commit
    • Laurent Charignon's avatar
      record: allow editing new files (issue4304) · 79fceed67676
      Laurent Charignon authored
      While using the record extension to select changes, the user couldn't see the
      content of newly added files and had to select/reject them based on filename.
      The test is changed accordingly in two places.
      79fceed67676
  30. 19 Nov, 2014 1 commit
  31. 04 Nov, 2014 1 commit
  32. 20 Oct, 2014 1 commit
    • Katsunori FUJIWARA's avatar
      tests: adjust expected prompt choice outputs in test-record.t for Windows · 40c01f95449b
      Katsunori FUJIWARA authored
      Changeset 9ab18a912c44 introduced "showing prompt choice if input is
      not a tty but is forced to be interactive" and adjusted expected
      output in test-record.t.
      
      But some tests for no-execbit platform (= Windows) were not adjusted
      by 9ab18a912c44.
      
      This causes unexpected failure of test-record on Windows environment.
      
      This patch adds below to prompt lines for such tests:
      
        - prompt choice at the end of prompt line, and
        - empty line after prompt line
      
      --HG--
      branch : stable
      40c01f95449b
  33. 30 Sep, 2014 1 commit
  34. 27 Feb, 2014 2 commits
  35. 01 Dec, 2013 1 commit
  36. 22 Apr, 2013 1 commit
    • Kevin Bullock's avatar
      check-code: add a rule against a GNU sed-ism · 5e4491c114b2
      Kevin Bullock authored
      BSD sed requires the 'i' command to be followed with a backslash and a
      newline, like so:
      
        $ sed -e '/^@/i\
        > other'
      
      We've encountered this problem before, e.g. in test-mq.t (900767dfa80d).
      This change adds a check-code rule and fixes two instances of the
      problem in test-record.t.
      
      --HG--
      branch : stable
      5e4491c114b2