See go/llvm-patch-sync for motivation, diagrams, and design docs. The patch_sync tool also has a detailed --help, which can be quickly accessed via cargo run -- --help, cargo run -- transpose --help, and cargo run -- show --help.
# Release version cargo build --release # Debug version cargo build
The executable will then exist at ./target/(debug|release)/patch_sync.
cargo test
Because patch_sync requires a specific file system layout to work correctly, the unittests are unfortunately fairly sparse. Full testing will likely require running patch_sync transpose ... with the necessary arguments.
This command will:
./patch_sync transpose \
--sync \
--aosp-checkout "${HOME}/android" \
--aosp-base-ref "${base_aosp_git_hash}" \
--cros-checkout "${HOME}/chromiumos" \
--overlay-base-ref "${base_cros_git_hash}"