AGWA / AGWA/git-crypt

git-crypt unlock fails

Đang mở
#300 2 bình luận 2 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
9.9k
Fork
544
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### Environment

mac, OS 14.x, git-crypt 0

### Background

Somehow the colleague generated the key to me, but when I try to unlock it started show me next errors:
```
git-crypt: error: encrypted file has been tampered with!
error: external filter "/home/stavros/bin/git-crypt" smudge failed 1
error: external filter "/home/stavros/bin/git-crypt" smudge failed
fatal: my-path/properties.yaml: smudge filter git-crypt failed
```

### The issue itself

When I had the error above the repository became dirty (had some changes) and if I update the encrypted key (second time encrypted with mt gpg) the unlock did not work for me and said:
```
Error: Working directory not clean.
Please commit your changes or 'git stash' them before running 'git-crypt unlock'.
```
But in the same time I could not make `git stash` or `git reset --hard` because I saw this:
```
git-crypt: error: encrypted file has been tampered with!
error: external filter '"git-crypt" smudge' failed 1
error: external filter '"git-crypt" smudge' failed
fatal: my-path/properties.yaml: smudge filter git-crypt failed
```
(In fact I realized that the key was broken somehow, so other colleague generated the key for me - this time all work on newly cloned the repo)

### Known way to fix

Thus, I had only way to delete repository and clone it once again. Then the unlock worked even if I update the encrypted (by my gpg) key manually with valid one (secondly encrypted).

### Expected behavior

I believe that `git reset --hard` should work in any case - otherwise it seems like a stoppage issue.

### How to reproduce

This is not real my case, but I reproduced similar issue, so it could help to reproduce and fix this:

1. clone a repo with valid encrypted key (by gpg)
2. make `git-crypt init` (yeah, it is not correct but it helps to reproduce similar behavior)
3. run `git-crypt unlock` - done!
4. now you have dirty working directory and cannot do git reset --hard as can not git-crypt unlock and so on

There is theory (I did not verify that), how to reproduce it once again... Probably 1st time there was additional `git-crypt init` run before adding new gpg user. But I guess this reproducing will also work as well.

### Summary

the biggest stoppage in that case that `git reset --hard` does not work, but git-crypt we use as tool for git and it seems very strange that git-crypt corrupt whole git repo. Or there is other workaround ? (I looked at this [issue-59](https://github.com/AGWA/git-crypt/issues/59) but it does not help)

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.