bugs, fixes and targeting Juju versions

Jesse Meek jesse.meek at canonical.com
Tue May 5 01:03:48 UTC 2015


Hi All,

tl;dr `git diff --no-prefix master > diff.patch; patch -p0 < diff.patch` 
is useful for landing bug fixes in different versions of juju.

As a lot of us are currently bug hunting and needing to land fixes in 
multiple versions of Juju, I thought I'd share my process of doing that 
(maybe it's helpful?):

So say you've branched master, let's call it "bug-fix-master-branch", 
it's got your fix but you need to land it in 1.24. So branch 1.24, let's 
call it bug-fix-124, and do the following:

# generate a diff of your changes that can be used with patch 
(--no-prefix master is the magic flag that generates the right format)
(bug-fix-master-branch) $ git diff --no-prefix master > diff.patch

# don't add or commit, checkout the other branch
(bug-fix-master-branch) $ git checkout bug-fix-124

# diff.patch is still there, unstaged. So use it to add the patch
(bug-fix-124) $ patch -p0 < diff.patch

# do a sanity check
(bug-fix-124) $ git diff

# remove the patch file
(bug-fix-124) $ rm diff.patch

You've now got a bug-fix branch eligible for automatic merging targeting 
1.24.

Cheers,
Jess



More information about the Juju-dev mailing list