Commit Graph

146 Commits

Author SHA1 Message Date
Garth Roxburgh-Kidd
ec8fc1a93b fixed 0xc0150004 error building Mercurial under Python 2.6 for Windows 2009-05-28 17:03:35 +02:00
Martin Geisler
dcc3781fa0 setup: execute hg in C locale 2009-05-26 22:02:10 +02:00
Martin Geisler
350a0986a8 setup: handle trust warnings when determining version 2009-05-26 21:13:21 +02:00
Martin Geisler
27457436c6 setup: renamed l, e vars to out, err 2009-05-26 21:07:41 +02:00
Martin Geisler
da0be36295 Merge with stable 2009-12-23 19:18:03 +01:00
Martin Geisler
3afd6f9898 Merge with stable 2009-12-23 18:40:57 +01:00
Martin Geisler
24f2c1af20 setup: backout 47cfa8aa4b94
We decided that it is better to let the distributions install these
files themselves since they know where to put them.
2009-12-10 22:26:09 +01:00
Dan Villiom Podlaski Christiansen
a6c07a0720 setup: install some useful data files.
The selection is somewhat arbitrary. In the case of the Zsh completion
file, it will not conflict with the builtin Zsh completions: they
are in a file named `_mercurial', not `_hg'.
2009-11-30 21:54:34 +01:00
Martin Geisler
323bad57b9 setup: cleanup coding style 2009-12-03 20:50:00 +01:00
Dan Villiom Podlaski Christiansen
238d382291 setup: install translation files as package data
Remove the `install_package_data' subclass of `install_data' and use
the `package_data' functionality provided by distutils instead. As
package data must be located within the package directory, the data
files are now generated in the build directory.

To simplify the functionality of this change, the top-level `doc' and
`templates' directories have been moved into the `mercurial' package
directory.
2009-12-01 16:06:10 +01:00
Martin Geisler
30977ca6df setup: don't ship i18n directory
The directory was never actually used at runtime and other programs
don't ship it either.
2009-12-03 20:41:43 +01:00
Martin Geisler
a18ac5b4e2 setup: another newline if version could not be established. 2009-05-23 13:43:11 +02:00
Martin Geisler
2634f59be8 setup: add missing newline in warning 2009-05-23 00:24:00 +02:00
Jeremy Whitlock
eae140b922 setup: read .hg_archival.txt for version info (issue1670)
Previously, setup.py was enhanced to identify the Mercurial version
from either .hg/ or mercurial/__version__.py. When archives are
created using 'hg archive' or via hgweb, neither of those options are
available. However, there is a .hg_archival.txt file in the root of
the archive that has the information. This patch enhances setup.py to
identify the Mercurial version from the .hg_archival.txt file when
there is no .hg/ or mercurial/__version__.py available.
2009-05-22 21:03:06 +02:00
Christian Ebert
60c4e3cc03 setup.py: subprocess instead of os.popen, sys.stderr.write instead of print
Also check that .hg is a directory.
2009-05-22 14:26:58 +02:00
Martin Geisler
a100fe0b6c setup: require Python 2.4 2009-05-03 17:36:58 +02:00
Martin Geisler
4c6a32f451 setup: cleanup old left-over code 2009-05-03 00:41:09 +02:00
Jeremy Whitlock
94b6b92b9f Fix how setup.py identifies the Mercurial version.
There is a problem with setup.py where it will not identify the Mercurial
version properly when not being ran in within a repository even if
mercurial/__version__.py exists.

To fix, use mercurial.__version__.version when available before defaulting
to "unknown".  (Using mercurial.util.version() is not an option due to a
dependency issue where osutil can be referenced before it is built.)
2009-04-02 18:18:43 -06:00
Matt Mackall
9c307b1dee setup: remove spurious posix import 2009-04-03 12:37:44 -05:00
Matt Mackall
81073ba20c setup.py: fix version detection for tarball
- don't do version detection if there's no .hg directory
- shrink try: clause
- don't write __version__.py if version is unknown
  (we might overwrite the real version)
