[workspace] members = [ "crates/gitbutler-tauri", "crates/gitbutler-git", "crates/gitbutler-watcher", "crates/gitbutler-watcher/vendor/debouncer", "crates/gitbutler-testsupport", "crates/gitbutler-cli", "crates/gitbutler-branch-actions", "crates/gitbutler-sync", "crates/gitbutler-oplog", "crates/gitbutler-repo", "crates/gitbutler-command-context", "crates/gitbutler-feedback", "crates/gitbutler-config", "crates/gitbutler-project", "crates/gitbutler-user", "crates/gitbutler-branch", "crates/gitbutler-reference", "crates/gitbutler-error", "crates/gitbutler-serde", "crates/gitbutler-secret", "crates/gitbutler-id", "crates/gitbutler-storage", "crates/gitbutler-fs", "crates/gitbutler-time", "crates/gitbutler-commit", "crates/gitbutler-tagged-string", "crates/gitbutler-url", "crates/gitbutler-diff", "crates/gitbutler-operating-modes", "crates/gitbutler-edit-mode", "crates/gitbutler-cherry-pick", "crates/gitbutler-oxidize", "crates/gitbutler-stack-api", "crates/gitbutler-stack", "crates/gitbutler-patch-reference", ] resolver = "2" [workspace.dependencies] bstr = "1.10.0" # Add the `tracing` or `tracing-detail` features to see more of gitoxide in the logs. Useful to see which programs it invokes. gix = { git = "https://github.com/Byron/gitoxide", rev = "72daa46bad9d397ef2cc48a3cffda23f414ccd8a", default-features = false, features = [ ] } git2 = { version = "0.19.0", features = [ "vendored-openssl", "vendored-libgit2", ] } uuid = { version = "1.8.0", features = ["serde"] } serde = { version = "1.0", features = ["derive"] } thiserror = "1.0.64" tokio = { version = "1.40.0", default-features = false } keyring = "2.3.3" anyhow = "1.0.86" parking_lot = "0.12.3" futures = "0.3.30" toml = "0.8.13" tracing = "0.1.40" tracing-subscriber = "0.3.17" gitbutler-id = { path = "crates/gitbutler-id" } gitbutler-git = { path = "crates/gitbutler-git" } gitbutler-watcher = { path = "crates/gitbutler-watcher" } gitbutler-testsupport = { path = "crates/gitbutler-testsupport" } gitbutler-cli = { path = "crates/gitbutler-cli" } gitbutler-branch-actions = { path = "crates/gitbutler-branch-actions" } gitbutler-sync = { path = "crates/gitbutler-sync" } gitbutler-oplog = { path = "crates/gitbutler-oplog" } gitbutler-repo = { path = "crates/gitbutler-repo" } gitbutler-command-context = { path = "crates/gitbutler-command-context" } gitbutler-feedback = { path = "crates/gitbutler-feedback" } gitbutler-config = { path = "crates/gitbutler-config" } gitbutler-project = { path = "crates/gitbutler-project" } gitbutler-user = { path = "crates/gitbutler-user" } gitbutler-branch = { path = "crates/gitbutler-branch" } gitbutler-reference = { path = "crates/gitbutler-reference" } gitbutler-error = { path = "crates/gitbutler-error" } gitbutler-serde = { path = "crates/gitbutler-serde" } gitbutler-secret = { path = "crates/gitbutler-secret" } gitbutler-storage = { path = "crates/gitbutler-storage" } gitbutler-fs = { path = "crates/gitbutler-fs" } gitbutler-time = { path = "crates/gitbutler-time" } gitbutler-commit = { path = "crates/gitbutler-commit" } gitbutler-tagged-string = { path = "crates/gitbutler-tagged-string" } gitbutler-url = { path = "crates/gitbutler-url" } gitbutler-diff = { path = "crates/gitbutler-diff" } gitbutler-operating-modes = { path = "crates/gitbutler-operating-modes" } gitbutler-edit-mode = { path = "crates/gitbutler-edit-mode" } gitbutler-cherry-pick = { path = "crates/gitbutler-cherry-pick" } gitbutler-oxidize = { path = "crates/gitbutler-oxidize" } gitbutler-stack-api = { path = "crates/gitbutler-stack-api" } gitbutler-stack = { path = "crates/gitbutler-stack" } gitbutler-patch-reference = { path = "crates/gitbutler-patch-reference" } [profile.release] codegen-units = 1 # Compile crates one after another so the compiler can optimize better lto = true # Enables link to optimizations opt-level = "s" # Optimize for binary size debug = true # Enable debug symbols, for profiling [profile.bench] codegen-units = 256 lto = false opt-level = 3