Git submodules can now track branches

Posted by Cliff Brake on 2013-04-22 | Be the First to Comment

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 | Be the First to Comment

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 | Be the First to Comment

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 | Be the First to Comment

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 | Be the First to Comment

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 +++ [...]