Skip to content
Snippets Groups Projects
  1. Aug 07, 2012
    • Adrian Buehlmann's avatar
      exewrapper: adapt for legacy HackableMercurial · 93d97a21
      Adrian Buehlmann authored
      We give up using CPython's PythonXX.lib import libraries (and Python.h), and
      now "manually" call the LoadLibrary() / GetProcAddress() Windows API's instead.
      
      If there is a "hg-python" subdirectory (the canonical directory name for
      HackableMercurial's private Python copy) next to the hg.exe, we load the
      pythonXX.dll from there (feeding an absolute path to LoadLibrary) and we set
      Py_SetPythonHome() to that directory, so that the Python libraries are used
      from there as well.
      
      If there is no "hg-python" subdir found next to the hg.exe, we do not feed an
      absolute path to LoadLibrary. This continues to allow to find a globally
      installed Python DLL, as before this change - that is, without having to edit,
      delete, rename, or configure anything.
      
      Note that the hg.exe built is still bound to a *specific* major version of the
      pythonXX.dll (e.g. python27.dll). What version it is, is inferred from the
      version of the python interpreter that was used when calling setup.py. For
      example
      
        C:\python27_x86\python.exe setup.py build_hgexe -i --compiler=mingw32
      
      builds a hg.exe (using the mingw32 tool chain) bound to (x86) Python 2.7. And
      
        C:\python27_x86\python.exe setup.py build_hgexe -i
      
      builds the same using the Microsoft C compiler/linker. (Note that the Microsoft
      toolchain combined with x64 CPython can be used to build an x64 hg.exe.)
      
      setup.py is changed to write the name of the pythonlib into the generated header
      file "mercurial/hgpythonlib.h", which is #included by exewrapper.c. For a Python
      2.7 build, it for example contains:
      
        #define HGPYTHONLIB "python27"
      
      exewrapper.c then uses HGPYTHONLIB for the name of the Python dll to load.
      
      We don't want to track mercurial/hgpythonlib.h, so we add it to .hgignore.
      93d97a21
  2. Jul 29, 2012
  3. Jul 01, 2012
  4. Apr 27, 2012
  5. Jan 11, 2012
  6. Dec 20, 2011
  7. Jun 10, 2011
  8. Jun 04, 2011
  9. Mar 14, 2011
  10. Feb 03, 2011
  11. Jun 18, 2010
  12. Apr 24, 2009
    • Bryan O'Sullivan's avatar
      win32text: be more careful about rejecting violating changesets · 441dc7be
      Bryan O'Sullivan authored
      We now try to walk changesets in reverse order from newest to oldest,
      so that if we see a file multiple times, we treat the newest version
      as canonical.
      
      This should prevent us from rejecting a changegroup that contains an
      unacceptable commit followed later by a commit that fixes the problem.
      441dc7be
  13. Jan 24, 2009
  14. Jan 14, 2009
    • Martin Geisler's avatar
      i18n: new build_mo command for setup.py · a489e3a9
      Martin Geisler authored
      This command will generate .mo files under locale/ for the .po files
      found under i18n/.
      a489e3a9
    • Martin Geisler's avatar
      i18n: let Makefile generate i18n/hg.pot · 02e358a3
      Martin Geisler authored
      The target update-pot extracts strings using pygettext and updates the
      i18n/hg.pot file. The translators can then use msgmerge to merge the
      new strings in hg.pot with their xx.po file when they want to.
      
      The setup.py file now includes files under both templates/ and i18n/
      as data files.
      02e358a3
  15. Nov 27, 2008
  16. Apr 13, 2008
  17. Dec 25, 2007
  18. Dec 08, 2007
  19. Jul 26, 2007
  20. Aug 22, 2006
  21. Jun 01, 2006
  22. May 22, 2006
  23. May 23, 2006
  24. Apr 28, 2006
  25. Apr 14, 2006
    • Vadim Gelfer's avatar
      let run-tests run optional code coverage tests. · 4a49daa3
      Vadim Gelfer authored
      to enable, set env var TEST_COVERAGE to non-empty string. run-tests will
      print report after running.
      
      after coverage run, file tests/.coverage will contain coverage data. use
      tests/coverage.py to get more info, like annotated source code.
      4a49daa3
  26. Mar 01, 2006
  27. Sep 17, 2005
    • Bryan O'Sullivan's avatar
      Switch to new syntax for .hgignore files. · fc3b4157
      Bryan O'Sullivan authored
      Here is the new syntax, in summary.
      Trailing white space is dropped.
      The escape character is "\".
      Comments start with #.
      Empty lines are skipped.
      Lines can be of the following formats:
      syntax: regexp # defaults following lines to non-rooted regexps
      syntax: glob   # defaults following lines to non-rooted globs
      re:pattern     # non-rooted regular expression
      glob:pattern   # non-rooted glob
      pattern        # pattern of the current default type
      The default pattern type is regexp, which is completely backwards
      compatible with the old hgignore syntax.
      In the dirstate class, the ignore method has been reworked to be based
      on the util.matcher function, by way of a new dirstate.hgignore
      method.
      fc3b4157
  28. Aug 20, 2005
  29. Aug 19, 2005
  30. Aug 14, 2005
  31. Aug 13, 2005
  32. Aug 12, 2005
  33. Aug 10, 2005
  34. Aug 12, 2005
Loading