RaphGL / RaphGL/Tuckr

`tuckr pop` does not support popping individual files/directories

Open
#97 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
487
Forks
31
PR merge metrics
No merged PRs in 30d

Description

I consider "pop" to be the opposite behaviour of "push", and so I think tuckr pop should do the inverse of tuckr push.

Currently, tuckr pop just removes the group and cleans up its symbolic links (ie tuckr rm some_group && rm Configs/some_group), whereas tuckr push begins with the given files already existing on the system.

As such, I think it would be logical for tuckr pop to restore any symbolic linked files from some_group to just be regular old files, ie: for each file in some_group:

  1. Copy the file from the dotfiles repository to its install location on the system, replacing the symbolic link
  2. Remove the file from the dotfiles.

This would also lend itself nicely to allowing specific files to be given as arguments to tuckr pop, expanding the usefulness of the command.

Contributor guide

Open the contributing guide

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 tracing the tuckr pop and tuckr push command paths and running both against a sample group with symbolic links. Define how group and individual-file arguments should behave, then verify that popping restores regular files at their install locations and removes the corresponding files from the dotfiles repository.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
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.