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 {