2009-03-06 09:15:47 -06:00
Martin Geisler
6c5bf586cb setup: run hg with empty HGRCPATH for robustness.
Otherwise a bad hgrc file can make the version detection fail.
2009-02-24 18:09:16 +01:00
Martin Geisler
a4fae9e3f1 setup: use sys.executable to call hg
Executing ".\hg" does not work on Windows, but we can instead ask
Python to execute hg.
2009-02-18 00:44:38 +01:00
Martin Geisler
bf5d4304c2 add --pure flag to setup.py
This flag will make the build_py step install the pure Python modules
in mercurial/pure/ into mercurial/ and furthermore prevent building
the C extensions.
2009-01-24 01:44:43 +01:00
Martin Geisler
7c52fb0c3f setup: get version number using pure Python modules 2009-01-29 19:25:25 +01:00
Martin Geisler
e7e00ca6f5 setup: do not use -c with msgfmt on Solaris (issue1489) 2009-01-28 10:32:15 +01:00
Martin Geisler
6d35a80a4a i18n: check format strings when building xx.mo files 2009-01-25 20:27:37 +01:00
Martin Geisler
8a1d290eb9 i18n: new build_mo command for setup.py
This command will generate .mo files under locale/ for the .po files
found under i18n/.
2009-01-15 00:11:54 +01:00
Martin Geisler
12b2d519d0 i18n: let Makefile generate i18n/hg.pot
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.
2009-01-15 00:10:54 +01:00
Benoit Boissinot
cf4007a70c recover when no version information is available 2009-01-15 11:41:59 +01:00
Matt Mackall
356502607f refactor version code
- simplify version detection code
- move detection code into setup.py
- move version reading function into util.py
- drop version.py code

This makes hg more closely follow its own recommendation of how to deal with
versioning your builds: use hg id in your build script.
2009-01-10 18:02:38 -06:00
Matt Mackall
d6a350a3b0 setup: warn about missing standard Python components 2008-12-31 17:59:58 -06:00
Augie Fackler
27e82b6a84 Add hgext.zeroconf to the package list so it gets installed by setup.py. 2008-10-12 22:56:43 +02:00
Petr Kodl
09cc67de2c osutil: implementation for Win32
Use information provided by FindFile... Win32 calls
to generate stat information without lstat call per file.
rwx bits in st_mode are ignored as they are not stored in Win32 fs
and Mercurial does not use them
Unicode path / path names over _MAX_PATH are intentionally not supported.
2008-09-14 09:57:33 -04:00
Peter Ruibal
30a2036f9e use Exception(args)-style raising consistently (py3k compatibility) 2008-09-08 13:07:00 +02:00
Dirkjan Ochtman
fcaabba3ec fix double indentation and trailing whitespace 2008-08-31 11:41:52 +02:00
Patrick Mezard
99f53b6386 highlight: split code to improve startup times 2008-08-25 23:04:56 +02:00
Dirkjan Ochtman
b4d9394e54 merge with crew-stable 2008-07-02 09:21:57 +02:00
Paul Moore
d7368594b4 Force email package to be loaded in py2exe
With Python 2.5, the email package is not fully loaded by py2exe, due to
dynamic imports which are not found by modulefinder. This breaks the patchbomb
extension. This patch forces the whole email package to be included so that
the dynamic imports work as expected.
2008-07-01 20:17:11 +01:00
Paul Moore
7113d144ac Add a batch file driver for Windows 2008-04-10 23:07:54 +02:00
Bryan O'Sullivan
8a988e392e manifest: improve parsing performance by 8x via a new C extension 2008-03-26 10:12:10 -07:00
Alexis S. L. Carvalho
317b2a0fec setup.py: hide compiler error messages while searching for inotify 2008-03-23 21:35:57 -03:00
Alexis S. L. Carvalho
552d87eaae setup.py: use a simplified custom version of CCompiler.has_function
The original one doesn't remove its temporary files and even creates
a temporary file in the CWD.
2008-03-14 01:45:17 -03:00
Alexis S. L. Carvalho
d897d40d93 setup.py: skip inotify if there's no inotify_add_watch
Debian Etch doesn't include a sys/inotify.h header, which makes it
impossible to compile _inotify.c, making hg uninstallable.

