Skip to content
Snippets Groups Projects
  1. Jun 17, 2017
  2. Jun 16, 2017
  3. Jun 10, 2017
  4. Jun 06, 2017
  5. Jun 03, 2017
  6. May 08, 2017
    • Matt Harbison's avatar
      setup: prevent setuptools from laying an egg · 331dcf19
      Matt Harbison authored
      Previously, test-hghave.t was failing on Windows (and on Linux if
      $FORCE_SETUPTOOLS was set) with the following:
      
        --- c:/Users/Matt/Projects/hg/tests/test-hghave.t
        +++ c:/Users/Matt/Projects/hg/tests/test-hghave.t.err
        @@ -19,7 +19,11 @@
           >   foo
           > EOF
           $ run-tests.py $HGTEST_RUN_TESTS_PURE test-hghaveaddon.t
        +  warning: Testing with unexpected mercurial lib: c:\Users\Matt\Projects\hg\mercurial
        +           (expected ...\hgtests.mu9rou\install\lib\python\mercurial)
           .
        +  warning: Tested with unexpected mercurial lib: c:\Users\Matt\Projects\hg\mercurial
        +           (expected ...\hgtests.mu9rou\install\lib\python\mercurial)
      
      Augie relayed concerns[1] about the first attempt at this, which also excluded
      'install_egg_info'.  All that needs to be excluded to avoid the egg and make the
      test work is to filter out 'bdist_egg'.  (Actually, the body of this class could
      simply be 'pass', and 'bdist_egg' still isn't run.  But that seems to magical.)
      
      Also note that prior to this (and still now), `make clean` doesn't delete the
      'mercurial.egg-info' that is generated by `make install`.
      
      [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-May/097668.html
      
      # no-check-commit
      331dcf19
  7. May 02, 2017
  8. May 21, 2017
  9. May 20, 2017
    • Gregory Szorc's avatar
      cext: extract revlog/index parsing code to own C file · 7d0c6950
      Gregory Szorc authored
      parsers.c is ~3000 lines and ~2/3 of it is related to the revlog
      index type.
      
      We already have separate C source files for directory utilities
      and manifest parsing. I think the quite unwieldy revlog/index
      parsing code should be self-contained as well.
      
      I performed the extraction as a file copy then removed content
      from both sides in order to preserve file history and blame.
      
      As part of this, I also had to move the hexdigit table and
      function to a shared header since it is used by both parsers.c
      and revlog.c
      
      # no-check-commit
      7d0c6950
  10. Aug 13, 2016
  11. Aug 12, 2016
  12. Apr 26, 2017
    • Yuya Nishihara's avatar
      policy: relax the default for in-place build · a04f5c65
      Yuya Nishihara authored
      We're going to make the 'c' policy more strict, where no missing attribute
      will be allowed. Since we want to run 'hg bisect' without rebuilding the C
      extension modules, we'll need a looser policy for development environment.
      
      The default for system installation isn't changed.
      
      Note that the current 'c' policy is practically 'allow'-ish as we have lots
      of adhoc fallbacks to pure functions.
      a04f5c65
  13. May 02, 2017
    • Gregory Szorc's avatar
      setup: drop support for Python 2.6 (BC) · feb910d2
      Gregory Szorc authored
      Per discussion on the mailing list and elsewhere, we've decided that
      Python 2.6 is too old to continue supporting. We keep accumulating
      hacks/fixes/workarounds for 2.6 and this is taking time away from
      more important work.
      
      So with this patch, we officially drop support for Python 2.6 and
      require Python 2.7 to run Mercurial.
      feb910d2
  14. Aug 12, 2016
    • Yuya Nishihara's avatar
      policy: add "cext" package which will host CPython extension modules · c4858385
      Yuya Nishihara authored
      I'm going to restructure cext/pure modules and get rid of our hgimporter
      hack. C extension modules will be moved to cext/ directory so old and new
      compiled modules can coexist in development tree. This is necessary to
      run 'hg bisect' without recompiling.
      
      New extension modules will be loaded by an importer function:
      
        base85 = policy.importmod('base85')  # select pure.base85 or cext.base85
      
      This will also allow us to split cffi from pure modules, which is currently
      difficult because pure modules can't be imported by name.
      c4858385
  15. May 03, 2017
  16. Mar 24, 2017
    • Jun Wu's avatar
      statfs: change Linux feature detection · 2243ba21
      Jun Wu authored
      Previously we check three things: "statfs" function, "linux/magic.h" and
      "sys/vfs.h" headers. But we didn't check "struct statfs" or the "f_type"
      field. That means if a system has "statfs" but "struct statfs" is not
      defined in the two header files we check, or defined without the "f_type"
      field, the compilation will fail.
      
      This patch combines the checks (2 headers + 1 function + 1 field) together
      and sets "HAVE_LINUX_STATFS". It makes setup.py faster (less checks), and
      more reliable (immutable to the issue above).
      2243ba21
    • Jun Wu's avatar
      setup: use a more strict way to test BSD or OSX's statfs · ab51a2b1
      Jun Wu authored
      We want to use the `f_fstypename` field to get the filesystem type. Test it
      directly. The new macro HAVE_BSD_STATFS implys the old HAVE_SYS_MOUNT_H and
      HAVE_SYS_PARAM_H. So the latter ones are removed.
      ab51a2b1
  17. Mar 20, 2017
  18. Mar 12, 2017
    • Gregory Szorc's avatar
      setup: convert setupversion to unicode · 70bc35df
      Gregory Szorc authored
      Something deep in the bowels of distutils expects "version" passed to
      setup() to be a str/unicode. So, convert the type.
      
      This still works on Python 2 because the string is ascii and an
      implicit coercion back to str/bytes should work without issue. If
      it does cause problems, we can always make the unicode conversion
      dependent on running Python 3.
      
      This change makes `python3.5 setup.py install` work.
      70bc35df
  19. Mar 08, 2017
  20. Mar 10, 2017
    • Gregory Szorc's avatar
      setup: use setuptools on Windows (issue5400) · 718a57e9
      Gregory Szorc authored
      We've had a long, complicated history with setuptools. We want to
      make it the universal default. But when we do, it breaks things.
      
      `python setup.py build` is broken on Windows today. Forcing
      the use of setuptools via FORCE_SETUPTOOLS=1 unbreaks things.
      
      Since the previous bustage with making setuptools the default
      was on !Windows, it seems safe to move ahead with the setuptools
      transition on Windows. So this patch does that.
      718a57e9
  21. Feb 11, 2017
    • Katsunori FUJIWARA's avatar
      misc: update year in copyright lines · 75149f84
      Katsunori FUJIWARA authored
      This patch also makes some expected output lines in tests glob-ed for
      persistence of them.
      
      BTW, files below aren't yet changed in 2017, but this patch also
      updates copyright of them, because:
      
          - mercurial/help/hg.1.txt
      
            almost all of "man hg" output comes from online help of hg
            command, and is already changed in 2017
      
          - mercurial/help/hgignore.5.txt
          - mercurial/help/hgrc.5
      
            "copyright 2005-201X Matt Mackall" in them mentions about
            copyright of Mercurial itself
      75149f84
  22. Feb 10, 2017
    • Katsunori FUJIWARA's avatar
      misc: replace domain of mercurial ML address by mercurial-scm.org · 561a019c
      Katsunori FUJIWARA authored
      This patch also adds new check-code.py pattern to detect invalid usage
      of "mercurial@selenic.com".
      
      Change for test-convert-tla.t is tested, but similar change for almost
      same test-convert-baz.t isn't yet tested actually, because I couldn't
      find out the way to get "GNU Arch baz client".
      
      AFAIK, buildbot skips test-convert-baz.t, too. Does anybody have
      appropriate environment for testing?
      561a019c
  23. Jan 05, 2017
  24. Oct 28, 2016
  25. Nov 18, 2016
    • Gregory Szorc's avatar
      setup: add flag to build_ext to control building zstd · 0acf3fd7
      Gregory Szorc authored
      Downstream packagers will inevitably want to disable building the
      vendored python-zstandard Python package. Rather than force them
      to patch setup.py, let's give them a knob to use.
      
      distutils Command classes support defining custom options. It requires
      setting certain class attributes (yes, class attributes: instance
      attributes don't work because the class type is consulted before it
      is instantiated).
      
      We already have a custom child class of build_ext, so we set these
      class attributes, implement some scaffolding, and override
      build_extensions to filter the Extension instance for the zstd
      extension if the `--no-zstd` argument is specified.
      
      Example usage:
      
        $ python setup.py build_ext --no-zstd
      0acf3fd7
  26. Nov 11, 2016
    • Gregory Szorc's avatar
      setup: compile zstd C extension · 788ea4ac
      Gregory Szorc authored
      Now that zstd and python-zstandard are vendored, we can start compiling
      them as part of the install.
      
      python-zstandard provides a self-contained Python function that returns
      a distutils.extension.Extension, so it is really easy to add zstd
      to our setup.py without having to worry about defining source files,
      include paths, etc. The function even allows specifying the module
      name the extension should be compiled as. This conveniently allows us
      to compile the module into the "mercurial" package so "our" version
      won't collide with a version installed under the canonical "zstd"
      module name.
      788ea4ac
    • Jun Wu's avatar
      setup: test setproctitle before building osutil · ce9a3033
      Jun Wu authored
      We are going to use setproctitle (provided by FreeBSD) if it's available in
      the next patch. Therefore provide a macro to give some clues to the C
      pre-processor so it could choose code path wisely.
      ce9a3033
  27. Nov 09, 2016
  28. Jul 28, 2016
  29. Jul 25, 2016
Loading