Is it easier to manage code with Git or Bazaar?

Roman Kagan picture Roman Kagan · Jun 18, 2009 · Viewed 12.4k times · Source

I'm researching the Git and Bazaar capabilities and wonder which one has more feature-rich code management?

Answer

VonC picture VonC · Jun 18, 2009

I suppose you also read Bazaar vs. Git article, but in the end, it all comes down to what you are looking for in term of "feature-rich code management".

  • If, by code management, you are referring to file (and directories and renaming), go with Bazaar.

  • If, by code management, you are looking at content management, Git is designed to manage just that (the staging area, for instance, allows you to record what current content you want to commit, even though you have already begun to make some large modification you end up not wanting to commit in the current branch)

To be sure, re-read Linus's original vision for Git (back in April 2005). If you do agree with it, chances are Git will deliver what you want. In short:

  • very simple model (blob-tree-commit-tag)
  • no metadata added (for tracking renaming for instance)
  • "strong" principles like:
    • "files" do not matter. The only thing that matters is how "content" moved in the tree
    • You have an SCM that tracks what changed at the only level that really matters, namely the whole project. None of the information actually makes any sense at all at a smaller granularity, since by definition, a "project" depends on the other files, or it wouldn't be a project

That "all project" notion is actually a strength and a limit for Git in term of project management: you should not seek to put everything into one Git repository.