The cc.has_function() method is implemented by trying to compile a
simple C program.  Since there's no redirection involved all error
messages are sent to the terminal.  This is not particularly pretty
but at least it allows the installation to complete.
2008-03-13 19:50:03 -03:00
Bryan O'Sullivan
23adb6cef4 setup.py: os.uname is not available on Windows 2008-03-12 15:33:43 -07:00
Bryan O'Sullivan
08dc4f9063 Add inotify extension 2008-03-12 15:30:11 -07:00
Matt Mackall
a2dcecb2de filemerge: remove the hgmerge script
This is now better handled using [merge-tools] and [merge-patterns] in hgrc.
2008-02-03 19:29:05 -06:00
Steve Borho
478009f6bd win32: do not install bash hgmerge on Windows 2007-12-07 18:15:24 -06:00
Bryan O'Sullivan
e317f81ab3 Add osutil module, containing a listdir function.
This is similar to os.listdir, only it returns a sorted list of tuples.
2007-10-05 15:01:06 -07:00
Thomas Arendsen Hein
90d76a6ec9 Enable demandimport only in scripts, not in importable modules (issue605)
This way other applications can choose if and when they want this feature,
because it might be problematic if those applications rely on ImportError.
2007-08-18 11:37:08 +02:00
Bryan O'Sullivan
590b9213d3 Add Chris Mason's mpatch library.
The original repo is http://oss.oracle.com/mercurial/mason/mpatch
2007-07-17 09:39:30 -07:00
Christian Ebert
6d72ca9538 setup.py not executable: change instructions at beginning of file 2007-06-28 02:11:54 +02:00
Lee Cantey
7741f9fab9 Fix for including hgext in Windows compiled version.
From Shun-ichi GOTO via Mercurial mailing list.
2007-06-18 15:14:49 -07:00
Thomas Arendsen Hein
25fd95fb9c Include convert extension in packages setup
(reported by Christian Ebert and Eric Hopper)
2007-06-07 22:28:52 +02:00
Matt Mackall
e2bdd30747 Fix setup.py warning 2006-12-15 01:17:04 -06:00
Matt Mackall
a5b3ab332d Disable demandloading in setup.py 2006-12-14 20:31:33 -06:00
Matt Mackall
c9671962c2 Fix demandload bits of setup.py py2exe support 2006-12-14 20:23:25 -06:00
Matt Mackall
f17a4e1934 Replace demandload with new demandimport 2006-12-13 13:27:09 -06:00
Thomas Arendsen Hein
c6ffd9fee7 Check for at least having a final release of python 2.3.0 in setup.py
Mercurial uses features that are not in 2.3a1.
2006-10-31 10:50:16 +01:00
Brendan Cully
407377d02c Add a base85 codec 2006-10-06 13:01:54 -07:00
Thomas Arendsen Hein
1d3e2c4a3c Install all files/subdirectories below templates.
This is needed because styles are now in their own subdirectory.
2006-10-03 11:53:35 +02:00
Thomas Arendsen Hein
2152453c98 Applied coding style to setup.py 2006-10-03 11:30:59 +02:00
Eung-Ju PARK
03e548ea66 packagescan can't scan nested packages 2006-06-02 16:19:47 +09:00
Vadim Gelfer
4e8a64a4b7 merge with crew. 2006-05-19 08:57:12 -07:00
Volker Kleinfeld
271afc71fc setup.py: install packagescan before any mercurial modules is imported
Further the installation of packagescan over demandload is moved to the
packagescan module.

I added as well few more comments in the packagescan module to avoid
the wrong use of package scan in the future.

Reason:

