[package] name = "gitbutler" version = "0.0.0" edition = "2021" rust-version = "1.57" [lib] name = "gblib" path = "src/lib.rs" [[bin]] name = "gitbutler" path = "src/bin.rs" [build-dependencies] tauri-build = { version = "1.5", features = [] } [dev-dependencies] once_cell = "1.0" pretty_assertions = "1.4" tempfile = "3.8" [dependencies] anyhow = "1.0.72" async-trait = "0.1.74" backoff = "0.4.0" backtrace = { version = "0.3.69", optional = true } bstr = "1.8.0" byteorder = "1.5.0" chrono = { version = "0.4.31", features = ["serde"] } console-subscriber = "0.2.0" diffy = "0.3.0" filetime = "0.2.22" futures = "0.3" git2 = { version = "0.18.1", features = ["vendored-openssl", "vendored-libgit2"] } git2-hooks = "0.3" governor = "0.6.0" itertools = "0.12" lazy_static = "1.4.0" md5 = "0.7.0" nonzero_ext = "0.3.0" notify = { version = "6.0.1" } notify-debouncer-full = "0.3.1" num_cpus = "1.16.0" once_cell = "1.0" r2d2 = "0.8.10" r2d2_sqlite = "0.22.0" rand = "0.8.5" refinery = { version = "0.8", features = [ "rusqlite" ] } reqwest = "0.11.22" resolve-path = "0.1.0" rusqlite = { version = "0.29.0", features = [ "bundled", "blob" ] } rustix = "0.38" sentry = { version = "0.32", optional = true, features = ["backtrace", "contexts", "panic", "transport", "anyhow", "debug-images", "reqwest", "native-tls" ] } sentry-tracing = "0.32.0" serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = [ "std", "arbitrary_precision" ] } sha1 = "0.10.6" sha2 = "0.10.8" similar = { version = "2.3.0", features = ["unicode"] } slug = "0.1.5" ssh-key = { version = "0.6.3", features = [ "alloc", "ed25519" ] } ssh2 = { version = "0.9.4", features = ["vendored-openssl"] } tauri = { version = "1.5.2", features = ["dialog-open", "fs-read-file", "path-all", "process-relaunch", "protocol-asset", "shell-open", "system-tray", "window-maximize", "window-start-dragging", "window-unmaximize"] } tauri-plugin-context-menu = { git = "https://github.com/gitbutlerapp/tauri-plugin-context-menu", branch = "main" } tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" } tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" } thiserror = "1.0.50" tokio = { version = "1.34.0", features = [ "full", "sync", "tracing" ] } tokio-util = "0.7.10" tracing = "0.1.40" tracing-appender = "0.2.3" tracing-subscriber = "0.3.17" url = "2.4" urlencoding = "2.1.3" uuid = "1.6.1" walkdir = "2.3.2" zip = "0.6.5" [features] # by default Tauri runs in production mode # when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL default = ["custom-protocol", "sentry", "error-context"] # this feature enables devtools devtools = ["tauri/devtools"] # this feature is used used for production builds where `devPath` points to the filesystem # DO NOT remove this custom-protocol = ["tauri/custom-protocol"] sentry = ["dep:sentry", "error-context"] error-context = ["dep:backtrace", "sentry/backtrace"] [lints] workspace = true