Why Git?

Posted by Cliff Brake on 2016-08-18 | Comments are off for this article

Some time back, I gave a presentation that included an overview of the Git version control system.  I still occasionally get asked why Git should be used instead of Subversion, as it seems harder at first.  Most developers don’t really understand Git until they have used it for awhile, and then they will have an […]

Git submodules can now track branches

Posted by Cliff Brake on 2013-04-22 | Comments are off for this article

As of version 1.8.2, Git submodules can now track branches instead of specific commits.  This is good news as in many cases, this is exactly the behavior we want.  However, Git submodules are still not as flexible as Google repo, but since submodules are built into Git, the submodule command is a good solution in […]

Git and Distributed Development

Posted by Cliff Brake on 2011-03-29 | Comments are off for this article

This is part of an ongoing series of articles on the Git version control system. The “many repository” paradigm has been partly driven by the distributed development paradigm.  Git solves the problem of multiple developers working in multiple repositories very well.  Because we want to use and customize projects like the Linux kernel, U-boot, and […]

Git and Why Multiple Repositories

Posted by Cliff Brake on 2011-03-17 | Read the First Comment

This is part of an ongoing series of articles on the Git version control system. This article discusses the trend in software configuration management toward multiple repositories, rather than one large repository.  In the past when many companies used Subversion or comparable systems, there was typically one huge company repository (I’ve seen them in the […]

Git Overview Screencast

Posted by Cliff Brake on | Read the First Comment

This screencast (use Firefox to view the screencast) provides an overview of the Git version control system.  There are 3 features of Git that are especially interesting: many repositories (vs. one large repository) distributed development cheap branches The fundamental driver for better tools is increasing system complexity.  More and more we are required to manage […]

Git submodules: what to do when you commit to (no branch)

Posted by Cliff Brake on 2010-06-17 | 3 Comments to Read

When using git submodules, eventually you’ll run into a situation where a workspace has checked out a submodule as (no branch), and you unknownly make modifications and commits to (no branch).  Now what?  It turns out Git has a very useful feature named reflog.  Reflog keeps a local time based log of all activity.  That […]

Best practices for kernel development with OpenEmbedded

Posted by Cliff Brake on 2009-10-13 | 2 Comments to Read

A common question is how do you do kernel development with OpenEmbedded?  Typically, OpenEmbedded builds a kernel by checking the source out of a git repository, or by applying patch files to a released version of the kernel.  See the many recipes for examples.  This works very well for a Linux distribution build system, but […]

How to capture source changes to an OpenEmbedded package

Posted by Cliff Brake on 2009-07-14 | 4 Comments to Read

One task that is a often confusing to new OpenEmbedded users is how to capture changes to the source code for a package/recipe.  First, lets review the progression in tools use to capture source code changes. In days of yore, developers often used gnu diff to capture modifications to a source tree.  The typical practice […]

Howto use a Git topic branch to maintain a patchset, and isolate problems

Posted by Cliff Brake on 2009-01-09 | Comments are off for this article

The more I use Git, the more I am really impressed with some of its capabilities.  What is Git?  Git is a very advanced distributed source code control system that can do some very neat things.  For the average developer using open source software, we are mainly concerned about maintaining patch sets (often called a […]

Benefits of OpenEmbedded switching to Git

Posted by Cliff Brake on | Comments are off for this article

Recently the OpenEmbedded project has switched to the Git version control system.  This is good news for many reasons.  The obvious reasons are Git is faster than Monotone, handles branching better, has lots of nice features, larger user base, etc.  Monotone has served us well, but as new tools become available, it is time to […]

more fun with git branches

Posted by Cliff Brake on | Comments are off for this article

One thing you learn after using git for awhile is you get used to trying random things, and it will often just work.  For example, if I want to know the differences between Linus’s kernel tree, and the Wolfson dev branch for a particular directory: cbrake@happy:/build/linux-2.6$ git diff –stat origin/master..wolfson/dev sound/soc/codecs sound/soc/codecs/Kconfig | 125 +++ […]