Skip to content
Snippets Groups Projects
  1. Jun 20, 2017
  2. Jun 18, 2017
  3. Jun 17, 2017
  4. Jun 19, 2017
    • durin42's avatar
      highlight: put pygments import inside demandimport.deactivated · 661025fd
      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.
      661025fd
    • Matt Harbison's avatar
      run-tests: explicitly flush test runner output for Windows stability · bd77ac2b
      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
      bd77ac2b
    • Matt Harbison's avatar
      tinyproxy: explicitly flush logged messages · 23b07333
      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
      23b07333
  5. Jun 18, 2017
  6. Feb 19, 2017
  7. Oct 16, 2016
    • Yuya Nishihara's avatar
      dagop: split module hosting DAG-related algorithms from revset · 27932a76
      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
      27932a76
  8. Jun 16, 2017
  9. Jun 18, 2017
  10. Jun 17, 2017
  11. May 27, 2017
    • Pierre-Yves David's avatar
      check-concurrency: expose the feature as 'concurrent-push-mode' · a7851519
      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.
      a7851519
  12. Jun 17, 2017
  13. Jun 16, 2017
  14. Jun 18, 2017
  15. May 01, 2017
  16. Jun 16, 2017
  17. Jun 15, 2017
    • Boris Feld's avatar
      template: add predecessors template · 1858fc23
      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.
      1858fc23
  18. Apr 22, 2017
  19. May 06, 2017
Loading