You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,10 @@
2
2
3
3
## 5.0.2 (unreleased)
4
4
5
-
- Nothing yet.
5
+
- Fix #70: HTTP-referenced requirements/constraints files are now properly cached and respected in offline mode. Previously, offline mode only skipped VCS operations but still fetched HTTP URLs. Now mxdev caches all HTTP content in `.mxdev_cache/` during online mode and reuses it during offline mode, enabling true offline operation. This fixes the inconsistent behavior where `-o/--offline` didn't prevent all network activity.
6
+
[jensens]
7
+
- Improvement: Enhanced help text for `-n/--no-fetch`, `-f/--fetch-only`, and `-o/--offline` command-line options to better explain their differences and when to use each one.
Copy file name to clipboardExpand all lines: README.md
+29-1Lines changed: 29 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,7 +85,7 @@ The **main section** must be called `[settings]`, even if kept empty.
85
85
|`default-target`| Target directory for VCS checkouts |`./sources`|
86
86
|`threads`| Number of parallel threads for fetching sources |`4`|
87
87
|`smart-threading`| Process HTTPS packages serially to avoid overlapping credential prompts (see below) |`True`|
88
-
|`offline`| Skip all VCS fetch operations (handy for offline work) |`False`|
88
+
|`offline`| Skip all VCS and HTTP fetches; use cached HTTP content from `.mxdev_cache/` (see below) |`False`|
89
89
|`default-install-mode`| Default `install-mode` for packages: `editable`, `fixed`, or `skip` (see below) |`editable`|
90
90
|`default-update`| Default update behavior: `yes` or `no`|`yes`|
91
91
|`default-use`| Default use behavior (when false, sources not checked out) |`True`|
@@ -103,6 +103,34 @@ This solves the problem where parallel git operations would cause multiple crede
103
103
104
104
**When to disable**: Set `smart-threading = false` if you have git credential helpers configured (e.g., credential cache, credential store) and never see prompts.
105
105
106
+
##### Offline Mode and HTTP Caching
107
+
108
+
When `offline` mode is enabled (or via `-o/--offline` flag), mxdev operates without any network access:
109
+
110
+
1.**HTTP Caching**: HTTP-referenced requirements/constraints files are automatically cached in `.mxdev_cache/` during online mode
111
+
2.**Offline Usage**: In offline mode, mxdev reads from the cache instead of fetching from the network
112
+
3.**Cache Miss**: If a referenced HTTP file is not in the cache, mxdev will error and prompt you to run in online mode first
113
+
114
+
**Example workflow:**
115
+
```bash
116
+
# First run in online mode to populate cache
117
+
mxdev
118
+
119
+
# Subsequent runs can be offline (e.g., on airplane, restricted network)
120
+
mxdev -o
121
+
122
+
# Cache persists across runs, enabling true offline development
123
+
```
124
+
125
+
**Cache location**: `.mxdev_cache/` (automatically added to `.gitignore`)
126
+
127
+
**When to use offline mode**:
128
+
- Working without internet access (airplanes, restricted networks)
129
+
- Testing configuration changes without re-fetching
130
+
- Faster iterations when VCS sources are already checked out
131
+
132
+
**Note**: Offline mode tolerates missing source directories (logs warnings), while non-offline mode treats missing sources as fatal errors.
0 commit comments