From ee7cba690582b9c47e8c856bf0bd331eedda7908 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Mon, 6 Oct 2025 04:11:58 +0800 Subject: Remove old vcs directory after migration to vcs_data - Delete entire crates/vcs directory and its contents - Remove test files and configuration from old structure - Complete transition to new vcs_data and vcs_actions architecture --- crates/vcs/src/data/local.rs | 100 ------------------------------------------- 1 file changed, 100 deletions(-) delete mode 100644 crates/vcs/src/data/local.rs (limited to 'crates/vcs/src/data/local.rs') diff --git a/crates/vcs/src/data/local.rs b/crates/vcs/src/data/local.rs deleted file mode 100644 index 1c99832..0000000 --- a/crates/vcs/src/data/local.rs +++ /dev/null @@ -1,100 +0,0 @@ -use std::{env::current_dir, path::PathBuf}; - -use cfg_file::config::ConfigFile; -use tokio::fs; - -use crate::{ - constants::{CLIENT_FILE_README, CLIENT_FILE_WORKSPACE}, - current::{current_local_path, find_local_path}, - data::local::config::LocalConfig, -}; - -pub mod config; - -pub struct LocalWorkspace { - config: LocalConfig, - local_path: PathBuf, -} - -impl LocalWorkspace { - /// Get the path of the local workspace. - pub fn local_path(&self) -> &PathBuf { - &self.local_path - } - - /// Initialize local workspace. - pub fn init(config: LocalConfig, local_path: impl Into) -> Option { - let local_path = find_local_path(local_path)?; - Some(Self { config, local_path }) - } - - /// Initialize local workspace in the current directory. - pub fn init_current_dir(config: LocalConfig) -> Option { - let local_path = current_local_path()?; - Some(Self { config, local_path }) - } - - /// Setup local workspace - pub async fn setup_local_workspace( - local_path: impl Into, - ) -> Result<(), std::io::Error> { - let local_path: PathBuf = local_path.into(); - - // Ensure directory is empty - if local_path.exists() && local_path.read_dir()?.next().is_some() { - return Err(std::io::Error::new( - std::io::ErrorKind::DirectoryNotEmpty, - "DirectoryNotEmpty", - )); - } - - // 1. Setup config - let config = LocalConfig::default(); - LocalConfig::write_to(&config, local_path.join(CLIENT_FILE_WORKSPACE)).await?; - - // 2. Setup README.md - let readme_content = "\ -# JustEnoughVCS Local Workspace - -This directory is a **Local Workspace** managed by `JustEnoughVCS`. All files and subdirectories within this scope can be version-controlled using the `JustEnoughVCS` CLI or GUI tools, with the following exceptions: - -- The `.jv` directory -- Any files or directories excluded via `.jgnore` or `.gitignore` - -> ⚠️ **Warning** -> -> Files in this workspace will be uploaded to the upstream server. Please ensure you fully trust this server before proceeding. - -## Access Requirements - -To use `JustEnoughVCS` with this workspace, you must have: - -- **A registered user ID** with the upstream server -- **Your private key** properly configured locally -- **Your public key** stored in the server's public key directory - -Without these credentials, the server will reject all access requests. - -## Support - -- **Permission or access issues?** → Contact your server administrator -- **Tooling problems or bugs?** → Reach out to the development team via [GitHub Issues](https://github.com/JustEnoughVCS/VersionControl/issues) -- **Documentation**: Visit our repository for full documentation - ------- - -*Thank you for using JustEnoughVCS!* -".to_string() - .trim() - .to_string(); - fs::write(local_path.join(CLIENT_FILE_README), readme_content).await?; - - Ok(()) - } - - /// Setup local workspace in current directory - pub async fn setup_local_workspacecurrent_dir() -> Result<(), std::io::Error> { - Self::setup_local_workspace(current_dir()?).await?; - Ok(()) - } -} -- cgit