fix: preserve unicode in filepaths when commit signing (#3588)

This commit is contained in:
Peter Evans
2024-12-27 10:51:52 +00:00
committed by GitHub
parent bb88e27d3f
commit 67ccf781d6
4 changed files with 11 additions and 7 deletions

View File

@ -19,15 +19,15 @@ git clone git://127.0.0.1/repos/test-base.git /git/local/repos/test-base
cd /git/local/repos/test-base
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
echo "#test-base" > README_TEMP.md
echo "#test-base" > READMETEMP.md
git add .
git commit -m "initial commit"
git commit --allow-empty -m "empty commit for tests"
echo "#test-base :sparkles:" > README_TEMP.md
echo "#test-base :sparkles:" > READMETEMP.md
git add .
git commit -m "add sparkles" -m "Change description:
- updates README_TEMP.md to add sparkles to the title"
mv README_TEMP.md README.md
- updates READMETEMP.md to add sparkles to the title"
mv READMETEMP.md README.md
git add .
git commit -m "rename readme"
git push -u

View File

@ -20,7 +20,7 @@ describe('git-command-manager integration tests', () => {
expect(initialCommit.signed).toBeFalsy()
expect(initialCommit.changes[0].mode).toEqual('100644')
expect(initialCommit.changes[0].status).toEqual('A')
expect(initialCommit.changes[0].path).toEqual('README_TEMP.md')
expect(initialCommit.changes[0].path).toEqual('READMETEMP.md') // filename contains unicode
expect(emptyCommit.subject).toEqual('empty commit for tests')
expect(emptyCommit.tree).toEqual(initialCommit.tree) // empty commits have no tree and reference the parent's
@ -33,7 +33,7 @@ describe('git-command-manager integration tests', () => {
expect(modifiedCommit.signed).toBeFalsy()
expect(modifiedCommit.changes[0].mode).toEqual('100644')
expect(modifiedCommit.changes[0].status).toEqual('M')
expect(modifiedCommit.changes[0].path).toEqual('README_TEMP.md')
expect(modifiedCommit.changes[0].path).toEqual('READMETEMP.md')
expect(headCommit.subject).toEqual('rename readme')
expect(headCommit.parents[0]).toEqual(modifiedCommit.sha)
@ -43,6 +43,6 @@ describe('git-command-manager integration tests', () => {
expect(headCommit.changes[0].path).toEqual('README.md')
expect(headCommit.changes[1].mode).toEqual('100644')
expect(headCommit.changes[1].status).toEqual('D')
expect(headCommit.changes[1].path).toEqual('README_TEMP.md')
expect(headCommit.changes[1].path).toEqual('READMETEMP.md')
})
})