From b3da0da4306098c8070c9dddc465b5bc2bc7bc7e Mon Sep 17 00:00:00 2001 From: "benjamin.747" Date: Mon, 16 Jun 2025 20:33:53 +0800 Subject: [PATCH] fix(libra):add new/old file path in libra diff output --- libra/src/command/diff.rs | 21 +++++++++++++++++++++ moon/packages/types/generated.ts | 3 +-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/libra/src/command/diff.rs b/libra/src/command/diff.rs index 6ca6e0844..20ff119bf 100644 --- a/libra/src/command/diff.rs +++ b/libra/src/command/diff.rs @@ -231,6 +231,27 @@ pub async fn diff( String::from_utf8(new_content), ) { (Ok(old_text), Ok(new_text)) => { + let (old_prefix, new_prefix) = if old_text.is_empty() { + // New file + ( + "/dev/null".to_string(), + format!("b/{}", file_display(&file, new_hash, new_type)), + ) + } else if new_text.is_empty() { + // Remove file + ( + format!("a/{}", file_display(&file, old_hash, old_type)), + "/dev/null".to_string(), + ) + } else { + // Update file + ( + format!("a/{}", file_display(&file, old_hash, old_type)), + format!("b/{}", file_display(&file, new_hash, new_type)), + ) + }; + writeln!(w, "--- {}", old_prefix).unwrap(); + writeln!(w, "+++ {}", new_prefix).unwrap(); imara_diff_result(&old_text, &new_text, w); } _ => { diff --git a/moon/packages/types/generated.ts b/moon/packages/types/generated.ts index 76cfc0b6e..862243ccd 100644 --- a/moon/packages/types/generated.ts +++ b/moon/packages/types/generated.ts @@ -3233,8 +3233,7 @@ export type MegaConversation = { id: number /** @format int64 */ updated_at: number - /** @format int64 */ - user_id: number + user_id: string } export enum MergeStatusEnum {