Comments (4)
Maybe inject black fixup commits in between user-created ones? This way the user could attempt to squash related things fairly easily if they want it...
P.S. I also do not like wholesale commits like this
from black_out.
I like this idea, this would allow a clear PR where you can check the diff, and then the repo owner would be resposible for the (madness of) rewriting the whole history.
But is there a way to fixup that wouldn't create rebase conflicts ? Not sure.
I was already surprised that git filter-branch
would manage to blacken all commits without getting lost in applying the diffs. I don't know enough of the git internal specifics, but I guess git filter-branch
is able to work on the state of the tree at each commit, whereas my experience with rebase is that it really much more works on the diff each commit introduces. But, again, I'm no git expert.
from black_out.
You can try injecting two commits, not one. Fixup + its revert. This would probably simplify the interactive rebase part. Then, you could squash those reverts with the following commits...
But yes, you are right. It's not exactly trivial. I'm currently helping out with packaging of pygit2 wheels so hopefully it will be possible to get those easily installable soon. It's interface should simplify plumbing level Git interactions...
from black_out.
Hmm, it's interesting but the --autosquash
flag on rebase only allows moving commits to right after existing ones, and the 2 only commit merge actions, fixup and squash, only merge with the previous commit.
I'll need an example:
there's A ---- B
, you're blackouting the repo, so you'll get 3 commits: A-Black
, A-Black-Revert
and B-Black
: A --- A-Black --- A-Black-Revert --- B --- B-Black
There's 2 possible todo here:
pick A
fixup A-Black
reword A-Black-Revert
fixup B
fixup B-Black
but you'd have to manually enter B's commit message at the reword step, or
pick A
fixup A-Black
pick A-Black-Revert
squash B
fixup B-Black
But, again, you'd have to enter B's commit message at the squash step.
And non of those solutions can be achieved using fixup!
or squash!
commits only wich kinda defeats the purpose...
Except if I'm mistaken ?
from black_out.
Related Issues (9)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from black_out.