Skip to content
Snippets Groups Projects
  1. Dec 07, 2020
    • Matt Harbison's avatar
      hg: add user-site to `sys.path` on Windows to allow pip-installed extensions · 7740d510
      Matt Harbison authored
      This has been in the TortoiseHg builds for several cycles now on Windows, and
      even longer on macOS.  It allows an extension to be configured with `ext =`
      syntax, instead of requiring the full path to be specified.  It's confusing for
      a user to be hit with messages about not being able to load extensions, based
      solely on which `hg.exe` is being run.
      
      This only applies to py2exe binaries, since wrapper.exe already sees into the
      user site area.  There are no frozen binaries on other platforms (that I'm aware
      of), and an equivalent change will need to be made to `dispatch.py` in order to
      work with PyOxidizer, since it bypasses this module completely.  (It also has
      the ability to use the `site` module, so it will look completely different.)
      
      Differential Revision: https://phab.mercurial-scm.org/D9531
      7740d510
  2. Nov 06, 2020
    • Gregory Szorc's avatar
      global: use python3 in shebangs · c102b704
      Gregory Szorc authored
      Python 3 is the future. We want Python scripts to be using Python 3
      by default.
      
      This change updates all `#!/usr/bin/env python` shebangs to use
      `python3`.
      
      Does this mean all scripts use or require Python 3: no.
      
      In the test environment, the `PATH` environment variable in tests is
      updated to guarantee that the Python executable used to run
      run-tests.py is used. Since test scripts all now use
      `#!/usr/bin/env python3`, we had to update this code to install
      a `python3` symlink instead of `python`.
      
      It is possible there are some random scripts now executed with the
      incorrect Python interpreter in some contexts. However, I would argue
      that this was a pre-existing bug: we should almost always be executing
      new Python processes using the `sys.executable` from the originating
      Python script, as `python` or `python3` won't guarantee we'll use the
      same interpreter.
      
      Differential Revision: https://phab.mercurial-scm.org/D9273
      c102b704
  3. Nov 15, 2019
    • Gregory Szorc's avatar
      black: blacken scripts · 99e231af
      Gregory Szorc authored
      test-check-format.t doesn't appear to detect Python scripts with shebangs.
      But my editor which is configured to auto run black on Python files does
      and it appears some files are not blackened.
      
      This commit blackens scripts that need it.
      
      # skip-blame reformatting
      
      Differential Revision: https://phab.mercurial-scm.org/D7420
      99e231af
  4. Oct 05, 2019
  5. Aug 21, 2018
  6. Oct 02, 2017
  7. Aug 22, 2017
  8. May 21, 2017
    • Siddharth Agarwal's avatar
      init: turn on demandimport for Python 3.6 and above · b4810bf9
      Siddharth Agarwal authored
      This uses the new demandimport implementation for Python 3 introduced in
      previous patches.
      
      This doesn't yet enhance performance because it isn't integrated with the
      custom source file loader we use on Python 3. We'll integrate the two in
      upcoming patches.
      b4810bf9
  9. May 11, 2016
  10. Apr 05, 2016
  11. Jun 23, 2014
    • durin42's avatar
      hg: add support for HGUNICODEPEDANTRY environment variable · 73e4a02e
      durin42 authored
      This lets us easily verify that there are no implicit conversions
      between unicodes and bytes in Mercurial's codebase. Based on something
      mpm did by hand periodically, but it kept regressing, so just open the
      door to running it in a buildbot.
      73e4a02e
  12. May 06, 2011
  13. Oct 21, 2010
  14. Aug 17, 2010
  15. Jan 20, 2010
  16. Apr 25, 2009
  17. Jan 19, 2009
  18. Nov 10, 2007
    • Patrick Mezard's avatar
      Change standard streams mode to binary at hg startup · a3fe91b4
      Patrick Mezard authored
      Standard streams are expected to operate in binary mode everywhere, especially with archive, cat, diff and export commands. Rewriting these to separate informational output from binary content is complicated to do and to maintain, nonwithstanding mode switching reliability. Changing all output mode to binary should not have much impact on Windows were stream processing tools are barely used and usually cope with unix style endings.
      
      Streams mode being process wide, the switch is performed in the startup script to avoid polluting existing API users who may have solved this issue already or ignored it at least for the mercurial part.
      a3fe91b4
  19. Aug 18, 2007
  20. Aug 15, 2007
  21. Jun 19, 2007
  22. Dec 13, 2006
  23. Feb 06, 2006
  24. Jun 29, 2005
    • mpm's avatar
      Whitespace cleanups · 03f27b13
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      Whitespace cleanups
      
      manifest hash: ac954bc3a4f034c12638a259ecd65841f5b63c5c
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCwuubywK+sNU5EO8RAluIAJ98XQpNdZUpSmYKgDmrMRlbL76ZzQCfes0t
      rknNUN/PhtyA4bzL646dOz4=
      =UyCE
      -----END PGP SIGNATURE-----
      03f27b13
  25. Jun 24, 2005
    • mpm's avatar
      Release tweaks · 12e0fdbc
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      Release tweaks
      
      manifest hash: ded5f9b4432ab05c28d6e0ca56adbf3d14b8e6f6
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCvGzZywK+sNU5EO8RAlzYAJ4ix4F5cKYXBo8L6UwwZJbnZa7RpgCgme9H
      ByLO3Pcf9RSmQEO6vxYfuLs=
      =7fKS
      -----END PGP SIGNATURE-----
  26. Jun 08, 2005
    • mpm's avatar
      Mark the usual things executable · a69c3b29
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      Mark the usual things executable
      
      manifest hash: e55dde46fd1a97ce338c1ac71278b67ca9d96bf7
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCpz5RywK+sNU5EO8RAnypAJwLpjrQ09nMSJUELtCondHI0fvuVACfQu2J
      mFi9D3L9ULGO457NWB4h3kY=
      =3bcD
      -----END PGP SIGNATURE-----
      a69c3b29
  27. Jun 04, 2005
    • mpm's avatar
      import and startup cleanups · 619e775a
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      import and startup cleanups
      
      add commands:run()
      add copyright notice to commands
      eliminate/reorganize imports to speed up start time:
      
      0.5b:
      $ time bash -c 'for i in `seq 100`; do ~/bin/hg > /dev/null; done'
      
      real    0m7.718s
      user    0m6.719s
      sys     0m0.794s
      
      new:
      
      $ time bash -c 'for i in `seq 100`; do hg > /dev/null; done' 
      real    0m2.171s
      user    0m1.684s
      sys     0m0.444s
      
      just python:
      
      $ time bash -c 'for i in `seq 100`; do python -c pass; done' 
      real    0m0.988s
      user    0m0.771s
      sys     0m0.207s
      
      Ignoring the fixed cost of loading the Python interpreter, we're 5.6
      times faster. With the Python load time, we're still 3.5 times faster.
      
      manifest hash: acce5882a55c76eb165316f5741724c8ce4ef587
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCoihAywK+sNU5EO8RAqMdAJwMe6Ur0R9G6jjayNa5hH2C3c4k/gCeIYvc
      N178vaWWGciX9zq+g5qCAls=
      =buhv
      -----END PGP SIGNATURE-----
      619e775a
    • mpm's avatar
      migrate remaining commands · b7645b3c
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      migrate remaining commands
      
      This removes basically everything from the top-level hg script
      
      manifest hash: 34883e89d8def30e28936b38a9342d2f650f4c94
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCoiD7ywK+sNU5EO8RAh0cAKCeOO9vahYs0tGmMNKk8bflw35p2wCgr6Wr
      y0SNLHSVBMCzXtC9zlfDPog=
      =3nJx
      -----END PGP SIGNATURE-----
      b7645b3c
    • mpm's avatar
      migrate verify · 863b508c
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      migrate verify
      
      Move the bulk of the verify code into the localrepository class and move
      the command into commands.py
      
      manifest hash: 793a8d0094d56ab0a411cd11d7fe7f39c923f209
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCog33ywK+sNU5EO8RApfBAJ4mCmiMmZE1fEfbR6sA+aP1csPvqQCfXHzY
      3XK7yc19AivXf5HGKEOL3eM=
      =GISf
      -----END PGP SIGNATURE-----
      863b508c
    • mpm's avatar
      Migrate rawcommit, import, export, history, and merge · 96cde50a
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      Migrate rawcommit, import, export, history, and merge
      
      manifest hash: f932108ee40e34b460e94b6fe60d6a06ac9f760c
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCoguVywK+sNU5EO8RAtohAKCe9Qr5R+YeLRluJlTxRGrJW/nnoQCfW/+F
      I0BSOeNpb6jdUxTZY1jV0xo=
      =hNXm
      -----END PGP SIGNATURE-----
      96cde50a
    • mpm's avatar
      big heap of command clean-up work · fef0f8e0
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      big heap of command clean-up work
      
      Migrate add, forget, remove, commit, diff, addremove, tip, log,
      recover, and serve.
      
      Fix up filterfiles, relfilter, and relpath to be a bit more bulletproof
      
      Alphabetize functions and the command table
      
      Make everything in commands.py relative-path aware
      
      manifest hash: f0856031a7be4e49289677b467f29bcf24ebce4a
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCof6gywK+sNU5EO8RAoW1AJsHu8vchPSjls7wVbvsq/UKlGhqtgCgtnnl
      xSBxyf/TEVWjHIk3uTa8WSE=
      =YPMl
      -----END PGP SIGNATURE-----
      fef0f8e0
    • mpm's avatar
      Resolve bits from TAH · afe895fc
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      Resolve bits from TAH
      
      manifest hash: dc639d419de857b22da9f707cbb557c328eb12f5
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCoRIaywK+sNU5EO8RAswQAKCiEcQ5RV3C2JZXgQBch28VO3NpSgCdEzcD
      Td8bV8IKVUIXtvrcy1rCZTY=
      =tAU7
      -----END PGP SIGNATURE-----
      afe895fc
  28. Jun 03, 2005
    • mpm's avatar
      Merge from tah · 4f802588
      mpm authored
      4f802588
    • mpm's avatar
      make diffdir default to dirstate.parents() · 00ea3613
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      make diffdir default to dirstate.parents()
      
      update various diffdir users to use default
      
      manifest hash: aeca2b9da1aca278dd5e3f27cc2906667803577d
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCoMPcywK+sNU5EO8RAkY8AJ90UHQXnJnkG9PJKG7IsgPeOZ2WZACgiarS
      HhS2zX3TRM9WdZHo5nLvZGw=
      =7YyP
      -----END PGP SIGNATURE-----
      00ea3613
    • mpm's avatar
      move repo.current to dirstate.parents() · f57519cd
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      move repo.current to dirstate.parents()
      
      dirstate now tracks the parents for the working dir
      add a parents command to show them
      
      manifest hash: cd69237838c3f69f7937723c4a6803d47cb27cfa
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCoMGuywK+sNU5EO8RAg5UAKCVLUrsJtkoIOTM+e0BLqEVN3Ni3gCeNDyy
      ZF8jD728cl9K7S4sIN4gX4Y=
      =P4bu
      -----END PGP SIGNATURE-----
      f57519cd
    • mpm's avatar
      merge: don't bail on outstanding changes · 1536ccac
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      merge: don't bail on outstanding changes
      
      With multiple heads, we don't need to worry about the working dir's
      uncommitted changes at pull time
      
      manifest hash: 5b4e024f220fa616732310ce5f48e71abfa910e0
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCoMFQywK+sNU5EO8RApLyAKCoNDF84wFzgnpS+WLuXdkGxeHFPwCdFsMy
      CysB458dNcFuB/vDFhgJr58=
      =gG+u
      -----END PGP SIGNATURE-----
      1536ccac
    • mpm's avatar
      fix bad assumption about uniqueness of file versions · ccbcc4d7
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      fix bad assumption about uniqueness of file versions
      
      Mercurial had assumed that a given file hash could show up in only one
      changeset, and thus that the mapping from file revision to changeset
      was 1-to-1. But if two people perform the same edit with the same
      parents, we can get an identical hash in different changesets.
      
      So we've got to loosen up our uniqueness checks in addgroup and in
      verify.
      
      manifest hash: 5462003241e7d071ffa1741b87a59f646c9988ed
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCoMDkywK+sNU5EO8RAg9PAJ9YWSknfFBoeYve/+Z5DDGGvytDkwCgoMwj
      kT01PcjNzGPr1/Oe5WRvulE=
      =HC4t
      -----END PGP SIGNATURE-----
      ccbcc4d7
    • mpm's avatar
      change dircache into dirstate · 3113a94c
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      change dircache into dirstate
      
      The dircache now tracks adds and removes directly
      
      diffdir now makes a proper distinction between added and unknown files
      
      Add a forget command to unadd files
      
      Undo tries to fix up the state of just the files in the undone commit
      
      Add and remove complain about files that are not in a proper state of
      existence
      
      
      manifest hash: ca0cd6abc5e119670acf11a54fefa2bc986eadf3
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCn7TRywK+sNU5EO8RAhnSAKC2oHg1HJOCGsvpUYj4SBEq0HmuJQCgr5gl
      jEBTs5AFD5IhF73YAgrcnkE=
      =prQA
      -----END PGP SIGNATURE-----
      3113a94c
  29. Jun 02, 2005
    • mpm's avatar
      hg checkout: refuse to checkout if there are outstanding changes · 8ff45323
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      hg checkout: refuse to checkout if there are outstanding changes
      
      This is a stop-gap until I make the working dir logic smarter
      
      manifest hash: a3f6adcb7eecec294000039057d59771958f4186
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCnnrKywK+sNU5EO8RAtqBAJwPQQrW5GhjMP9HMkFtfD7qhqxIcgCfXvA4
      oXHO13uzBn5JOaTH3KwsMbQ=
      =IzTY
      -----END PGP SIGNATURE-----
      8ff45323
  30. Jun 01, 2005
    • mpm's avatar
      commands: migrate status and branch · d2172916
      mpm authored
      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1
      
      commands: migrate status and branch
      
      manifest hash: 7d893a81a81539173fc74d86152062a1a70bed13
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.4.0 (GNU/Linux)
      
      iD8DBQFCnhESywK+sNU5EO8RAlBJAKCmv2gHefMOXfX/UUCy1tfV0cOqOQCfbeX8
      oaT15B7GBL2lcalGrPXkzY8=
      =8gVe
      -----END PGP SIGNATURE-----
      d2172916
Loading