mercurial.packagescan acts as fake mercurial.demandload during a py2exe
run.  Unfortunatly the import of mercurial.version in setup.py is done
before mercurial.packagescan is installed. This results in few imports
without mercurial.packagescan in charge and therefore not all dependend
modules are detected when running mercurial.packagescan.getmodules
later e.g.  winerror is missed.
2006-05-19 08:54:28 -07:00
Eric Hopper
0c1117d5be Moving hgweb.py into it's own module in preparation for breaking it up. 2006-05-18 11:48:33 -07:00
Thomas Arendsen Hein
96596c940b Don't forget version at the end of setup.py, write it only if changed.
This fixes issue159: "python setup.py install" shouldn't write new files
in the working dir if one has done "python setup.py build" first.
2006-03-19 21:26:58 +01:00
Thomas Arendsen Hein
13f0f115eb Added check for minimal python version to setup.py 2006-03-10 10:44:17 +01:00
Josef "Jeff" Sipek
4637016376 [hgweb] Static content serving 2006-02-18 21:53:41 -05:00
Thomas Arendsen Hein
0379849a48 Reverted name change (mercurial -> Mercurial) from 52265dbc2f9d. 2006-02-03 10:52:25 +01:00
Vadim Gelfer
65a53c316b make stuff for macos x binary package.
it is now easy to make prebuilt binary for macos x.  i have no hosting
space.  i hope someone else can make binaries.
2006-02-03 00:50:28 -08:00
Will
e788b4b308 fix bug in setup.py introduced in r1508.
The 'console' argument is expected to be a list of strings,
but was changed to just a string.
2005-11-16 20:53:16 +01:00
Benoit Boissinot
5f9d9d98e5 fix a warning when py2exe is not used 2005-11-04 11:37:45 -08:00
Volker Kleinfeld
d90591c00e py2exe is not able to handle win32com.shell
Changes:
- setup.py: help py2exe finding the shell module in win32com.shell
2005-10-24 14:52:41 -07:00
Volker Kleinfeld
9f6716ae98 Option -i broken in py2exe_for_demandload
Using the includes option -i on modified py2exe is
not working.

Change:
- setup.py: convert self.includes to a list.
2005-10-24 14:52:30 -07:00
Bryan O'Sullivan
22ffa3e3ba Fix small thinko. 2005-09-21 15:18:24 -07:00
Bryan O'Sullivan
2f99b73208 Rename mercurial.ext to hgext. 2005-09-21 15:17:24 -07:00
Bryan O'Sullivan
72911456d7 Package the extension directory. 2005-09-21 14:46:01 -07:00
Bryan O'Sullivan
2c727b8f47 Clean up whitespace damage. 2005-09-21 13:33:24 -07:00
Bryan O'Sullivan
574fee4514 Fix Volker's modifications to setup.py for non-Windows systems. 2005-09-20 21:29:07 -07:00
Volker.Kleinfeld@gmx.de
a3b3b5fcc6 Support for the distutils extention 'py2exe' added.
Description:
- If the py2exe distutils extention is installed this patch allows
  building standalone exe for windows - example:
  > python setup.py build --compiler=mingw32 py2exe
- The 'out of the box' py2exe is not able to resolve
  the dependencies due to 'demandload'. A new helper module
  of scanning the mercurial package has been added.

Changed:
- setup.py: importing py2exe and sub classing its command class
  to fetch the build directory and insert the needed includes
- packagescan.py: new helper module added, that scans the distutil
  build directory for modules to be included.
2005-09-20 19:25:14 -07:00
mpm@selenic.com
40aeb3c129 More whitespace cleanups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

More whitespace cleanups

manifest hash: 6721a7b11295e0127386b080fd7a7b516ebced74
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCxwm/ywK+sNU5EO8RAnl+AKCg/7ZCW7zIoG0nefksZzgLzgNmFACgnAFz
ZkW0LyZcU/hkFgXoGwo7ktk=
=AW+0
-----END PGP SIGNATURE-----
2005-07-02 13:40:15 -08:00
mpm@selenic.com
663c3fc4ae Pull from TAH
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pull from TAH

manifest hash: 600d04efbd836d555d11a3bd9d821d1d8c0a9790
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCuPFxywK+sNU5EO8RAjfzAKC18Zc2EOkXhy1zcpgGnyPHnFMdmgCfW5Ut
I5HSWqZMt8H0WJx1Or7ajNc=
=27D5
-----END PGP SIGNATURE-----
2005-06-21 21:04:49 -08:00
mpm@selenic.com
2875576bbc Add a fast binary diff extension (not yet used)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Add a fast binary diff extension (not yet used)

manifest hash: fbfdcab2b1f4856af45176fcf2423d602dfe88c4
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCuL6eywK+sNU5EO8RAoT+AJ95z9gx2IrucBS30CnCQFkZT7lSbgCgnXh5
ScZcgwzJ/mEo9i5vuKNlCIs=
=Gr58
-----END PGP SIGNATURE-----
2005-06-21 17:27:58 -08:00
Thomas Arendsen Hein
80cfc46aba Make it possible to specify a version number in setup.py.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Make it possible to specify a version number in setup.py.

