diff options
author | Jordan R Abrahams <ajordanr@google.com> | 2022-01-12 23:38:30 +0000 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-01-14 04:47:54 +0000 |
commit | b0d6ea52f9ebad2924b04f6a87da28b1256480b1 (patch) | |
tree | 5ee555b7d42656bd9c3b908f2236aa61c61a7d0c /llvm_tools/patch_sync/src/version_control.rs | |
parent | 384bee7f9cdad4c183e7339985a26f3b9e9e31ee (diff) | |
download | toolchain-utils-b0d6ea52f9ebad2924b04f6a87da28b1256480b1.tar.gz |
patch_sync: Refactor shared main code
This commit attempts to remove duplicated code between
Android and CrOS, as the complexity between this duplicated
code exceeded the scope of the main file.
Also adds display_patches code.
This is to pretty print what patches are getting applied and
to where. Only enabled if --verbose is on.
Also does some minor function cleanup in version_control.rs.
BUG=b:209493133
TEST=cargo test
TEST=patch_sync transpose --dry-run --verbose <...>
Change-Id: I63410160ff5159f4c079ac1cc189674fe3fc02a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3379481
Reviewed-by: George Burgess <gbiv@chromium.org>
Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
Diffstat (limited to 'llvm_tools/patch_sync/src/version_control.rs')
-rw-r--r-- | llvm_tools/patch_sync/src/version_control.rs | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/llvm_tools/patch_sync/src/version_control.rs b/llvm_tools/patch_sync/src/version_control.rs index a19c16e5..e6d32a58 100644 --- a/llvm_tools/patch_sync/src/version_control.rs +++ b/llvm_tools/patch_sync/src/version_control.rs @@ -92,18 +92,38 @@ impl RepoSetupContext { ) } + /// Get the Android path to the PATCHES.json file pub fn android_patches_path(&self) -> PathBuf { self.android_checkout .join(&ANDROID_LLVM_REL_PATH) .join("patches/PATCHES.json") } + /// Get the Chromium OS path to the PATCHES.json file pub fn cros_patches_path(&self) -> PathBuf { self.cros_checkout .join(&CHROMIUMOS_OVERLAY_REL_PATH) .join("sys-devel/llvm/files/PATCHES.json") } + /// Return the contents of the old PATCHES.json from Chromium OS + pub fn old_cros_patch_contents(&self, hash: &str) -> Result<String> { + Self::old_file_contents( + hash, + &self.cros_checkout.join(CHROMIUMOS_OVERLAY_REL_PATH), + Path::new("sys-devel/llvm/files/PATCHES.json"), + ) + } + + /// Return the contents of the old PATCHES.json from android + pub fn old_android_patch_contents(&self, hash: &str) -> Result<String> { + Self::old_file_contents( + hash, + &self.android_checkout.join(ANDROID_LLVM_REL_PATH), + Path::new("patches/PATCHES.json"), + ) + } + fn repo_upload<'a, I: IntoIterator<Item = &'a str>>( path: &Path, base_branch: &str, @@ -173,28 +193,7 @@ impl RepoSetupContext { Ok(new_path) } - /// Return the contents of the old PATCHES.json from Chromium OS - #[allow(dead_code)] - pub fn old_cros_patch_contents(&self, hash: &str) -> Result<String> { - Self::old_file_contents( - hash, - &self.cros_checkout.join(CHROMIUMOS_OVERLAY_REL_PATH), - Path::new("sys-devel/llvm/files/PATCHES.json"), - ) - } - - /// Return the contents of the old PATCHES.json from android - #[allow(dead_code)] - pub fn old_android_patch_contents(&self, hash: &str) -> Result<String> { - Self::old_file_contents( - hash, - &self.android_checkout.join(ANDROID_LLVM_REL_PATH), - Path::new("patches/PATCHES.json"), - ) - } - /// Return the contents of an old file in git - #[allow(dead_code)] fn old_file_contents(hash: &str, pwd: &Path, file: &Path) -> Result<String> { let git_ref = format!( "{}:{}", |