https://github.com/b1f6c1c4/git-lad

git add that follows symbolic links

https://github.com/b1f6c1c4/git-lad

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

git add that follows symbolic links

Basic Info
  • Host: GitHub
  • Owner: b1f6c1c4
  • License: mit
  • Language: Shell
  • Default Branch: master
  • Size: 6.84 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 5 years ago · Last pushed over 5 years ago
Metadata Files
Readme License

README.md

git-lad

Make git follow symlinks again, but easier

Compare with GitBSLR

Pros:

  • This repo only provides an symlink-agnostic alternative for git add. The behavior of Git itself is totally predictable, compared to that of GitBSLR.
  • This is just a several link bash script compared to that of a thousand-line C++ program.
  • You don't need LD_PRELOAD or anything magic.
  • This one fully supports submodules.

Cons:

  • git status doesn't work. Any changes towards symlink itself nor the linked file(s) will NOT be visible in git status.
  • git update-index --skip-worktree is called. You are responsible for making sure that everything is up-to-date.
  • git rebase and git merge may work or not work.
  • You must specify individual files/submodules to add, instead of a folder.
  • No built-in glob support. Use your shell's glob.
  • No .gitignore support.

Usage

  • Case 1: Symlink to a file (or submodule)
1. Suppose you are inside a repo in which `file` is a symlink to a regular file `/opt/file`.

    ```sh
    # git init
    touch /opt/file
    ln -sfT /opt/file file
    ```

1. To properly add the file `/opt/file`:

    ```sh
    git lad file
    ```
  • Case 2: Symlink to a folder
1. Suppose you are inside a repo in which `data` is a symlink to folder `/opt/data`.

    ```sh
    # git init
    mkdir -p /opt/data
    ln -sfT /opt/file data
    ```

1. To properly add a file `/opt/data/f`: (submodules inside `/opt/data` follow the same syntax)

    ```sh
    # touch /opt/data/f
    git lad file/f
    ```

1. Note that `git lad file` is forbidden. You have to specify individual files.

Installation

Install git-get first and then:

sh git get b1f6c1c4/git-lad -o ~/.local/bin/ -- git-lad export PATH="$HOME/.local/bin:$PATH"

License

MIT

Owner

  • Login: b1f6c1c4
  • Kind: user
  • Location: NJ, USA
  • Company: Princeton University

52BE D143 A92D BE96 2B83 092B 9BAC 0164 9600 1E70

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • b1f6c1c4 (1)
Pull Request Authors
Top Labels
Issue Labels
bug (1)
Pull Request Labels