A Scalable, User-Friendly Source Control System.
Go to file
Jun Wu 41ccbe9f8d hg.rust: add BuildInfo symbols
Summary:
BuildInfo symbols are generated for fbcode binaries, and scanned by the
internal procprint tool. The procprint tool also scans hg binaries, but cannot
extract any build information.

The procprint data is used by Push4Push to find out job owners running ancient
software.

This diff inserts BuildInfo symbols so Push4Push (and we) can use them to
figure out people running old versions of hg and send tasks to them.

Note rpmbuild strips symbols by default and is hard to customize. For now, I
just disable the debuginfo packages to preserve the symbols. If space usage or
runtime performance becomes an issue, we can try other workarounds (ex. provide
a shim of `%_find_debuginfo_dwz_opts` that skips `hg.rust`, or provide a shim
of `%__strip`, etc).

By default, the symbols only get added when `setup.py` is run by `rpmbuild`.
So `make local` won't rebuild `hg.rust` every time.

Reviewed By: singhsrb

Differential Revision: D14464056

fbshipit-source-id: ac6f9dedf28cee5fc8d65e144e3d7d1c544d1eda
2019-03-20 23:44:10 -07:00
contrib metrics: slightly change the API 2019-03-20 22:49:18 -07:00
distutils_rust chg: learn to build a static lib 2018-11-05 10:08:29 -08:00
doc gendoc: import extensions properly 2019-01-30 14:57:42 -08:00
edenscm metrics: add metrics about fetching remote data 2019-03-20 22:49:18 -07:00
exec hg.rust: add BuildInfo symbols 2019-03-20 23:44:10 -07:00
i18n codemod: import from the edenscm package 2019-01-29 17:25:32 -08:00
lib types: correctly import lazy_static in cargo 2019-03-20 19:56:14 -07:00
newdoc newdoc: revise WritingExtensions 2019-03-14 11:51:39 -07:00
slides slides: add indexedlog slide 2018-08-13 15:06:58 -07:00
tests metrics: add metrics about fetching remote data 2019-03-20 22:49:18 -07:00
.editorconfig move scm/hg/.clang-format to scm/hg/mercurial/ 2018-05-25 14:35:51 -07:00
.flake8 codemod: join the auto-formatter party 2018-05-25 22:17:29 -07:00
.gitignore ignore: stop using "{}" patterns 2019-02-06 13:02:59 -08:00
.hgsigs Added signature for changeset f51ae48a3fd9 2017-12-01 13:49:47 -06:00
.jshintrc hgweb: add .jshintrc with some basic rules 2017-11-22 22:18:06 +08:00
CONTRIBUTING contributing: add new file with a pointer to the wiki 2016-10-08 10:39:00 -04:00
CONTRIBUTORS Add note to CONTRIBUTORS file 2007-11-07 21:10:30 -06:00
COPYING COPYING: refresh with current address from fsf.org 2011-06-02 11:17:02 -05:00
gen_version.py generate __version__.py during the buck build 2018-06-25 15:52:25 -07:00
hg codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
hgeditor spelling: trivial spell checking 2015-10-17 00:58:46 +02:00
hgweb.cgi codemod: import from the edenscm package 2019-01-29 17:25:32 -08:00
Makefile chg: remove the ability to produce an actual binary 2019-03-14 06:35:45 -07:00
README.rst doc: rename README to README.rst 2017-09-26 08:37:17 +02:00
setup.py hg.rust: add BuildInfo symbols 2019-03-20 23:44:10 -07:00

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install::

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

Running without installing::

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

See https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.