@pogo-vcs/pogo 1.3.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -0
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -28,6 +28,7 @@ Pogo is a centralized version control system designed to be straightforward and
|
|
|
28
28
|
- **🔖 Bookmarks:** Tag versions with bookmarks, like `main` for the current version or `v1.0.0` for a specific version. `main` is treated like a default branch in Git.
|
|
29
29
|
- **📦 Go Module Support:** Import a Pogo repository as a Go module, no additional configuration or software required.
|
|
30
30
|
- **🔒 Adaptive Security:** Automatically detects and uses HTTPS/TLS when available, gracefully falls back to HTTP when needed.
|
|
31
|
+
- **🔗 Symlink Support:** Full support for symbolic links with cross-platform compatibility.
|
|
31
32
|
|
|
32
33
|
## 🚀 Installation
|
|
33
34
|
|
|
@@ -161,6 +162,50 @@ The garbage collection system uses an adaptive strategy based on the total numbe
|
|
|
161
162
|
|
|
162
163
|
The threshold can be configured via the `GC_MEMORY_THRESHOLD` environment variable. CI run logs are cleaned up during this process; the retention window is controlled by `CI_RUN_RETENTION` (default 30 days).
|
|
163
164
|
|
|
165
|
+
## 🔗 Symbolic Link Support
|
|
166
|
+
|
|
167
|
+
Pogo provides full support for symbolic links (symlinks) on all platforms, allowing you to track and version control symlinks just like regular files.
|
|
168
|
+
|
|
169
|
+
### How Symlinks Work
|
|
170
|
+
|
|
171
|
+
- **Tracking:** Pogo tracks symlinks by their target path, not by the content they point to
|
|
172
|
+
- **Relative Paths Only:** Symlinks must use relative paths and point to files/directories within the repository
|
|
173
|
+
- **Cross-Platform:** Symlink metadata is stored in a platform-independent way using forward slashes
|
|
174
|
+
- **Merging:** Symlinks can be merged just like regular files, with conflict detection for differing targets
|
|
175
|
+
|
|
176
|
+
### Platform Requirements
|
|
177
|
+
|
|
178
|
+
- **Unix/macOS:** Full symlink support with no special requirements
|
|
179
|
+
- **Windows:** Requires Developer Mode (Windows 10+) or Administrator privileges to create symlinks
|
|
180
|
+
- To enable Developer Mode on Windows 10/11: Settings → Update & Security → For Developers → Developer Mode
|
|
181
|
+
|
|
182
|
+
### Limitations
|
|
183
|
+
|
|
184
|
+
- **Repository Boundaries:** Symlinks cannot point outside the repository (enforced during push)
|
|
185
|
+
- **Absolute Paths:** Absolute symlink paths are converted to relative paths when possible, or rejected if they cannot be made relative
|
|
186
|
+
- **ZIP Archives:** When downloading a repository as a ZIP archive, symlinks are represented as `.symlink` text files containing the target path
|
|
187
|
+
|
|
188
|
+
### Examples
|
|
189
|
+
|
|
190
|
+
```sh
|
|
191
|
+
# Create a symlink in your repository
|
|
192
|
+
ln -s ../target.txt link.txt
|
|
193
|
+
|
|
194
|
+
# Pogo will track and version the symlink
|
|
195
|
+
pogo push
|
|
196
|
+
|
|
197
|
+
# The symlink will be recreated when cloned or checked out
|
|
198
|
+
pogo clone server:repo /path/to/clone
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Merge Conflicts
|
|
202
|
+
|
|
203
|
+
When merging changes that modify symlinks, Pogo handles conflicts intelligently:
|
|
204
|
+
|
|
205
|
+
- **Same Target:** If both branches change a symlink to the same target, no conflict occurs
|
|
206
|
+
- **Different Targets:** If branches change a symlink to different targets, a conflict is created with separate files for each version
|
|
207
|
+
- **Type Changes:** Converting between symlinks and regular files creates a conflict
|
|
208
|
+
|
|
164
209
|
## 🔐 Secrets Management
|
|
165
210
|
|
|
166
211
|
Pogo provides a secure way to manage secrets for your CI pipelines. Secrets are encrypted values that can be referenced in your CI pipeline YAML files using the <code>{{ secret "KEY" }}</code> template function. They are useful for storing sensitive data like API tokens, deployment keys, and credentials.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pogo-vcs/pogo",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "A centralized version control system that is simple and easy to use.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"postinstall": "node install.js",
|
|
@@ -37,62 +37,62 @@
|
|
|
37
37
|
"archives": {
|
|
38
38
|
"darwin-arm64": {
|
|
39
39
|
"name": "pogo_Darwin_arm64.tar.gz",
|
|
40
|
-
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.
|
|
40
|
+
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.5.0/pogo_Darwin_arm64.tar.gz",
|
|
41
41
|
"bins": [
|
|
42
42
|
"pogo"
|
|
43
43
|
],
|
|
44
44
|
"format": "tar.gz",
|
|
45
45
|
"checksum": {
|
|
46
46
|
"algorithm": "sha256",
|
|
47
|
-
"digest": "
|
|
47
|
+
"digest": "826fa672d5d4c21eb6691a7351506d1108dcbcf72630d06b7ced532cda823dd0"
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
"darwin-x64": {
|
|
51
51
|
"name": "pogo_Darwin_x86_64.tar.gz",
|
|
52
|
-
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.
|
|
52
|
+
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.5.0/pogo_Darwin_x86_64.tar.gz",
|
|
53
53
|
"bins": [
|
|
54
54
|
"pogo"
|
|
55
55
|
],
|
|
56
56
|
"format": "tar.gz",
|
|
57
57
|
"checksum": {
|
|
58
58
|
"algorithm": "sha256",
|
|
59
|
-
"digest": "
|
|
59
|
+
"digest": "c17840353870c682719ca6e965174ff784312af7675b5384abf4ae09535047e0"
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
"linux-x64": {
|
|
63
63
|
"name": "pogo_Linux_x86_64.tar.gz",
|
|
64
|
-
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.
|
|
64
|
+
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.5.0/pogo_Linux_x86_64.tar.gz",
|
|
65
65
|
"bins": [
|
|
66
66
|
"pogo"
|
|
67
67
|
],
|
|
68
68
|
"format": "tar.gz",
|
|
69
69
|
"checksum": {
|
|
70
70
|
"algorithm": "sha256",
|
|
71
|
-
"digest": "
|
|
71
|
+
"digest": "bea7e12f52c860e4c34a71d2651c01e7e3e9676498ef986b5e89b42b13c633f3"
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
"win32-arm64": {
|
|
75
75
|
"name": "pogo_Windows_arm64.zip",
|
|
76
|
-
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.
|
|
76
|
+
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.5.0/pogo_Windows_arm64.zip",
|
|
77
77
|
"bins": [
|
|
78
78
|
"pogo.exe"
|
|
79
79
|
],
|
|
80
80
|
"format": "zip",
|
|
81
81
|
"checksum": {
|
|
82
82
|
"algorithm": "sha256",
|
|
83
|
-
"digest": "
|
|
83
|
+
"digest": "bcec7fd0c1c5ce91ce525d3a34b6f1da9e815215179e23ec4b75a316ebbd5a29"
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"win32-x64": {
|
|
87
87
|
"name": "pogo_Windows_x86_64.zip",
|
|
88
|
-
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.
|
|
88
|
+
"url": "https://github.com/pogo-vcs/pogo/releases/download/v1.5.0/pogo_Windows_x86_64.zip",
|
|
89
89
|
"bins": [
|
|
90
90
|
"pogo.exe"
|
|
91
91
|
],
|
|
92
92
|
"format": "zip",
|
|
93
93
|
"checksum": {
|
|
94
94
|
"algorithm": "sha256",
|
|
95
|
-
"digest": "
|
|
95
|
+
"digest": "00890acd2b8a0e2477e2d7a7dc544042de7928af6b2789cc863d8c3208231b46"
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|