mitsuhiko / mitsuhiko/self-replace

Support Hardlinked Shim/Proxy Deletion

Open
#15 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
823
Forks
33
PR merge metrics
No merged PRs in 30d

Description

If one has an application that has hardlinked shims or proxies they also need to be delayed until restart. This is a problem that rustup also ran into. This would require more flexible APIs for both deletion and replacement and quite likely on windows it might require given the user some options about how to delete them.

Either the processes need to be terminated first, or the deletion has to be delayed somehow. Unfortunately MOVEFILE_DELAY_UNTIL_REBOOT requires elevated privileges.

Related rustup issues:

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the issue description and the linked rustup issues 988 and 2441, then inspect the library's deletion and replacement APIs. Determine how hardlinked shims and proxies behave on Windows, including the constraints around MOVEFILE_DELAY_UNTIL_REBOOT. Done means the supported behavior and required user options are clearly defined and implemented.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.