summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-12-04 14:48:41 +0800
committer魏曹先生 <1992414357@qq.com>2025-12-04 14:48:46 +0800
commit262d71be20a3f55091344280f67270465b30545f (patch)
treecd1c82e5ae92505f5747863d64a0777c73692a31 /src/utils
parent3ee2f57c11b379814f2fef8a5d7bd2f1ea162cb2 (diff)
Update utils.rs
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/push_version.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/utils/push_version.rs b/src/utils/push_version.rs
new file mode 100644
index 0000000..6da9039
--- /dev/null
+++ b/src/utils/push_version.rs
@@ -0,0 +1,30 @@
+pub fn push_version(current_version: impl Into<String>) -> Option<String> {
+ let version_str = current_version.into();
+ let parts: Vec<&str> = version_str.split('.').collect();
+
+ if parts.len() != 3 {
+ return None;
+ }
+
+ let major: Result<u32, _> = parts[0].parse();
+ let minor: Result<u32, _> = parts[1].parse();
+ let patch: Result<u32, _> = parts[2].parse();
+
+ if let (Ok(mut major), Ok(mut minor), Ok(mut patch)) = (major, minor, patch) {
+ patch += 1;
+
+ if patch > 99 {
+ patch = 0;
+ minor += 1;
+
+ if minor > 99 {
+ minor = 0;
+ major += 1;
+ }
+ }
+
+ Some(format!("{}.{}.{}", major, minor, patch))
+ } else {
+ None
+ }
+}