A Scalable, User-Friendly Source Control System.
Go to file
Jun Wu 1d00c6d1af third-party: initial import https://github.com/serde-rs/bench
Summary:
I'd like to have a mincode-like serialization format that is really simple:
vlqencoding for integers and use bincode-like strategy for the rest.

There is a mincode crate, but it does not compile due to extra depenencies and
out-of-date serde. It has extra features like bitpack, bitvec which are less
interesing in our commit serialization usecase.

The serde API needs a lot of boilerplate since it supports 20+ types. To make
it easier, I'm importing dtolnay's [serde-rs/bench](9718508c30)
as a starting point.

The serde API needs a lot of boilerplate. Import a minimal implementation so we
can customize on top of it. serde-rs/bench is similar to bincode but much smaller:

bincode:

   333 config.rs
   486 de/mod.rs
   185 de/read.rs
   115 error.rs
   173 internal.rs
   173 lib.rs
   788 ser/mod.rs
  2253 total

mincode:

    57 bitpack.rs
    84 bitvec.rs
    95 float.rs
    90 lib.rs
   434 refbox.rs
   103 rustc_serialize/mod.rs
   427 rustc_serialize/reader.rs
   460 rustc_serialize/writer.rs
   123 serde/mod.rs
   661 serde/reader.rs
   682 serde/writer.rs
  3216 total

serde-rs/bench:

  407 de.rs
   60 error.rs
   25 lib.rs
  442 ser.rs
  934 total

The following (unrelated) files are excluded in this import:

  README.md
  benches/bincode.rs
  tests/bincode.rs
  .gitignore
  .travis.yml

The code does not compile internally due to mismatched `bincode` version. It
will be fixed in the next diff.

Reviewed By: dtolnay

Differential Revision: D17087353

fbshipit-source-id: 26329b36e1488c0c6149287f1f2dcd89acd15b0b
2019-09-06 13:13:47 -07:00
contrib chg: remove hashstate and validation logic 2019-08-28 19:26:26 -07:00
distutils_rust rust: set linker on linux to ld.gold 2019-08-26 12:30:36 -07:00
doc doc: remove unused doc build step 2019-05-14 15:09:42 -07:00
edenscm snapshot: add -m option to set up a custom snapshot message 2019-09-06 08:18:36 -07:00
edenscmnative setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
exec hgmain: include debug info in release build 2019-09-03 20:41:46 -07:00
i18n ui: add labelled prefixes to ui.write 2019-05-09 06:55:11 -07:00
lib third-party: initial import https://github.com/serde-rs/bench 2019-09-06 13:13:47 -07:00
newdoc doc: update WritingNativeCommands 2019-08-28 19:26:28 -07:00
slides slides: recompile with newer tex toolchain 2019-04-18 13:50:03 -07:00
tests snapshot: add -m option to set up a custom snapshot message 2019-09-06 08:18:36 -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 setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07: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
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 makefile: remove 'hg version' invocation in make local 2019-08-28 13:54:57 -07:00
README.rst doc: rename README to README.rst 2017-09-26 08:37:17 +02:00
setup.py lib: remove cargo workspace 2019-08-26 17:34:34 -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.