Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Add windows support #17

Merged
merged 42 commits into from
Apr 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
51bcdf3
feat: add preliminary windows support
MilesCranmer Apr 14, 2024
41f4a4a
ci: test on windows-latest
MilesCranmer Apr 14, 2024
d1ca9ca
fix: correct symlink to symlink_file on windows
MilesCranmer Apr 14, 2024
df60215
docs: describe more changes
MilesCranmer Apr 14, 2024
0d12b1c
test: fix integration tests on windows
MilesCranmer Apr 14, 2024
f1c6089
build: add detailed debug logging
MilesCranmer Apr 14, 2024
3c06631
build: more debug logging
MilesCranmer Apr 14, 2024
0d3dc2a
fix!: use dunce canonicalization for windows compat
MilesCranmer Apr 14, 2024
3dec0b6
build: more debug logging
MilesCranmer Apr 14, 2024
90b9ee2
build: fix println to debug
MilesCranmer Apr 14, 2024
6624147
fix: workaround for device paths on windows
MilesCranmer Apr 14, 2024
6dff6cf
test: enable debug logging in tests
MilesCranmer Apr 14, 2024
5a78a11
test: clean up logging mode
MilesCranmer Apr 14, 2024
c2a8b5a
docs: hierarchical debugging logs
MilesCranmer Apr 14, 2024
f494d9e
feat: more readable logging for windows
MilesCranmer Apr 14, 2024
d746a71
style: clean up
MilesCranmer Apr 14, 2024
8c40c01
build: debug logging for record
MilesCranmer Apr 14, 2024
12f9490
refactor: unify joining for windows and unix files
MilesCranmer Apr 14, 2024
ef5ed91
style: fix formatting
MilesCranmer Apr 14, 2024
647d76a
docs: zombie emoji
MilesCranmer Apr 14, 2024
51b0dcf
feat: quit prompt read if given invalid char
MilesCranmer Apr 15, 2024
b4035a4
fix: correct behavior for non-input stdin
MilesCranmer Apr 15, 2024
5c60870
fix: correct behavior for \n stdin
MilesCranmer Apr 15, 2024
337cd8f
test(wip): test issue 18
MilesCranmer Apr 15, 2024
a0abffe
ci: always run tests
MilesCranmer Apr 15, 2024
98ac85f
test: use eprintln for debugging
MilesCranmer Apr 15, 2024
4f85683
refactor: separate dir move to function
MilesCranmer Apr 15, 2024
c4384f9
refactor: clean up symlink metadata
MilesCranmer Apr 15, 2024
7b67dc1
test: full reproduction of issue 18
MilesCranmer Apr 15, 2024
40b0b34
build: remove unneeded rexpect
MilesCranmer Apr 15, 2024
a77e027
feat!: do not record permanent deletions in record
MilesCranmer Apr 15, 2024
d3173ea
test: update socket test to new behavior
MilesCranmer Apr 15, 2024
22098b2
Merge pull request #20 from MilesCranmer/issue-18
MilesCranmer Apr 15, 2024
9a9baa2
build: use eprintln for debug
MilesCranmer Apr 15, 2024
cf08767
test: fix dunce canonicalization
MilesCranmer Apr 15, 2024
7807cd1
docs: describe other bug fixes
MilesCranmer Apr 15, 2024
970daf4
docs: improve readme
MilesCranmer Apr 15, 2024
9c0d2d5
fix: seance paths on windows
MilesCranmer Apr 15, 2024
28fa734
refactor: disable renaming for all cli tests
MilesCranmer Apr 15, 2024
dc06f33
style: clippy clean up
MilesCranmer Apr 15, 2024
b67a269
test: include issue 18 test on windows
MilesCranmer Apr 15, 2024
ed20f8a
test: remove debugging statements
MilesCranmer Apr 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI
on:
push:
branches:
- master
- "*"
tags:
- v*
pull_request:
Expand All @@ -30,6 +30,7 @@ jobs:
os:
- ubuntu-latest
- macOS-latest
- windows-latest
rust-version:
- stable

Expand Down
39 changes: 38 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,14 @@ autobins = false
clap = { version = "4.4", features = ["derive"] }
clap_complete = "4.4"
clap_complete_nushell = "4.4"
dunce = "1.0.4"
walkdir = "1"
chrono = "0.4.33"

[dev-dependencies]
assert_cmd = "1.0"
lazy_static = "1.4"
predicates = "3.0"
rand = "0.8"
rstest = "0.18"
tempfile = "3"
Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
# rip 2
# RIP ⚰️

[![Test](https://github.com/MilesCranmer/rip2/actions/workflows/test.yml/badge.svg)](https://github.com/MilesCranmer/rip2/actions/workflows/test.yml)
[![Coverage Status](https://coveralls.io/repos/github/MilesCranmer/rip2/badge.svg?branch=master)](https://coveralls.io/github/MilesCranmer/rip2?branch=master)

`rip` is a rust-based `rm` with a focus on safety, ergonomics, and performance. It favors a simple interface, and does *not* implement the xdg-trash spec or attempt to achieve the same goals.

Deleted files get sent to the graveyard (`/tmp/graveyard-$USER` by default, see [notes](#notes) on changing this) under their absolute path, giving you a chance to recover them. No data is overwritten. If files that share the same path are deleted, they will be renamed as numbered backups.
Deleted files get sent to the graveyard 🪦 (`/tmp/graveyard-$USER` by default, see [notes](#notes) on changing this) under their absolute path, giving you a chance to recover them 🧟. No data is overwritten. If files that share the same path are deleted, they will be renamed as numbered backups.

This version is a fork-of-a-fork:

1. [nivekuil/rip](https://github.com/nivekuil/rip), the original, which has been unmaintained since 2020.
2. [StandingPadAnimation/rip](https://github.com/StandingPadAnimations/rip) who added a few features.
3. Finally, that repo was forked [@here](https://github.com/MilesCranmer/rip2) with ongoing maintenance:
- Added shell completions
- Added a test suite
- Windows support
- Refactoring to modern rust
- Test suite and coverage
- Shell completions
- Added a few unmerged PRs from the original repo
- General maintenance:
- Bug fix for FIFO file copy not being executed
- Refactoring to modern rust
- Bug fix for FIFO files
- Bug fix for seance

## Installation

Expand Down
Loading
Loading