Show More
@@ -542,11 +542,9 b' fn hash_mangle(src: &[u8], sha: &[u8]) -' | |||||
542 | let mut dest = vec![0; MAXSTOREPATHLEN]; |
|
542 | let mut dest = vec![0; MAXSTOREPATHLEN]; | |
543 | memcopy(Some(&mut dest), &mut destlen, b"dh/"); |
|
543 | memcopy(Some(&mut dest), &mut destlen, b"dh/"); | |
544 |
|
544 | |||
545 | { |
|
545 | if let Some(last_slash) = last_slash { | |
546 | let mut first = true; |
|
546 | let mut first = true; | |
547 | for slice in |
|
547 | for slice in src[..last_slash].split(|b| *b == b'/') { | |
548 | src[..last_slash.unwrap_or(src.len())].split(|b| *b == b'/') |
|
|||
549 | { |
|
|||
550 | let slice = &slice[..std::cmp::min(slice.len(), dirprefixlen)]; |
|
548 | let slice = &slice[..std::cmp::min(slice.len(), dirprefixlen)]; | |
551 | if destlen + (slice.len() + if first { 0 } else { 1 }) |
|
549 | if destlen + (slice.len() + if first { 0 } else { 1 }) | |
552 | > maxshortdirslen + 3 |
|
550 | > maxshortdirslen + 3 | |
@@ -649,9 +647,7 b' mod tests {' | |||||
649 | use super::*; |
|
647 | use super::*; | |
650 | use crate::utils::hg_path::HgPathBuf; |
|
648 | use crate::utils::hg_path::HgPathBuf; | |
651 |
|
649 | |||
652 | // expected failure |
|
|||
653 | #[test] |
|
650 | #[test] | |
654 | #[should_panic] |
|
|||
655 | fn test_long_filename_at_root() { |
|
651 | fn test_long_filename_at_root() { | |
656 | let input = b"data/ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ.i"; |
|
652 | let input = b"data/ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ.i"; | |
657 | let expected = b"dh/abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij.i708243a2237a7afae259ea3545a72a2ef11c247b.i"; |
|
653 | let expected = b"dh/abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij.i708243a2237a7afae259ea3545a72a2ef11c247b.i"; |
General Comments 0
You need to be logged in to leave comments.
Login now