This is a port of Facebook's hg absorb. Facebook demoed hg absorb which is probably the coolest workflow enhancement I've seen to version control in years. Essentially, when your working directory has uncommitted changes on top of draft changesets, you can run hg absorb and the uncommitted modifications are automagically folded ("absorbed") into the appropriate draft ancestor changesets. This is essentially doing hg histedit + "roll" actions without having to make a commit or manually make history modification rules. The command essentially looks at the lines that were modified, finds a changeset modifying those lines, and amends that changeset to include your uncommitted changes. If the changes can't be made without conflicts, they remain uncommitted. This workflow is insanely useful for things like applying review feedback. You just make file changes, run hg absorb and the mapping of changes to commits sorts itself out. It is magical.

Features

  • git absorb will automatically identify which commits are safe to modify
  • With the --and-rebase flag, fixup commits will be automatically integrated into the corresponding ones
  • The easiest way to install git absorb is to download an artifact from the latest tagged release
  • Artifacts are available for Windows, MacOS, and Linux
  • git add any changes that you want to absorb
  • git absorb works by checking if two patches P1 and P2 commute

Project Samples

Project Activity

See All Activity >

Categories

Git

License

BSD License

Follow git absorb

git absorb Web Site

Other Useful Business Software
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of git absorb!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Rust

Related Categories

Rust Git Software

Registered

2022-12-20