David A. Greene
greened at obbligato.org
Thu Jul 28 14:40:13 PDT 2011
Chris Lattner <clattner at apple.com> writes:
> On Jul 25, 2011, at 3:22 PM, Jason Kim wrote:
> Great point. A potential conversion to git should be motivated by its
> benefits - assuming no development policy change - and that benefit
> needs to be greater than the various costs of conversion.
Here are the most important benefits I see for the LLVM projects:
- git greatly simplifies the work for groups that want to keep a private
repository for internal development but eventually want to move that
code to the public repository. Right now, there is NO tool support
for doing this. It is a royal pain.
- git allows different groups to share a codebase outside of
master/upstream. Think of two academic research groups who want to
explore a new transformation but don't want that work pushed to the
public until it's done and published. This kind of development has no
support whatsoever in svn.
- git provides a set of tools built-in to interact with the submit patch
-> review -> update patch -> submit patch iterative process. I'm
thinking mainly things like git send-email, git rebase -i and git add -i.
- git allows easy backtracking of decision points, allowing one to
explore a line of development and then reformulate the set of commits
made before actually sending them upstream to master. For me, it is
more helpful to be able to just code up a feature and once it's
working, go back and break out the individual patch sets into logical
groups. I tend to poorly anticipate how a feature/fix should be
presented to upstream before I've actually implemented it. git
decouples those two activities.
More information about the llvm-dev