[package] name = "gitpatcher" description = """A library that uses git to maintain a set of patches around a submodule""" version.workspace = true edition.workspace = true authors.workspace = true readme.workspace = true license.workspace = true repository.workspace = true [dependencies] bstr = "1.5" thiserror = "1" nom = "7.1.3" arrayvec = "0.7.2" time = { version = "0.3", features = ["macros", "parsing"] } slog.workspace = true git2.workspace = true camino.workspace = true # Used to apply patches diffy = "0.3" [build-dependencies] rustversion = "1" [dev-dependencies] anyhow = "1" testdir = "0.8" [workspace] members = ["bin"] default-members = [".", "bin"] [workspace.package] version = "0.2.3" edition = "2021" authors = ["Techcable "] readme = "README.md" license = "MIT" repository = "https://github.com/Techcable/gitpatcher" [workspace.dependencies] slog = "2.7" # UTF8 paths camino = "1.1.6" [workspace.dependencies.git2] version = "0.18" # We don't need https default-features = false [profile.release] # Counterintuitively, this produces smaller binaries opt-level = 3 # Use (thin) link time optimization to enable more optimization opportunities # Note: Unlike regular LTO, thin LTO actually doesn't ruin compile times lto = "thin" # Panics are only used for internal errors. # If we want to recover, we use a Result. # As far as we're concerned a panic is fatal, # and should exit the command line app. panic = "abort"