manifest hash: 905feb305205801eb3833e5a84161fb57b83c86e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCtc/QW7P1GVgWeRoRAlCaAJ9G2GRf0wIEVEbYNoV4PjV4b024bQCfcUFf
WVYQlTXqninDXyKas2yQYdo=
=ofg/
-----END PGP SIGNATURE-----
2005-06-19 21:04:32 +01:00
Thomas Arendsen Hein
26b86a9abe Support for 'hg --version'. setup.py stores version from hg repository.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Support for 'hg --version'. setup.py stores version from hg repository.

manifest hash: c69058298ea12035f2cf356f987ba2fb5ff4bbae
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCtD6ZW7P1GVgWeRoRAnGHAKCLscthht2UlBEMDmxL9cku4PlcswCffOVo
wTOhYkW4Ie5+8bdmL8EqsvY=
=uGpn
-----END PGP SIGNATURE-----
2005-06-18 16:32:41 +01:00
mpm@selenic.com
63e6cb46d3 Replace tkmerge with hgmerge
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Replace tkmerge with hgmerge

hgmerge attempts to find and use merge, kdiff3, tkmerge, and diff+patch.
hg will use hgmerge unless overridden with HGMERGE

manifest hash: 9137a620df4b235e66343b0fd0dba87fe631546e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCoRGrywK+sNU5EO8RAi2VAJ9bh97ChGJymP/p8rvCuyNAMnk1bQCgrIGP
vYI6qlyWKQZ01ObUTAIg92o=
=+mRH
-----END PGP SIGNATURE-----
2005-06-03 18:27:55 -08:00
mpm@selenic.com
f7ab71848b hgweb: put map-raw in setup.py and MANIFEST.in
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: put map-raw in setup.py and MANIFEST.in

manifest hash: 75f24a191ade74c1cbfafbaaf5fb9b6a4c5da02c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnlpVywK+sNU5EO8RAoDGAKCsyEhpJGPZjRp4RZD1Q1ijwNGC2wCdGSjL
IGWUxQqqS4W4GJNesvADNVs=
=O3Wg
-----END PGP SIGNATURE-----
2005-06-01 17:01:09 -08:00
mpm@selenic.com
a1cf98772e Bump the version number to 0.5b for the protocol change
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Bump the version number to 0.5b for the protocol change

manifest hash: a7930fa15b716eb90613bd761b47c27331ea4b8b
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCmz7pywK+sNU5EO8RAt7dAJ4qmUpDRS7/JP/JpLm8uXZ0c+5W/ACfVb0Q
99rjYslSjJfOWYLCKiAzVyU=
=WVVg
-----END PGP SIGNATURE-----
2005-05-30 08:27:21 -08:00
mpm@selenic.com
c83432e669 Mercurial 0.5
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mercurial 0.5

Update version numbers
Fixup MANIFEST.in

manifest hash: 58db9be35685e83133f20e96265d6c434fc106c2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCmOwHywK+sNU5EO8RAq0OAKCkMWzSMzhisTFBmT2WLj2bf+PMqwCbBv+S
jNvqIQsru2JMdCQC2eG7CxU=
=c20j
-----END PGP SIGNATURE-----
2005-05-28 14:09:11 -08:00
mpm@selenic.com
949217673f Install the templates where they can be found by hgweb.py
This ought to use package_data but that doesn't exist in Python 2.3.
So we do a hack of install_data and use glob.

This also adds templatepath() to hgweb.py which finds the templates
relative to hgweb.py's location.
2005-05-25 16:21:06 -08:00
jake@edge2.net
1802614df3 hgweb is no longer a script 2005-05-24 07:33:12 -07:00
mpm@selenic.com
f161c8bdc8 Add an O(m + nlog n) patching extension 2005-05-16 22:08:33 -08:00
mpm@selenic.com
7c6f4b49c8 Add tag support 2005-05-13 13:12:32 -08:00
mpm@selenic.com
b3f6fa6d57 Minor changes for release 0.4e 2005-05-12 01:23:51 -08:00
mpm@selenic.com
cf2b4974c2 Update version numbers 2005-05-04 10:07:28 -08:00
mpm@selenic.com
ca8cb8ba67 Add back links from file revisions to changeset revisions
Add simple transaction support
Add hg verify
Improve caching in revlog
Fix a bunch of bugs
Self-hosting now that the metadata is close to finalized
2005-05-03 13:16:10 -08:00