Skip to content
Snippets Groups Projects
  1. Jun 19, 2017
  2. Jun 20, 2017
  3. Jun 18, 2017
  4. Jun 17, 2017
  5. Jun 19, 2017
    • durin42's avatar
      highlight: put pygments import inside demandimport.deactivated · 661025fd3e1c
      durin42 authored
      I tripped on some weirdness relating to _thread vs threading way down
      in a dep of highlight recently. I'm not really sure why I'm only just
      seeing this defect now, but experimentally this fixes the problem, and
      shouldn't cause any load-time slowness for people until pygments is
      actually about to be used since highlight.highlight is still lazily
      loaded in the highlight/__init__.py file.
      661025fd3e1c
    • Matt Harbison's avatar
      run-tests: explicitly flush test runner output for Windows stability · bd77ac2bd23a
      Matt Harbison authored
      When hghave testing goes awry, the output order was changing on Windows.
      
        diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t
        --- a/tests/test-run-tests.t
        +++ b/tests/test-run-tests.t
        @@ -920,10 +920,10 @@
            > EOF
            > done
            $ rt -j 2
        -  ....
        +  ....skipped: unknown feature: notarealhghavefeature\r (esc)
        +
        +
            # Ran 5 tests, 0 skipped, 0 warned, 0 failed.
        -  skipped: unknown feature: notarealhghavefeature
        -
            $ cd ..
            $ rm -rf broken
      
      Since 'skipped: unknown feature: notarealhghavefeature\n\n' is printed to stdout
      and the rest to stderr, it seems like maybe stdio isn't line buffered on
      Windows.  When a program exits, stdout is flushed before stderr[1].
      
      [1] https://blogs.msdn.microsoft.com/oldnewthing/20060519-09/?p=31133
      bd77ac2bd23a
    • Matt Harbison's avatar
      tinyproxy: explicitly flush logged messages · 23b07333a8b2
      Matt Harbison authored
      On Windows, output streams are buffered when redirected to a file, and
      TerminateProcess() apparently doesn't trigger a flush.  This left
      test-http-proxy.t missing part of the last line when it cat'd proxy.log[1].
      
      Flushing stderr is all that is needed (on py27 anyway).  I originally flushed
      stdout too, but that added additional output to the log:
      
           $ cat proxy.log
        +  Accept: $LOCALIP (localhost)\r (esc)
        +  Serving HTTP on 0.0.0.0 port 20810 ...\r (esc)
        +       connect to localhost:$HGPORT\r (esc)
           * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob)
        +       bye\r (esc)
        +       connect to localhost:$HGPORT\r (esc)
           * - - [*] "GET http://localhost:$HGPORT/?cmd=branchmap HTTP/1.1" - - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob)
        +       bye\r (esc)
        +       connect to localhost:$HGPORT\r (esc)
           * - - [*] "GET http://localhost:$HGPORT/?cmd=stream_out HTTP/1.1" - - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob)
        +       bye\r (esc)
        +       connect to localhost:$HGPORT\r (esc)
       ...
      
      [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096987.html
      23b07333a8b2
  6. Jun 18, 2017
  7. Feb 19, 2017
  8. Oct 16, 2016
    • Yuya Nishihara's avatar
      dagop: split module hosting DAG-related algorithms from revset · 27932a76a88d
      Yuya Nishihara authored
      This module hosts the following functions. They are somewhat similar (e.g.
      scanning revisions using heap queue or stack) and seem non-trivial in
      algorithmic point of view.
      
       - _revancestors()
       - _revdescendants()
       - reachableroots()
       - _toposort()
      
      I was thinking of adding revset._fileancestors() generator for better follow()
      implementation, but it would be called from context.py as well. So I decided
      to create new module.
      
      Naming is hard. I couldn't come up with any better module name, so it's called
      "dag operation" now. I rejected the following candidates:
      
       - ancestor.py - existing, revlog-level DAG algorithm
       - ancestorset.py - doesn't always return a set
       - dagalgorithm.py - hard to type
       - dagutil.py - existing
       - revancestor.py - I want to add fileancestors()
      
        % wc -l mercurial/dagop.py mercurial/revset.py
          339 mercurial/dagop.py
         2020 mercurial/revset.py
         2359 total
      27932a76a88d
  9. Jun 16, 2017
  10. Jun 18, 2017
  11. Jun 17, 2017
  12. May 27, 2017
    • Pierre-Yves David's avatar
      check-concurrency: expose the feature as 'concurrent-push-mode' · a7851519ea02
      Pierre-Yves David authored
      We move the feature to a proper configuration and document it. The config goes
      in the 'server' section because it feels like something the server owner would
      want to decide. We pick and open field because it seems likely that other
      checking levels will emerge in the future. (eg: server like the mozilla-try
      server will likely wants a "none" value)
      
      The option name contains 'push' since this affects 'push' only. The option value
      'check-related' is preferred over one explicitly containing 'allow' or 'deny'
      because the client still have a strong decision power here. Here, the server is
      just advising the client on the check mode to use.
      a7851519ea02
  13. Jun 17, 2017
  14. Jun 16, 2017
  15. Jun 18, 2017
  16. May 01, 2017
  17. Jun 16, 2017
  18. Jun 15, 2017
    • Boris Feld's avatar
      template: add predecessors template · 1858fc2327ef
      Boris Feld authored
      Add a 'predecessors' template that returns the list of all closest known
      predecessors for a changectx. The elements of the list are row changectx node id
      formatted by default as short nodes.
      
      The "closest predecessors" are the first locally known revisions encountered
      while, walking predecessors markers. For example:
      
        1) If a (A, (B)) markers exists and both A and B are locally known A is a
        closest predecessors of B.
      
        2) If a (A, (B)) and (B, (C)) markers exists and only A and C are known
        locally, A will be the closest precursors of C.
      
      This logic respect repository filtering. So hidden revision will be skipped by
      this logic unless --hidden is specified. Since we only display the visible
      predecessors, this template will not display anything in most case. It makes a
      good candidate for inclusion in the default log output.
      
      I added a new test-file for testing the precursors in various scenarios. This
      test file will also be used for the successors template.
      
      A new "obsutil" module has been added to start gathering utility function
      outside of the large obsolete.py module.
      1858fc2327ef
Loading