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. 20 Jun, 2019 1 commit
  3. 02 Sep, 2017 1 commit
  4. 01 Sep, 2017 1 commit
  5. 30 Aug, 2017 1 commit
    • Michael Bolin's avatar
      editor: use an unambiguous path suffix for editor files · 6e6452bc441d
      Michael Bolin authored
      Changes the API of `ui.edit()` to take an optional `action` argument,
      which is used when constructing the suffix of the temp file.
      Previously, it was possible to set the suffix by specifying a `suffix` to the
      optional `extra` dict that was passed to `ui.edit()`, but the goal is to
      drop support for `extra.suffix` and make `action` a required argument.
      To this end, `ui.edit()` now yields a `develwarn()` if `action` is not set
      or if `extra.suffix` is set.
      
      I updated all calls to `ui.edit()` I could find in `hg-crew` to specify the
      appropriate `action`. This means that when creating a commit, instead
      of the path to the editor file being something like:
      
      `/tmp/hg-editor-XXXXXX.txt`
      
      it is now something like:
      
      `/tmp/hg-editor-XXXXXX.commit.hg.txt`
      
      Some editors (such as Atom) make it possible to statically define a [TextMate]
      grammar for files with a particular suffix. For example, because Git reliably
      uses `.git/COMMIT_EDITMSG` and `.git/MERGE_MSG` as the paths for commit-type
      messages, it is trivial to define a grammar that is applied when files of
      either name are opened in Atom:
      
      https://github.com/atom/language-git/blob/v0.19.1/grammars/git%20commit%20message.cson#L4-L5
      
      Because Hg historically used a generic `.txt` suffix, it was much harder to
      disambiguate whether a file was an arbitrary text file as opposed to one
      created for the specific purpose of authoring an Hg commit message.
      
      This also makes it easier to add special support for `histedit`, as it has its own
      suffix that is distinct from a commit:
      
      `/tmp/hg-histedit-XXXXXX.histedit.hg.txt`
      
      Test Plan:
      Added an integration test: `test-editor-filename.t`.
      
      Manually tested: ran `hg ci --amend` for this change and saw that it
      used `/tmp/hg-editor-ZZjcz0.commit.hg.txt` as the path instead of
      `/tmp/hg-editor-ZZjcz0.txt` as the path.
      
      Verified `make tests` passes.
      
      Differential Revision: https://phab.mercurial-scm.org/D464
      6e6452bc441d