Skip to content
Snippets Groups Projects
  1. Mar 11, 2025
  2. Jan 15, 2018
    • Martin von Zweigbergk's avatar
      evolution: report new unstable changesets · 1a09dad8b85a
      Martin von Zweigbergk authored
      This adds a transaction summary callback that reports the number of
      new orphan, content-divergent and phase-divergent changesets.
      
      The code for reporting it is based on the code from the evolve
      extension, but simplified a bit. It simply counts the numbers for each
      kind of instability before and after the transaction. That's obviously
      not very efficient, but it's easy to reason about, so I'm doing this
      as a first step that can make us quite confident about the test case
      changes. We can optimize it later and make sure that the tests are not
      affected. The code has been used in the evolve extension for a long
      time and has apparently been sufficiently fast, so it doesn't seem
      like a pressing issue.
      
      Unlike the evolve extension's version of this report, this version
      applies to all commands (or all transactions run as part of any
      command, to be exact).
      
      Differential Revision: https://phab.mercurial-scm.org/D1867
      1a09dad8b85a
  3. Dec 22, 2017
  4. Dec 11, 2017
    • 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
      Linux.
      
        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:
                        dst.write(line)
                        continue
                    if '?' in line[:-3] or ('?' in line[:-3] and line[-3:] != '(?)'):
                        dst.write(line)
                        continue
                    dst.write(m.group(1) + m.group(2) + '\n')
            os.unlink(p)
            os.rename(tmp, p)
      4441705b7111
  5. Nov 01, 2017
  6. Oct 17, 2017
  7. Sep 15, 2017
    • Martin von Zweigbergk's avatar
      obsmarker: track operation by default · ecc96506c49d
      Martin von Zweigbergk authored
      We added support for including the operation responsible for creating
      the obsmarker in 3546a771e376 (obsolete: add operation metadata to
      rebase/amend/histedit obsmarkers, 2017-05-09). However, soon
      thereafter, in f432897a9f49 (obsmarker: add an experimental flag
      controlling "operation" recording, 2017-05-20), it was hidden behind a
      config that was off by default. It seems unlikely that people will
      manually turn it on, and obsmarkers/evolution as a whole is still
      experimental anyway, so let's turn on the tracking by default.
      
      Differential Revision: https://phab.mercurial-scm.org/D722
      ecc96506c49d
  8. Sep 16, 2017
  9. Aug 14, 2017
  10. Aug 04, 2017
  11. Jul 15, 2017
    • Martin von Zweigbergk's avatar
      drawdag: include files from both parents in merge commits · 0103e7187237
      Martin von Zweigbergk authored
      Consider a graph like this:
      
        D
        |\
        B C
        |/
        A
      
      drawdag will add a file called A in commit A, file B in B, file C in
      C. That's fine and expected. In merge commits like D, I would expect
      the files and their contents to be taken from the parent commits, so
      commit D in this example would have files A, B, and C. However,
      drawdag will instead add the file D compared to the first
      parent. Depending on whether B or C got a smaller nodeid, the contents
      of D would be {A, B, D} or {A, C, D}. This patch changes it to to be
      {A, B, C}.
      
      Differential Revision: https://phab.mercurial-scm.org/D92
      0103e7187237
  12. Jun 27, 2017
Loading