[LLVMdev] git

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 mailing list