apache / apache/maven-assembly-plugin

Support native copy-on-write semantics on ReFS filesystem

Open
#1,317 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
110
Forks
75
Avg merge
12h 54m
Merged PRs (30d)
10

Description

Processing assemblies with format=dir involves copying a lot of files from source to target. That can be greatly optimized for some filesystems that support copy-on-write semantics.

[Copy-on-write](https://en.wikipedia.org/wiki/Copy-on-write) provides near-instantaneous copy operation for files. The initial copy only copies the file descriptor, while the actual bytes stay in the same place on the disk. The bytes are only partially copied when the file content is modified. Exact implementation depends on the filesystem.

Microsoft ReFS filesystem is becoming popular on development machines with Windows 11's "Dev Drive" feature, and it can take advantage of copy-on-write operations. My team's project has over 50 maven modules, with lots of assembly operations. It would greatly benefit from the assembly plugin supporting copy-on-write on ReFS.

Please support copy-on-write semantics for format=dir on supporting filesystems, specifically ReFS

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the assembly plugin’s format=dir copy entry point and tracing how files are copied from the source to the target. Research the ReFS copy-on-write operation and how filesystem support can be detected, then verify that directory assemblies use it on ReFS while retaining normal copying elsewhere.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.