README.rst
author Anton Shestakov <av6@dwimlabs.net>
Mon, 31 Jan 2022 18:13:00 +0300
changeset 48789 ef50a62eec40
parent 46756 c5912e35d06d
permissions -rw-r--r--
obsolete: don't use os.stat in repo.obsstore.__nonzero__ if it's static HTTP If a repo is accessed via static HTTP, then we obviously can't use os.stat() to just peek at the file size. Let's download the entire file to check its size. Yes, this feels wasteful, but: 1. If we're cloning or pulling a repo from a static HTTP server, we need the contents of the obsstore anyway. 2. Implementing statichttpvfs.stat() that uses HEAD will result in one more request to a static-only HTTP server, which is already slow. Also parsing a response to a HEAD request to construct os.stat_result is pretty hacky. There's also a question of the remote server properly supporting HEAD method and reporting at least file size. 3. Implementing statichttpvfs.stat() that uses GET is pretty much the same thing as we do here, except we can't even cache the response easily, unlike simply accessing obsstore._data, which is @propertycache'd. Importing statichttprepo locally to avoid circular import. See also: 4507bc001365 and commit message of f8f2ecdde4b5. Differential Revision: https://phab.mercurial-scm.org/D12195
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12857
a9f91c844a3b README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents: 12856
diff changeset
     1
Mercurial
a9f91c844a3b README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents: 12856
diff changeset
     2
=========
a9f91c844a3b README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents: 12856
diff changeset
     3
a9f91c844a3b README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents: 12856
diff changeset
     4
Mercurial is a fast, easy to use, distributed revision control tool
a9f91c844a3b README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents: 12856
diff changeset
     5
for software developers.
a9f91c844a3b README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents: 12856
diff changeset
     6
33618
76b171209151 README: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26421
diff changeset
     7
Basic install::
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     8
3935
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
     9
 $ make            # see install targets
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
    10
 $ make install    # do a system-wide install
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
    11
 $ hg debuginstall # sanity-check setup
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
    12
 $ hg              # see help
205
d255d99a7cbd README: integrate some changes from Kevin Smith
mpm@selenic.com
parents: 204
diff changeset
    13
33618
76b171209151 README: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26421
diff changeset
    14
Running without installing::
16217
df5ecb813426 readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 12857
diff changeset
    15
df5ecb813426 readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 12857
diff changeset
    16
 $ make local      # build for inplace usage
df5ecb813426 readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 12857
diff changeset
    17
 $ ./hg --version  # should show the latest version
df5ecb813426 readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 12857
diff changeset
    18
26421
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 16217
diff changeset
    19
See https://mercurial-scm.org/ for detailed installation
3935
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
    20
instructions, platform-specific notes, and Mercurial user information.
46756
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    21
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    22
Notes for packagers
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    23
===================
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    24
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    25
Mercurial ships a copy of the python-zstandard sources. This is used to
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    26
provide support for zstd compression and decompression functionality. The
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    27
module is not intended to be replaced by the plain python-zstandard nor
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    28
is it intended to use a system zstd library. Patches can result in hard
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    29
to diagnose errors and are explicitly discouraged as unsupported
c5912e35d06d README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents: 34579
diff changeset
    30
configuration.