Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib64/python3.9/site-packages/hgext/fsmonitor/__pycache__/ |
Upload File : |
a �+�b� � @ s d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl m Z ddlmZ ddl mZ ddlmZmZmZmZmZmZmZmZmZmZmZ ddlmZ dd lmZmZ d dl m!Z!m"Z"m#Z# dZ$i Z%e�&e%�Z&e&d ddd� e&d ddd� e&d ddd� e&d de'd� e&d ddd� e&d dddd� e&dddd� ddgZ(dd � Z)d!d"� Z*d#d$� Z+e!j�,� Z-e�.� �pxe�/� Z0e�1e-�e�1e0�kZ2d%d&� Z3d@d'd(�Z4dAd*d+�Z5G d,d-� d-e6�Z7d.d/� Z8d0d1� Z9d2d3� Z:d4d5� Z;G d6d7� d7e6�Z<d8d9� Z=dBd:d;�Z>d<d=� Z?d>d?� Z@dS )Cab Faster status operations with the Watchman file monitor (EXPERIMENTAL) Integrates the file-watching program Watchman with Mercurial to produce faster status results. On a particular Linux system, for a real-world repository with over 400,000 files hosted on ext4, vanilla `hg status` takes 1.3 seconds. On the same system, with fsmonitor it takes about 0.3 seconds. fsmonitor requires no configuration -- it will tell Watchman about your repository as necessary. You'll need to install Watchman from https://facebook.github.io/watchman/ and make sure it is in your PATH. fsmonitor is incompatible with the largefiles and eol extensions, and will disable itself if any of those are active. The following configuration options exist: :: [fsmonitor] mode = {off, on, paranoid} When `mode = off`, fsmonitor will disable itself (similar to not loading the extension at all). When `mode = on`, fsmonitor will be enabled (the default). When `mode = paranoid`, fsmonitor will query both Watchman and the filesystem, and ensure that the results are consistent. :: [fsmonitor] timeout = (float) A value, in seconds, that determines how long fsmonitor will wait for Watchman to return results. Defaults to `2.0`. :: [fsmonitor] blacklistusers = (list of userids) A list of usernames for which fsmonitor will disable itself altogether. :: [fsmonitor] walk_on_invalidate = (boolean) Whether or not to walk the whole repo ourselves when our cached state has been invalidated, for example when Watchman has been restarted or .hgignore rules have been changed. Walking the repo in that case can result in competing for I/O with Watchman. For large repos it is recommended to set this value to false. You may wish to set this to true if you have a very fast filesystem that can outpace the IPC overhead of getting the result data for the full repo from Watchman. Defaults to false. :: [fsmonitor] warn_when_unused = (boolean) Whether to print a warning during certain operations when fsmonitor would be beneficial to performance but isn't enabled. :: [fsmonitor] warn_update_file_count = (integer) # or when mercurial is built with rust support warn_update_file_count_rust = (integer) If ``warn_when_unused`` is set and fsmonitor isn't enabled, a warning will be printed during working directory updates if this many files will be created. � )�absolute_importN)�_)�hex)�open)�context�encoding�error� extensions� localrepo�merge�pathutil�pycompat� registrar�scmutil�util)�match)�hashutil� stringutil� )� pywatchman�state�watchmanclients ships-with-hg-core� fsmonitor� modes on)�defaults walk_on_invalidateFs timeout� 2s blacklistusers� watchman_exe� watchman� verboseT)r Zexperimental� experimental� fsmonitor.transaction_notifys largefiless eolc C s� |� dtd�| �dd�� t�� }t�| |�}d }z*|�d�}|� dtd�t� |d �� W n0 tj y� } zt�|�}W Y d }~n d }~0 0 |� |d td �|� |r�dS dS ) Ns fsmonitor-watchmans/ fsmonitor checking for watchman binary... (%s) r r s versions fsmonitor-watchman-versions watchman binary version %s �versions fsmonitor-watchman-errors'