keybase / keybase/keybase-issues

'dir sign' correctly follows directory .gitignore but not global excludes

Open
#1,731 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
899
Forks
40
PR merge metrics
No merged PRs in 30d

Description

^^ that says it all. I'm usually living in Python land, so I usually have a virtualenv called `env` in my project directories. I ignore `env` and `__pycache__` globally (as well as a few other things, like `*.swp`). I'm never committing these files, so they will never be pushed up to a remote git branch (like Github). The command I'm actually running is:

```
keybase dir sign -p git
```

If I didn't notice the error, then the SIGNED.md would attest to the presence of files which would not be present in the pushed repo (a virtualenv, `__pycache__`, test data, etc).

This could potentially leak filenames for sensitive things (maybe someone has `./test_data` in their global excludes file, and there's customer data in there or something). In the case of a virtualenv it also adds a huge amount of useless data (every file in every installed package) to `SIGNED.md`.

Note: I have `~/.gitconfig` symlinked to a file in a dotfiles repo, if that makes any difference. The relevant file is in my dotifles repo [here](https://github.com/aliceriot/dotfiles/blob/master/git/.gitconfig).

A workaround is obviously to add these things to every per-project `.gitignore`, but I'd like to not do that, if possible.

Thanks for reading!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the `keybase dir sign -p git` command's handling of directory `.gitignore` files and global Git excludes. Reproduce the issue with globally ignored `env`, `__pycache__`, or `*.swp` entries; done means signing excludes those paths consistently with Git and they do not appear in `SIGNED.md`.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.