From b8def65d6ef13b56f3b1e22cb8c09ced4d2b6ac3 Mon Sep 17 00:00:00 2001 From: Sebastian Martinez Date: Wed, 28 Jun 2023 11:31:21 +0200 Subject: [PATCH] surf: add simple copy detection to diff Signed-off-by: Sebastian Martinez --- radicle-surf/src/repo.rs | 1 + radicle-surf/t/src/diff.rs | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/radicle-surf/src/repo.rs b/radicle-surf/src/repo.rs index 8a1fc37..766d3f4 100644 --- a/radicle-surf/src/repo.rs +++ b/radicle-surf/src/repo.rs @@ -519,6 +519,7 @@ impl Repository { // Detect renames by default. let mut find_opts = git2::DiffFindOptions::new(); find_opts.renames(true); + find_opts.copies(true); diff.find_similar(Some(&mut find_opts))?; Ok(diff) diff --git a/radicle-surf/t/src/diff.rs b/radicle-surf/t/src/diff.rs index 4b53f22..ee95009 100644 --- a/radicle-surf/t/src/diff.rs +++ b/radicle-surf/t/src/diff.rs @@ -302,7 +302,13 @@ fn test_diff_serde() -> Result<(), Error> { "oldPath": "text/emoji.txt", "newPath": "emoji.txt", }], - "copied": [], + "copied": [{ + "diff": { + "type": "empty", + }, + "newPath": "file_operations/copied.md", + "oldPath": "README.md", + }], "modified": [{ "path": "README.md", "diff": { @@ -343,7 +349,7 @@ fn test_diff_serde() -> Result<(), Error> { }], "stats": { "deletions": 9, - "filesChanged": 4, + "filesChanged": 5, "insertions": 4, } });