Monday, December 24, 2012

TI Supplies the Gingerbread Source

Gingerbread (2.3) is a nice starting point.  I lot of products still use 2.3, and it's smaller and more manageable than something like Jellybean (4.2). the current top-of-the-line version.

TI offers a 2.3.4 source tarball for the Beaglebone, which is a hefty, 2.6G and takes me an hour and a half to download.  Once done, though, I simply untar them, cd into the directory, and see ...
a single README.txt file.

A du -sh of the directory says it's 2.7G, so either the README file is huge or there's something else going on.

Well, sure enough, ls -al reveals a .repo/ directory, and the README says this:
Sources are contained in the form of pre-packaged repo.Please use below command to populate sources.
$ ./.repo/repo/repo sync --local-only
Fine, then, let's give it a shot.

The .repo/ directory is a directory full of git repositories and associated metadata for the repo command, a Python program layered on top of git that manipulates a suite of repositories. Looks like instead of simply adding a new command to the git suite, Google decided to build another command that has a whole, new set of options with completely different names. For example, instead of git repos pull or even repo pull, it's repo sync.

Idiots.

There's a lot of stuff in the repo directory, so while that's happening I'll look at the man page for the repo command, which is a layer on top of git, to see what it says about "--local-only".

Aha. --local-only just updates the working tree from the local repositories, and doesn't fetch anything from the remotes. Just like it sounds, at least.  It's git checkout for repos.

Well, that sync wasn't as bad as I feared. It only took five-and-a-half minutes to check out the code. Good!

As always, here's a script.

No comments:

Post a Comment