cupcake vs donut

30 views
Skip to first unread message

rukiman

unread,
Apr 26, 2009, 9:25:13 PM4/26/09
to android-platform
Ok I initially thought when I was getting cupcake source from git
beginning of the year I was getting a label or tag. However, I now
realize that cupcake is actually a branch and is evolving.
Furthermore, I download donut and did a diff between the two and all
the source code matches between the two versions which surprised me
more. Having said that I can see donut has three or so new modules i.e
emojicon etc.

My question is there a concept of labels in git? If so how to use it?
I just want to be able to get a source code say today, and be able to
get the same snapshot in a few months.

What exactly is donut if its pretty much the same as cupcake?



Jean-Baptiste Queru

unread,
Apr 26, 2009, 10:01:40 PM4/26/09
to android-...@googlegroups.com
branches with codenames (i.e. cupcake, donut), as well as the master
branch, are evolving, they're not frozen like tags.

There are tags for android-1.0, android-sdk-1.5-pre and android-1.5,
which aren't evolving.

Donut is the codename for the project that immediately follows cupcake
(you can figure out the ordering by realizing that the codenames are
in alphabetical order).

At this point, indeed, the code in donut is identical to that in
cupcake. The focus has been primarily on cupcake, and while donut is
ready to receive changes it hasn't had any yet.

Within your own git projects, you can use branches or tags to mark
specific points in time and get back to them (just don't delete your
git directories).

At the level of repo (which wraps 100+ git projects), you can use the
output of "repo manifest -r -o -" to create a manifest that you'll
then be able to re-use to re-download the exact same source code (as
long as you only reference changes that exist on the server, of
course). Just save the manifest in a precious place, and you'll be
able to re-download everything else from the server.

JBQ
--
Jean-Baptiste M. "JBQ" Queru
Android Engineer, Google.

Questions sent directly to me that have no reason for being private
will likely get ignored or forwarded to a public forum with no further
warning.

rukiman

unread,
Apr 26, 2009, 11:21:46 PM4/26/09
to android-platform
Thanks for your reponse. So let me see if I get this.

So I create a ~/bin directory and put repo in there

then I create a ~/mydroid directory and go in there and type

repo init -u git://android.git.kernel.org/platform/manifest.git -b
cupcake

then I type
repo manifest -r -o -

?? I'm not quite sure what the order of things are.

rukiman

unread,
Apr 26, 2009, 11:26:11 PM4/26/09
to android-platform
Also how do you specify to get code from a tag? and where can I find a
list of tags?

On Apr 27, 12:01 pm, Jean-Baptiste Queru <j...@android.com> wrote:

Rajesh S

unread,
Apr 27, 2009, 4:29:25 AM4/27/09
to android-platform
Tags and branches are detailed by JBQ here:
http://groups.google.com/group/android-platform/browse_thread/thread/40838f5d4c395c36?hl=en

Can't easily get from tag for now. So they created branches
corresponding to a few release tags.

Every time you use repo sync the local copy becomes exactly the same
as the (evolving) current state of the corresponding branch on the
server.
But if you wish to go back to say yesterday's synced state then you
must have done a
repo manifest -r -o -
to get the xml file corresponding to that *before* doing repo sync
today.
Store that xml with a file name that suggests the date to you.
Something like manifest_master_2009_04_27.xml

So when you wish to go back to that state all you need to do is
replace the local manifest file with that in your .repo directory.

Cheers,
Rajesh.S
Reply all
Reply to author
Forward
0 new messages