callowayproject / bump-my-version

A small command line tool to simplify releasing software by updating all version strings in your source code by the correct increment and optionally commit and tag the changes.
https://callowayproject.github.io/bump-my-version/
MIT License
242 stars 17 forks source link

CalledProcessError git commit -F /tmp #202

Open aidiss opened 1 week ago

aidiss commented 1 week ago

Description

Trying to bump version, with commit enabled.

Getting strange error message about git trying to commit some tmp file. No more info provided.

What I Did

$ bump-my-version bump $BUMP_TYPE --verbose
Starting BumpVersion 0.23.0                                                     
Reading configuration 

...

  Failed to run ['git', 'commit', '-F', '/tmp/tmpbl8vme_1']: return code 128,   
output: b''      
  Committing to Git with message 'Bump version: 1.1.26 → 1.1.27'                
  Failed to run ['git', 'commit', '-F', '/tmp/tmpbl8vme_1']: return code 128,   
output: b''                                                                     
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /usr/local/lib/python3.10/site-packages/bumpversion/scm.py:74 in commit      │
│                                                                              │
│    71 │   │                                                                  │
│    72 │   │   try:                                                           │
│    73 │   │   │   cmd = [*cls._COMMIT_COMMAND, f.name, *extra_args]          │
│ ❱  74 │   │   │   subprocess.run(cmd, env=env, capture_output=True, check=Tr │
│    75 │   │   except (subprocess.CalledProcessError, TypeError) as exc:  # p │
│    76 │   │   │   if isinstance(exc, TypeError):                             │
│    77 │   │   │   │   err_msg = f"Failed to run {cls._COMMIT_COMMAND}: {exc} │
│                                                                              │
│ /usr/lib64/python3.10/subprocess.py:526 in run                               │
│                                                                              │
│    523 │   │   │   raise                                                     │
│    524 │   │   retcode = process.poll()                                      │
│    525 │   │   if check and retcode:                                         │
│ ❱  526 │   │   │   raise CalledProcessError(retcode, process.args,           │
│    527 │   │   │   │   │   │   │   │   │    output=stdout, stderr=stderr)    │
│    528 │   return CompletedProcess(process.args, retcode, stdout, stderr)    │
│    529                                                                       │
╰──────────────────────────────────────────────────────────────────────────────╯
CalledProcessError: Command '['git', 'commit', '-F', '/tmp/tmpbl8vme_1']'       
returned non-zero exit status 128.                                              

 Usage: bump-my-version bump [OPTIONS] [ARGS]...                                

 Try 'bump-my-version bump -h' for help                                         
╭─ Error ──────────────────────────────────────────────────────────────────────╮
│ Failed to run ['git', 'commit', '-F', '/tmp/tmpbl8vme_1']: return code 128,  │
│ output: b''                                                                  │
╰──────────────────────────────────────────────────────────────────────────────╯
coordt commented 1 week ago

@aidiss Let me first thank you for providing such a complete error report! I'll look into it today.

coordt commented 1 week ago

Version 0.24.0 improves the reporting of errors from git commands. Can you try this version? The underlying issue is from git, and is somewhat difficult to debug.

Let me know what the new results are.

aidiss commented 1 week ago

Here is 0.24.0 error:

subprocess.CalledProcessError: Command '['git', 'commit', '-F', '/tmp/tmp6d4i_ucn']' returned non-zero exit status 128.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/bin/bump-my-version", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.10/site-packages/rich_click/rich_command.py", line 367, in __call__
    return super().__call__(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/rich_click/rich_command.py", line 152, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/bumpversion/cli.py", line 309, in bump
    do_bump(version_part, new_version, config, found_config_file, dry_run)
  File "/usr/local/lib/python3.10/site-packages/bumpversion/bump.py", line 112, in do_bump
    commit_and_tag(config, config_file, configured_files, ctx, dry_run)
  File "/usr/local/lib/python3.10/site-packages/bumpversion/bump.py", line 142, in commit_and_tag
    config.scm_info.tool.commit_to_scm(list(commit_files), config, ctx, extra_args, dry_run)
  File "/usr/local/lib/python3.10/site-packages/bumpversion/scm.py", line 179, in commit_to_scm
    cls.commit(
  File "/usr/local/lib/python3.10/site-packages/bumpversion/scm.py", line 79, in commit
    output = "\n".join([x for x in [exc.stdout, exc.stderr] if x])
TypeError: sequence item 0: expected str instance, bytes found
coordt commented 1 week ago

SIGH Work too fast and make stupid mistakes. 0.24.1 has a test for and fixes that error. Try again with 0.24.1

coordt commented 6 days ago

@aidiss Just checking in to see if you have tried it again with 0.24.1?