Compare commits
6 Commits
62435ae351
...
v0.5.0
Author | SHA1 | Date | |
---|---|---|---|
6a179f0881 | |||
09546907e5
|
|||
83f9816cce | |||
c261d6cb65 | |||
fb01406738 | |||
352fd86145 |
11
CHANGELOG.md
11
CHANGELOG.md
@@ -6,9 +6,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.4.1] - 2024-11-30
|
||||
## [0.5.0] - 2024-12-15
|
||||
|
||||
### Added
|
||||
- allow taking a local path
|
||||
|
||||
### Fixed
|
||||
- *(deps)* update rust crate serde to v1.0.216
|
||||
- *(deps)* update rust crate prost to v0.13.4
|
||||
|
||||
### Other
|
||||
- *(deps)* update rust crate clap to v4.5.23
|
||||
- *(deps)* update all dependencies
|
||||
- *(deps)* update rust crate tracing-subscriber to v0.3.19
|
||||
- *(deps)* update rust crate tracing to v0.1.41
|
||||
|
||||
|
42
Cargo.lock
generated
42
Cargo.lock
generated
@@ -1,6 +1,6 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
@@ -95,9 +95,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.93"
|
||||
version = "1.0.94"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775"
|
||||
checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7"
|
||||
|
||||
[[package]]
|
||||
name = "async-stream"
|
||||
@@ -325,9 +325,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.21"
|
||||
version = "4.5.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f"
|
||||
checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
@@ -335,9 +335,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.21"
|
||||
version = "4.5.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec"
|
||||
checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
@@ -359,9 +359,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_lex"
|
||||
version = "0.7.1"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
|
||||
checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
|
||||
|
||||
[[package]]
|
||||
name = "colorchoice"
|
||||
@@ -1606,9 +1606,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "prost"
|
||||
version = "0.13.3"
|
||||
version = "0.13.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f"
|
||||
checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"prost-derive",
|
||||
@@ -1622,7 +1622,7 @@ checksum = "5bb182580f71dd070f88d01ce3de9f4da5021db7115d2e1c3605a754153b77c1"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"heck",
|
||||
"itertools 0.13.0",
|
||||
"itertools 0.12.1",
|
||||
"log",
|
||||
"multimap",
|
||||
"once_cell",
|
||||
@@ -1637,12 +1637,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "prost-derive"
|
||||
version = "0.13.3"
|
||||
version = "0.13.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5"
|
||||
checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"itertools 0.13.0",
|
||||
"itertools 0.12.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
@@ -1961,18 +1961,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.215"
|
||||
version = "1.0.216"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
|
||||
checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.215"
|
||||
version = "1.0.216"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
|
||||
checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -2552,9 +2552,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.41.1"
|
||||
version = "1.42.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33"
|
||||
checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
|
@@ -26,4 +26,4 @@ hex = { version = "0.4.3" }
|
||||
toml = { version = "0.8.14" }
|
||||
|
||||
[workspace.package]
|
||||
version = "0.4.1"
|
||||
version = "0.5.0"
|
||||
|
@@ -1,3 +1,5 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
use tonic::transport::{Channel, ClientTlsConfig};
|
||||
|
||||
use crate::{
|
||||
@@ -14,15 +16,18 @@ pub struct State {
|
||||
}
|
||||
|
||||
pub enum Backend {
|
||||
Local,
|
||||
Local { path_override: Option<PathBuf> },
|
||||
Remote { url: String },
|
||||
}
|
||||
|
||||
impl State {
|
||||
pub async fn new(backend: Backend) -> anyhow::Result<Self> {
|
||||
let (querier, commander) = match &backend {
|
||||
Backend::Local => {
|
||||
let storage = Storage::new();
|
||||
Backend::Local { path_override } => {
|
||||
let mut storage = Storage::new();
|
||||
if let Some(path_override) = path_override {
|
||||
storage.with_base(path_override);
|
||||
}
|
||||
let engine = storage.load()?;
|
||||
let events = Events::default();
|
||||
let engine = SharedEngine::from(engine);
|
||||
@@ -53,15 +58,21 @@ impl State {
|
||||
}
|
||||
|
||||
pub fn unlock(&self) {
|
||||
if let Backend::Local = &self.backend {
|
||||
let storage = Storage::new();
|
||||
if let Backend::Local { path_override } = &self.backend {
|
||||
let mut storage = Storage::new();
|
||||
if let Some(path_override) = path_override {
|
||||
storage.with_base(path_override);
|
||||
}
|
||||
storage.clear_lock_file();
|
||||
}
|
||||
}
|
||||
|
||||
pub fn info(&self) -> Option<anyhow::Result<String>> {
|
||||
if let Backend::Local = &self.backend {
|
||||
let storage = Storage::new();
|
||||
if let Backend::Local { path_override } = &self.backend {
|
||||
let mut storage = Storage::new();
|
||||
if let Some(path_override) = path_override {
|
||||
storage.with_base(path_override);
|
||||
}
|
||||
return Some(storage.info());
|
||||
}
|
||||
|
||||
|
@@ -1,3 +1,5 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
use clap::{Parser, Subcommand, ValueEnum};
|
||||
use hyperlog_tui::{
|
||||
commander,
|
||||
@@ -15,6 +17,9 @@ struct Command {
|
||||
|
||||
#[arg(long = "backend-url", required_if_eq("backend", "remote"))]
|
||||
backend_url: Option<String>,
|
||||
|
||||
#[arg(long = "local-path")]
|
||||
local_path: Option<PathBuf>,
|
||||
}
|
||||
|
||||
#[derive(ValueEnum, Clone)]
|
||||
@@ -90,7 +95,9 @@ pub async fn execute() -> anyhow::Result<()> {
|
||||
let backend_url = cli.backend_url;
|
||||
|
||||
let backend = match backend {
|
||||
BackendArg::Local => Backend::Local,
|
||||
BackendArg::Local => Backend::Local {
|
||||
path_override: cli.local_path.clone(),
|
||||
},
|
||||
BackendArg::Remote => Backend::Remote {
|
||||
url: backend_url.expect("backend-url to be set"),
|
||||
},
|
||||
|
Reference in New Issue
Block a user