Skip to content

Commit 45d3210

Browse files
committed
Fix files duplicated logic for the merge overlapping case
1 parent f3a2c55 commit 45d3210

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

charon/pkgs/maven.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,7 @@ def _extract_tarballs(repos: List[str], root: str, prefix="", dir__=None) -> str
689689
final_tmp_root = mkdtemp(prefix=f"charon-{prefix}-final-", dir=dir__)
690690

691691
total_copied = 0
692-
total_overwritten = 0
692+
total_duplicated = 0
693693
total_processed = 0
694694

695695
# Collect all extracted directories first
@@ -719,20 +719,20 @@ def _extract_tarballs(repos: List[str], root: str, prefix="", dir__=None) -> str
719719

720720
# Merge content from all extracted directories
721721
for extracted_dir in extracted_dirs:
722-
copied, overwritten, processed = _merge_directories_with_rename(
722+
copied, duplicated, processed = _merge_directories_with_rename(
723723
extracted_dir, merged_dest_dir, root
724724
)
725725
total_copied += copied
726-
total_overwritten += overwritten
726+
total_duplicated += duplicated
727727
total_processed += processed
728728

729729
# Clean up temporary extraction directory
730730
rmtree(extracted_dir)
731731

732732
logger.info(
733-
"All zips merged! Total copied: %s, Total overwritten: %s, Total processed: %s",
733+
"All zips merged! Total copied: %s, Total duplicated: %s, Total processed: %s",
734734
total_copied,
735-
total_overwritten,
735+
total_duplicated,
736736
total_processed,
737737
)
738738
return final_tmp_root
@@ -743,10 +743,10 @@ def _merge_directories_with_rename(src_dir: str, dest_dir: str, root: str):
743743
* src_dir is the source directory to copy from
744744
* dest_dir is the destination directory to copy to.
745745
746-
Returns Tuple of (copied_count, overwritten_count, processed_count)
746+
Returns Tuple of (copied_count, duplicated_count, processed_count)
747747
"""
748748
copied_count = 0
749-
overwritten_count = 0
749+
duplicated_count = 0
750750
processed_count = 0
751751

752752
# Find the actual content directory
@@ -768,27 +768,27 @@ def _merge_directories_with_rename(src_dir: str, dest_dir: str, root: str):
768768
# Create destination directory if it doesn't exist
769769
os.makedirs(dest_root, exist_ok=True)
770770

771-
# Copy all files, overwriting existing ones
771+
# Copy all files, skip existing ones
772772
for file in files:
773773
src_file = os.path.join(root_dir, file)
774774
dest_file = os.path.join(dest_root, file)
775775
if os.path.exists(dest_file):
776-
overwritten_count += 1
777-
logger.debug("Overwritten: %s -> %s", src_file, dest_file)
776+
duplicated_count += 1
777+
logger.debug("Duplicated: %s, skipped", dest_file)
778778
else:
779779
copied_count += 1
780+
copy2(src_file, dest_file)
780781
logger.debug("Copied: %s -> %s", src_file, dest_file)
781782

782783
processed_count += 1
783-
copy2(src_file, dest_file)
784784

785785
logger.info(
786-
"One zip merged! Files copied: %s, Files overwritten: %s, Total files processed: %s",
786+
"One zip merged! Files copied: %s, Files duplicated: %s, Total files processed: %s",
787787
copied_count,
788-
overwritten_count,
788+
duplicated_count,
789789
processed_count,
790790
)
791-
return copied_count, overwritten_count, processed_count
791+
return copied_count, duplicated_count, processed_count
792792

793793

794794
def _scan_paths(files_root: str, ignore_patterns: List[str],

0 commit comments

Comments
 (0)