LinuxCommandLibrary

yadm-list

List files managed by yadm

TLDR

Print a list of files managed by yadm in the current directory

$ yadm list
copy

List all files managed by yadm completely
$ yadm list -a
copy

SYNOPSIS

yadm list [options] [pathspec...]

PARAMETERS

-l, --literal
    Shows the literal path of the file as it exists within the yadm repository, including the repository's internal structure (e.g., `~/.local/share/yadm/repo.git`).

-t, --tracked
    Displays files that are currently tracked by yadm, meaning they are committed to the yadm Git repository. This is the default behavior if no other file type option (-u, -i, -s) is specified.

-u, --untracked
    Lists files that exist in the yadm-managed home directory but are not yet tracked by yadm (i.e., not added to the repository).

-i, --ignored
    Shows untracked files that are explicitly ignored by yadm, typically through rules defined in `.yadmignore` or `~/.config/yadm/ignore`.

-s, --staged
    Displays untracked files that have been staged for addition to the yadm repository, but not yet committed.

-f <file>, --file=<file>
    Reads file patterns from the specified <file>. Each line in the <file> is treated as a pattern to filter the list of files.

pathspec...
    One or more paths or patterns that limit the output to files matching the provided specifications. This allows for filtering the list to specific directories or file names.

DESCRIPTION

yadm-list is a subcommand of the yadm (Yet Another Dotfiles Manager) utility, specifically designed to provide an insightful overview of the files under its management. This command allows users to efficiently inspect which configuration files (dotfiles) are currently tracked within the yadm Git repository, and also to identify untracked files present in the yadm-managed home directory that could potentially be brought under yadm's control. It serves as a vital tool for maintaining an organized and up-to-date dotfile setup, assisting users in discovering files that may need to be added to the repository or those that are unintentionally ignored.

The command offers various filtering options, enabling users to tailor the output to their specific needs, such as showing only tracked files, only untracked files, or specific categories of untracked files (e.g., ignored or staged). This functionality provides a quick and comprehensive way to audit the state of your dotfiles managed by yadm without requiring direct interaction with complex Git commands. It significantly enhances transparency and control over your personal configuration files.

CAVEATS

Using yadm-list requires yadm to be installed and an active yadm repository initialized in your home directory. The output reflects the state of the yadm repository and its interaction with files in your home directory, and does not perform any modifications.

DEFAULT BEHAVIOR

When no options (such as -t, -u, -i, or -s) are provided, yadm list defaults to displaying only the tracked files within your yadm repository.

INTERNAL GIT INTERACTION

While yadm-list provides a simplified interface, it internally leverages Git commands, making its functionality conceptually similar to aspects of git ls-files but specifically tailored for dotfile management.

HISTORY

The yadm list subcommand has been a fundamental component of yadm (Yet Another Dotfiles Manager) since its early stages. As yadm was developed by Mike Hostetler to simplify dotfile management using Git, the list command was crucial for providing users with visibility into their managed files. Its evolution has focused on offering more granular control and clearer output, reflecting the general refinement of yadm into a robust and user-friendly tool for maintaining configurations across various systems.

SEE ALSO

yadm(1), yadm-add(1), yadm-status(1), git-ls-files(1)

Copied to clipboard