blinksh / blinksh/blink

rsync-like --remove-source-files option for sftp

Open
#1,491 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
Swift
Stars
6.9k
Forks
748
PR merge metrics
No merged PRs in 30d

Description

https://github.com/blinksh/blink/issues/567#issuecomment-1149329978

This is essentially a verified move command. It copies files and once confirmed to be on the destination, it removes from the source. This provides much safer file moves across unstable network connections compared to alternatives such as a typical sftp copy, then manually removing files after complete, since it removes the human from the process and won't remove files which didn't fully copy due to a network interruption.

I understand you aren't going to port all of rsync, but I think this could be an option added to the existing sftp in Blink.

https://explainshell.com/explain?cmd=rsync%20--remove-source-files

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 locating Blink's existing SFTP client and file-copy entry points, then trace how transfers report completion and failures. Define the option's behavior from the issue: remove each source file only after its destination copy is confirmed, including interruption cases. Add coverage for successful and interrupted transfers before verifying the SFTP command behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
mobile, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.