commitizen icon indicating copy to clipboard operation
commitizen copied to clipboard

Cannot commit using tmp file if computer name has a space in it

Open schmi-schmi opened this issue 3 years ago • 1 comments

Description

When cz c is used, the questions appear as they should. Only when all questions are answered does the same error appear: error: pathspec 'Micks\AppData\Local\Temp\tmpsxrs5lc0' did not match any file(s) known to git

I discovered within Commitizen a tmp file is being generated to save the commit message is a converted format so that it can be committed using the contents of the file.

I found the bug on my side so I can suggest a solution. In the git.py:95 file, the code looked as follows:

def commit(message: str, args: str = "") -> cmd.Command:
    f = NamedTemporaryFile("wb", delete=False)
    f.write(message.encode("utf-8"))
    f.close()
    c = cmd.run(f"git commit {args} -F {f.name}")
    os.unlink(f.name)
    return c

This should be changed to:

def commit(message: str, args: str = "") -> cmd.Command:
    f = NamedTemporaryFile("wb", delete=False)
    f.write(message.encode("utf-8"))
    f.close()
    c = cmd.run(f'git commit {args} -F "{f.name}"')
    os.unlink(f.name)
    return c

The error stopped appearing and I was able to complete the commit successfully. Hope this helps. :)

Steps to reproduce

cz c

Note: the computer name must include a space.

Current behavior

Produces a pathspec error ( common in git when a file cannot be found but is being used to commit )

Desired behavior

cz c should complete without the error appearing.

Screenshots

I printed out the full pathspec as it is stored after creating the tmp file. The actual pathspec is above, while the error shows what is being used for the commit. image

Environment

  • commitizen version: 2.32.2
  • python version: 3.9.10
  • Operating System: Windows

Additional environment setup required:

  • computer name must include a space

schmi-schmi avatar Aug 29 '22 07:08 schmi-schmi

Hey thanks for finding this error! if you want feel free to send us a PR with this fix.

woile avatar Aug 29 '22 07:08 woile

Take this issue. c.c. @Lee-W

Cliying94 avatar Mar 30 '24 05:03 Cliying94

@Cliying94 Sure. Let me assign it to you. Thanks for your help!

Lee-W avatar Mar 30 '24 05:03 Lee-W

Closed by: #1039

Lee-W avatar Mar 30 '24 08:03 Lee-W