File: //usr/lib/python3/dist-packages/hgext/remotefilelog/__pycache__/__init__.cpython-310.pyc
o
�]LbĤ � @ sL d Z ddlmZ ddlZddlZddlZddlmZmZ ddl m
Z
ddlmZ ddl
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* dd l+m,Z,mZm-Z-m.Z.m/Z/m0Z0m1Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ej8 i Z9e#�8e9�Z8i Z:e#�;e:�Z;e;d
ddd
� e;d
ddd
� e;d
ddd
� e;d
ddd
� e;d
ddd
� e;d
ddd
� e;d
ddd
� e;d
dej<dgd� e;d
ddd
� e;d
ddd
� e;d
ddd
� e;d
ddd
� e;d
ddd
� e;d
d dd
� e;d
d!dd
� e;d
d"dd
� e;d
d#dd
� e;d
d$d%d
� e;d
d&d'd
� e;d
d(d)d
� e;d
d*d+d
� e;d
d,d-d
� e;d
d.ej<� e;d
d/dd
� e;d
d0dd
� e;d
d1dd
� e;d
d2dd
� e;d
d3dd
� e;d4d5d6d6d7� e;d8d9dd
� e;d8d:d;d
� e;d<d=dd
� d>Z=e;d
d?e=d
� e;d
d@dAd
�f e;d
dBg dC�d
� e;d
dDdEd
� e;d
dFdGd
� e;d
dHdId
� e;d
dJdAd
�f e;d
dKdIgd
� e;d
dLdEd
� e;d
dMdNd
� e;d
dOdId
� dPZ>ej?Z@e@jA�Be,jC� e6jDZDdQdR� ZEdSdT� ZFdUdV� ZGdWdX� ZHdYdZ� ZId[d\� ZJd]d^� ZKd_d`� ZLdadb� ZMdcdd� ZNd�dedf�ZOdgdh� ZPdidj� ZQd�dkdl�ZRd�dmdn�ZSdodp� ZTd�dqdr�ZUdaVdsdt� ZWd�dudv�ZXdwdx� ZYe8dyg e
dz�d6d{�d|d}� �ZZd~d� Z[d�d�� Z\d�d�� Z]d�d�� Z^d�d�� Z_d�d�� Z`d�d�� Zad�d�� Zbe8d�d�d�de
d��fge
d��d6d{�d�d�� �Zce8d�d�d�de
d��fge
d��d6d{�d�d�� �Zde8d�dd�de
d��fdd�de
d��d�fge
d��d6d{�d�d�� �Zee8d�g e
d��d6d{�d�d�� �Zfe8d�g e
d���d�d�� �Zge8d�g e
d���d�d�� �Zhe8d�g e
d���d�d�� �Zid�d�� Zje8d�d�d�g e
d��e
d��fdd4de
d��fd�d�de
d��fgejk e
d��e8jld��d�d�� �Zme8d4dd�de
dÃdfdd�de
dŃdfdd�de
dǃdfge
dȃ�d�dʄ �ZndS )�a remotefilelog causes Mercurial to lazilly fetch file contents (EXPERIMENTAL)
This extension is HIGHLY EXPERIMENTAL. There are NO BACKWARDS COMPATIBILITY
GUARANTEES. This means that repositories created with this extension may
only be usable with the exact version of this extension/Mercurial that was
used. The extension attempts to enforce this in order to prevent repository
corruption.
remotefilelog works by fetching file contents lazily and storing them
in a cache on the client rather than in revlogs. This allows enormous
histories to be transferred only partially, making them easier to
operate on.
Configs:
``packs.maxchainlen`` specifies the maximum delta chain length in pack files
``packs.maxpacksize`` specifies the maximum pack file size
``packs.maxpackfilecount`` specifies the maximum number of packs in the
shared cache (trees only for now)
``remotefilelog.backgroundprefetch`` runs prefetch in background when True
``remotefilelog.bgprefetchrevs`` specifies revisions to fetch on commit and
update, and on other commands that use them. Different from pullprefetch.
``remotefilelog.gcrepack`` does garbage collection during repack when True
``remotefilelog.nodettl`` specifies maximum TTL of a node in seconds before
it is garbage collected
``remotefilelog.repackonhggc`` runs repack on hg gc when True
``remotefilelog.prefetchdays`` specifies the maximum age of a commit in
days after which it is no longer prefetched.
``remotefilelog.prefetchdelay`` specifies delay between background
prefetches in seconds after operations that change the working copy parent
``remotefilelog.data.gencountlimit`` constraints the minimum number of data
pack files required to be considered part of a generation. In particular,
minimum number of packs files > gencountlimit.
``remotefilelog.data.generations`` list for specifying the lower bound of
each generation of the data pack files. For example, list ['100MB','1MB']
or ['1MB', '100MB'] will lead to three generations: [0, 1MB), [
1MB, 100MB) and [100MB, infinity).
``remotefilelog.data.maxrepackpacks`` the maximum number of pack files to
include in an incremental data repack.
``remotefilelog.data.repackmaxpacksize`` the maximum size of a pack file for
it to be considered for an incremental data repack.
``remotefilelog.data.repacksizelimit`` the maximum total size of pack files
to include in an incremental data repack.
``remotefilelog.history.gencountlimit`` constraints the minimum number of
history pack files required to be considered part of a generation. In
particular, minimum number of packs files > gencountlimit.
``remotefilelog.history.generations`` list for specifying the lower bound of
each generation of the history pack files. For example, list [
'100MB', '1MB'] or ['1MB', '100MB'] will lead to three generations: [
0, 1MB), [1MB, 100MB) and [100MB, infinity).
``remotefilelog.history.maxrepackpacks`` the maximum number of pack files to
include in an incremental history repack.
``remotefilelog.history.repackmaxpacksize`` the maximum size of a pack file
for it to be considered for an incremental history repack.
``remotefilelog.history.repacksizelimit`` the maximum total size of pack
files to include in an incremental history repack.
``remotefilelog.backgroundrepack`` automatically consolidate packs in the
background
``remotefilelog.cachepath`` path to cache
``remotefilelog.cachegroup`` if set, make cache directory sgid to this
group
``remotefilelog.cacheprocess`` binary to invoke for fetching file data
``remotefilelog.debug`` turn on remotefilelog-specific debug output
``remotefilelog.excludepattern`` pattern of files to exclude from pulls
``remotefilelog.includepattern`` pattern of files to include in pulls
``remotefilelog.fetchwarning``: message to print when too many
single-file fetches occur
``remotefilelog.getfilesstep`` number of files to request in a single RPC
``remotefilelog.getfilestype`` if set to 'threaded' use threads to fetch
files, otherwise use optimistic fetching
``remotefilelog.pullprefetch`` revset for selecting files that should be
eagerly downloaded rather than lazily
``remotefilelog.reponame`` name of the repo. If set, used to partition
data from other repos in a shared store.
``remotefilelog.server`` if true, enable server-side functionality
``remotefilelog.servercachepath`` path for caching blobs on the server
``remotefilelog.serverexpiration`` number of days to keep cached server
blobs
``remotefilelog.validatecache`` if set, check cache entries for corruption
before returning blobs
``remotefilelog.validatecachelog`` if set, check cache entries for
corruption before returning metadata
� )�absolute_importN)�hex�wdirrev)�_)�open)�changegroup� changelog�commands�configitems�context�copies�
debugcommands�dispatch�error�exchange�
extensions�hg� localrepo�match�merge�
mergestate�patch�pycompat� registrar�repair�repoview�revset�scmutil�smartset�streamclone�util� )� constantsr
�fileserverclient�
remotefilectx�
remotefilelog�remotefilelogserver�repack�
shallowbundle�shallowrepo�shallowstore�shallowutil�shallowverifier�
remotefilelogs debugF)�defaults reponame� s cachepaths
cachegroups cacheprocesss cacheprocess.includepaths
cachelimits 1000 GBs fallbackpath)r- s fallbackrepo)r. �aliass validatecachelogs
validatecaches on� servers servercachepaths serverexpiration� � backgroundrepack� bgprefetchrevs� pullprefetch� backgroundprefetch�
prefetchdelay�x � prefetchdays� s strip.includefiles�alls getfilesstepi'