summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-11-17 17:39:33 +0800
committer魏曹先生 <1992414357@qq.com>2025-11-17 17:39:33 +0800
commit5055b1081be945f9c4191d0a83330683f6d151d3 (patch)
treeb3e043331ebfaf4628b6bb05f2c5d93c9d39637b /src/bin
parentaf034c91f9405816cd08247b5e773595995cc46d (diff)
Track recent IP addresses in direct operations
Add IP address history functionality to store and retrieve recently used IP addresses when performing direct operations. Maintains a history file with up to 8 most recent IPs for quick access.
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/jv.rs18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/bin/jv.rs b/src/bin/jv.rs
index f793341..14ba9ef 100644
--- a/src/bin/jv.rs
+++ b/src/bin/jv.rs
@@ -28,10 +28,11 @@ use just_enough_vcs::{
current::{current_doc_dir, current_local_path},
data::{
local::{
- LocalWorkspace, config::LocalConfig, file_status::AnalyzeResult,
- latest_info::LatestInfo, local_files::get_relative_paths, member_held::MemberHeld,
+ LocalWorkspace, cached_sheet::CachedSheet, config::LocalConfig,
+ file_status::AnalyzeResult, latest_info::LatestInfo,
+ local_files::get_relative_paths, member_held::MemberHeld,
},
- member::Member,
+ member::{Member, MemberId},
user::UserDirectory,
},
docs::{ASCII_YIZI, document, documents},
@@ -50,7 +51,10 @@ use just_enough_vcs::{
vcs::{actions::local_actions::proc_set_upstream_vault_action, registry::client_registry},
};
use just_enough_vcs_cli::{
- data::compile_info::CompileInfo,
+ data::{
+ compile_info::CompileInfo,
+ ipaddress_history::{get_recent_ip_address, insert_recent_ip_address},
+ },
utils::{
display::{SimpleTable, md, size_str},
env::current_locales,
@@ -1944,13 +1948,15 @@ async fn jv_direct(args: DirectArgs) {
"jv.result.direct.directed_and_stained",
upstream = upstream
))
- )
+ );
+ insert_recent_ip_address(upstream.to_string().trim()).await;
}
SetUpstreamVaultActionResult::Redirected => {
println!(
"{}",
md(t!("jv.result.direct.redirected", upstream = upstream))
- )
+ );
+ insert_recent_ip_address(upstream.to_string().trim()).await;
}
SetUpstreamVaultActionResult::AlreadyStained => {
eprintln!(