-
Notifications
You must be signed in to change notification settings - Fork 54
Add a library to sync conda environments #628
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This pull request was exported from Phabricator. Differential Revision: D78424481 |
0980386
to
41b6a64
Compare
Summary: This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
41b6a64
to
c0b3a07
Compare
Summary: This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
c0b3a07
to
45cb64d
Compare
Summary: This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
Summary: This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
45cb64d
to
7dfd9cd
Compare
This pull request was exported from Phabricator. Differential Revision: D78424481 |
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
7dfd9cd
to
d4f8c86
Compare
This pull request was exported from Phabricator. Differential Revision: D78424481 |
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
d4f8c86
to
12792b8
Compare
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
12792b8
to
e3e0aea
Compare
This pull request was exported from Phabricator. Differential Revision: D78424481 |
1 similar comment
This pull request was exported from Phabricator. Differential Revision: D78424481 |
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
93d5b7c
to
6636535
Compare
Summary: This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
Summary: This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
6636535
to
aedee26
Compare
This pull request was exported from Phabricator. Differential Revision: D78424481 |
aedee26
to
23ed79e
Compare
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
Summary: This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
23ed79e
to
8662143
Compare
Summary: This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
8662143
to
c3bcff4
Compare
This pull request was exported from Phabricator. Differential Revision: D78424481 |
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
c3bcff4
to
7db68d7
Compare
This pull request was exported from Phabricator. Differential Revision: D78424481 |
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
7db68d7
to
6c831cb
Compare
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
This pull request was exported from Phabricator. Differential Revision: D78424481 |
6c831cb
to
c342ec6
Compare
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
Summary: Pull Request resolved: pytorch-labs#628 This adds a crate to do rsync-style syncing of a source conda env to a destination, as per: ``` $ rsync --archive --update --no-dirtimes --delete --delete-excluded ... ``` As `rsync` (and this crate) uses mtimes for syncing, it'll work even with the differences in prefixes between source and destination conda envs. The notable differences with rsync are: 1) In current flows, when users "activate" their conda env locally, prefixes in the env will be quickly re-written, changing mtimes to be ahead of the destination (e.g. on MAST, the conda env is unpacked into it's expected prefix location). This crate uses the `pack-meta/history.jsonl` file to detect prefix update windows and use that to filter out these sprurious mtime updates. 2) Files that are copied perform in-place prefix replacement (TODO: not finished yet). Differential Revision: D78424481
Summary:
This adds a crate to do rsync-style syncing of a source conda env to a
destination, as per:
As
rsync
(and this crate) uses mtimes for syncing, it'll work even with thedifferences in prefixes between source and destination conda envs.
The notable differences with rsync are:
the env will be quickly re-written, changing mtimes to be ahead of the
destination (e.g. on MAST, the conda env is unpacked into it's expected
prefix location). This crate uses the
pack-meta/history.jsonl
file to detectprefix update windows and use that to filter out these sprurious mtime updates.
yet).
Differential Revision: D78424481