Skip to content

Commit c513d2f

Browse files
aelgogaryjpgrayson
authored andcommitted
fix(import): patch numbers not stripped from name
If patch series was exported using numbered order, importing the series will keep the patch number as part of its name.
1 parent 0277cb2 commit c513d2f

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

src/cmd/import.rs

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -703,12 +703,11 @@ fn create_patch<'repo>(
703703
}
704704

705705
fn stripname(name: &str) -> &str {
706-
name.trim_start_matches(|c: char| c.is_ascii_digit() || c == '-')
707-
.rsplit_once(".diff")
708-
.map_or_else(
709-
|| name.rsplit_once(".patch").map_or(name, |(name, _)| name),
710-
|(name, _)| name,
711-
)
706+
let name = name.trim_start_matches(|c: char| c.is_ascii_digit() || c == '-');
707+
name.rsplit_once(".diff").map_or_else(
708+
|| name.rsplit_once(".patch").map_or(name, |(name, _)| name),
709+
|(name, _)| name,
710+
)
712711
}
713712

714713
fn split_patch(content: Vec<u8>) -> Result<(BString, BString)> {
@@ -738,7 +737,7 @@ fn split_patch(content: Vec<u8>) -> Result<(BString, BString)> {
738737
mod test {
739738
use bstr::B;
740739

741-
use super::split_patch;
740+
use super::{split_patch, stripname};
742741

743742
#[test]
744743
fn patch_without_message() {
@@ -818,6 +817,24 @@ mod test {
818817
assert_eq!(message, "");
819818
assert!(diff.starts_with(b"--- filename.txt"));
820819
}
820+
821+
#[test]
822+
fn patch_name_with_numbered_order_and_patch_extension() {
823+
let name = String::from("01-patch-name.patch");
824+
assert_eq!(stripname(&name), "patch-name");
825+
}
826+
827+
#[test]
828+
fn patch_name_with_numbered_order_and_diff_extension() {
829+
let name = String::from("01-patch-name.diff");
830+
assert_eq!(stripname(&name), "patch-name");
831+
}
832+
833+
#[test]
834+
fn patch_name_with_numbered_order_and_diff_patch_extension() {
835+
let name = String::from("01-patch-name.diff.patch");
836+
assert_eq!(stripname(&name), "patch-name");
837+
}
821838
}
822839

823840
#[derive(Default, Debug)]

0 commit comments

Comments
 (0)