@@ -22,6 +22,7 @@ use tracing::instrument;
2222
2323use  crate :: cli_util:: CommandHelper ; 
2424use  crate :: cli_util:: RevisionArg ; 
25+ use  crate :: cli_util:: print_unmatched_explicit_paths; 
2526use  crate :: cli_util:: print_updated_commits; 
2627use  crate :: command_error:: CommandError ; 
2728use  crate :: complete; 
@@ -81,14 +82,20 @@ pub(crate) fn cmd_absorb(
8182        . parse_union_revsets ( ui,  & args. into ) ?
8283        . resolve ( ) ?; 
8384
84-     let  matcher = workspace_command
85-         . parse_file_patterns ( ui,  & args. paths ) ?
86-         . to_matcher ( ) ; 
85+     let  fileset_expression = workspace_command. parse_file_patterns ( ui,  & args. paths ) ?; 
86+     let  matcher = fileset_expression. to_matcher ( ) ; 
8787
8888    let  repo = workspace_command. repo ( ) . as_ref ( ) ; 
89-     let  source = AbsorbSource :: from_commit ( repo,  source_commit) ?; 
89+     let  source = AbsorbSource :: from_commit ( repo,  source_commit. clone ( ) ) ?; 
9090    let  selected_trees = split_hunks_to_trees ( repo,  & source,  & destinations,  & matcher) . block_on ( ) ?; 
9191
92+     print_unmatched_explicit_paths ( 
93+         ui, 
94+         & workspace_command, 
95+         & fileset_expression, 
96+         [ & source_commit. tree ( ) ?] , 
97+     ) ?; 
98+ 
9299    let  path_converter = workspace_command. path_converter ( ) ; 
93100    for  ( path,  reason)  in  selected_trees. skipped_paths  { 
94101        let  ui_path = path_converter. format_file_path ( & path) ; 
0 commit comments