[LLVMdev] git

David A. Greene greened at obbligato.org
Fri Jul 29 06:42:12 PDT 2011


jo at durchholz.org writes:

> Currently, I tend to break out small incremental changes to they're
> easier to review, but this works only up to a certain point.  What
> happens is that I find I need some "enabler" change. Adding a data
> structure to carry enough context to the place where my new code needs
> it.  The other thing is "sideline work": while reviewing code for my
> change, I find something unrelated that should really be fixed right
> away.  Low-hanging fruit and such.  I commit enablers and sideline
> changes, but I find I can't do so if there is already main-task work
> done in that file.

Exactly right.

> With git, I can single out individual changes in a file and send them off
> as a preparatory commit.
> With SVN, I have to set up a separate workdir, start the IDE, do the
> change, and commit it; then merge it back into my mainline workdir. That's
> so much more work that it disrupts the flow of work, so I don't do it and
> end with a jumble of unrelated changes in a single patch.
> Anybody I'd be sending the patch to would probably reject it as "too many
> unrelated changes". I'd probably end up redoing any change twice: once
> just to get a clean base, then doing it "right" as a series of
> individually applicable small patches.
> Which is raising the entry barrier for contributing to LLVM considerably.
> At least for people with a workflow similar to mine.

This is absolutely true and mirrors my experience.  It became much
easier to respond to patch feedback with git than it had been with svn.

                             -Dave



More information about the llvm-dev mailing list