Skip to main content

Git cOMPare

Project description

GOMP (Git cOMPare)

GOMP is a Git-based tool for comparing branches, designed to work with a rebase-oriented Git workflow. Markforged uses GOMP as both a daily tool for handling commits and merges and as a powerful way to visualize complex histories while preparing releases.

Results of GOMP: feature branch vs main

Read about the Markforged Git workflow on our software engineering blog.

Installing GOMP

GOMP is based on Python 3 and has no dependencies outside of the Python standard library. It is available for installation over pip:

$ pip install gomp

Alternately, you can clone the repository and include the following alias in your shell profile:

$ alias gomp="python /path/to/gomp/gomp.py"

Gomp has been tested on MacOS only but should be compatible with most flavors of Linux.

Using GOMP

With gomp installed, navigate to any directory that has a git repository with multiple branches. Our hypothetical repository has two branches: feature and main. Run:

$ gomp feature main

This command shows a visual comparison between the two branches.

Use the flag --key to see a key explaining the color codes.

Use the flag --recut to receive output that, when entered into an interactive rebase, will put commits from feature on top of commits from main.

GOMP's output is color-coded:

  • Green text means that the commit matches between branches.
  • Yellow text means that a commit on the both branches but the commits are in a different order.
  • Red text means that a commit is on the target branch and not the source branch.
  • Purple text means that a commit is on the source branch and not the target branch.

Contributing to GOMP

Thank you for wanting to help us improve GOMP. Markforged welcomes pull requests to improve GOMP's functionality, reliability, and ease of use. All contributions are subject to our guidelines.

You can learn more about the process of preparing an internal tool for public use on our engineering blog.

The Python 2 version of GOMP is not under active development and is accepting bug fixes only.

GOMP has no dependencies outside of the Python standard library, we'd like to keep it that way.

License

GOMP is released by Markforged under the MIT License.

Project details


Download files

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

Source Distribution

gomp-1.1.1.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

gomp-1.1.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file gomp-1.1.1.tar.gz.

File metadata

  • Download URL: gomp-1.1.1.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for gomp-1.1.1.tar.gz
Algorithm Hash digest
SHA256 231abd8ed579e8529b87af23aa645dde5c296cc1b4d0670e508a63cc98674a9d
MD5 b666b6ed2321c8a191a1e8ef7f3d2611
BLAKE2b-256 2a9b780a623571865c81e6bff82432ebbccb98afa29a4fc7951cb5cd0f6b02fa

See more details on using hashes here.

File details

Details for the file gomp-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: gomp-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for gomp-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b9a5147f15865ae75f6e422363eccab27d7fa49f26faa6e7429571daf19c6ac1
MD5 ee55870d31a8f340da221361afdffd23
BLAKE2b-256 49e45a5bf34c5a7e8b41a47499eedf041c2a7fb2ca2ce9a06560412afb922893

See more details on using hashes here.

Supported by

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