Skip to main content

A tool to automatically split large Git commits.

Project description

split-git-commit

Description

WIP

Example run

$ python3.9 -m pip install split_git_commit
$ cd ~/code/django
$ split-git-commit
Repository: /home/alex/code/django
Branch: apply-pyupgrade-over-django-3.2.12
Target commit: 628e74c8caa349315ff126c732c9055c8ce324e5
Base commit: 869f49bb08e283cd9cef5956e7328055bc0c939a
Computing changes...
  Detected 375 files changed with 2507 lines changed (+1252, -1255)
Splitting changes into parts...
  Maximum file changes per split block: 40
  Desired line changes per split block: 400
Split breakdown:
- Part 1/10. 40 files changed with 216 lines changed (+108, -108)
- Part 2/10. 40 files changed with 196 lines changed (+98, -98)
- Part 3/10. 40 files changed with 200 lines changed (+100, -100)
- Part 4/10. 35 files changed with 395 lines changed (+197, -198)
- Part 5/10. 33 files changed with 400 lines changed (+200, -200)
- Part 6/10. 40 files changed with 194 lines changed (+97, -97)
- Part 7/10. 40 files changed with 332 lines changed (+166, -166)
- Part 8/10. 40 files changed with 154 lines changed (+77, -77)
- Part 9/10. 40 files changed with 267 lines changed (+133, -134)
- Part 10/10. 27 files changed with 153 lines changed (+76, -77)
Create split branches (y/N)?: y
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part1'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part2'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part3'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part4'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part5'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part6'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part7'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part8'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part9'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Creating split branch 'apply-pyupgrade-over-django-3.2.12-part10'...
  Deleting pre-existing branch with the same name
  Creating new branch
  Checking out new branch
  Writing file changes
  Adding files to Git index
  Committing changes
  Done
Checking out original branch 'apply-pyupgrade-over-django-3.2.12'
All done!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

split_git_commit-0.2.0-py2.py3-none-any.whl (5.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file split_git_commit-0.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: split_git_commit-0.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for split_git_commit-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3d95928ed2e107bb284c3f3edb26e8a8e612a9da4064ceb9a9c1c99d0045a829
MD5 1dbc5988a13e77c774e9cac17daef1d1
BLAKE2b-256 0dbfd4bef3bc9762b51aae0dea6831bbafd45e7771a4e8f44560a36286977680

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page