Moving changes from 4.1.1 to 4.1.2

297 views
Skip to first unread message

Jean-Baptiste Queru

unread,
Oct 11, 2012, 1:56:56 PM10/11/12
to android-...@googlegroups.com
I've received several questions about the best way to move changes
from 4.1.1 to 4.1.2. The situation is a little bit more complex than
usual, so I'll try to provide a longer explanation. If you maintain
private changes on top of 4.1.1 and want to move to 4.1.2, you'll
hopefully find this helpful:

-All the development for both 4.1.1 and 4.1.2 happened in the jb-dev
branch, at the same time. That is, Google engineers only made changes
for 4.1.1 and 4.1.2 in that branch.

-On July 3, jb-dev was fully merged into jb-release for the last time.
After that date, additional changes that were made for 4.1.1 got
cherry-picked from jb-dev into jb-release. That's why those builds are
called JRO03x (JR means jb-release, and O03 is the Android date code
for July 3 2012).

-On July 11, we created jb-mr0-release from the state of jb-release at
that time.

-On August 16, we built JRO03R, i.e. android-4.1.1_r6 (that's the
current head of jb-release in AOSP).

-On August 23, jb-dev was fully merged into jb-mr0-release for the
last time. After that date, additional changes that were made for
4.1.2 got cherry-picked from jb-dev to jb-mr0-release. That's why
those builds are called JZO54x (JZ means jb-mr0-release, and O54 is
the Android date code for August 23 2012).

-On October 2, we built JZO54K, i.e. android-4.1.2_r1 (that's the
current head of jb-mr0-release in AOSP).

-Because the development of 4.1.1 and 4.1.2 happened in the same
development branch, it was not possible to set a straight fast-forward
between those like I normally try to do between our release branches.

The raw data for that is in AOSP: in the build project, you can run
"gitk aosp/jb-release aosp/jb-mr0-release" and the shape of the
history indirectly tells the story.

When moving from 4.1.1 to 4.1.2, the following points are especially relevant:

-The commits in jb-release before July 11 all exist in jb-mr0-release.

-The commits in jb-release after July 11 were cherry-picked from
jb-dev before August 16. Those commits that are the result of
cherry-picks aren't in the ancestry of jb-mr0-release.

-All the commits in jb-dev before August 23 are in jb-mr0-release.
That includes the source commits of all the cherry-picks mentioned in
the previous point.

Putting those together, that means that there are no commits in
jb-release that don't also have equivalents in jb-mr0-release. In
turn, that means that you can safely run "repo forall -c git merge -s
ours android-4.1.1_r6" in a 4.1.2_r1 client. From there, subsequently,
you can safely run a plain git merge of any branch you've got that
originates from any of the 4.1.1 tags, which will merge your changes
over.

JBQ

--
Jean-Baptiste M. "JBQ" Queru
Technical Lead, Android Open Source Project, 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.
Reply all
Reply to author
Forward
0 new messages