interfasys
Verified User
If you're like me, you've made some modifications to disable unwanted features or to patch some apps so that they behave the way you want to. You probably also has lots of custom config files.
Tracking changes in CB is a pain, if not impossible. We learn about new features if we track this forum, but even then, there is usually no details about their implementation.
I'm not having a go at Martynas who I respect a lot for his work on CB, but unless CB moves to Github or something similar, then it is what it is.
So, my temporary solution is to use a script which generates diffs every time you update CB. Ideally those would be pushed to Github or something, but for most people, being able to read diff files to see what has changed should be enough.
As you can see, it's very basic. Make sure to create the diffs folder as I'm not doing any checks.
You can remove the last part, it's used by us to patch CB with our changes.
Hope this helps others.
Tracking changes in CB is a pain, if not impossible. We learn about new features if we track this forum, but even then, there is usually no details about their implementation.
I'm not having a go at Martynas who I respect a lot for his work on CB, but unless CB moves to Github or something similar, then it is what it is.
So, my temporary solution is to use a script which generates diffs every time you update CB. Ideally those would be pushed to Github or something, but for most people, being able to read diff files to see what has changed should be enough.
Code:
#!/usr/bin/env bash
# This script has been written by interfaSys sàrl, Switzerland
# Copyright © 2013-2015 interfaSys sàrl, Switzerland. All rights reserved.
# Official company website: http://www.interfasys.ch
#
# Safely upgrade CB while keeping track of changes
#
# We need a reference to the current build number in order to be able to see the differences
OLDVERSION=`./build version | awk '{print $3}' | cut -d\) -f1`
# update build
./build update
# Get the new revision number
NEWVERSION=`./build version | awk '{print $3}' | cut -d\) -f1`
cp ./build build.${NEWVERSION}
cp -Rf configure configure.${NEWVERSION}
# Only generate diffs if there is a version change
if [ ${NEWVERSION} -gt ${OLDVERSION} ]; then
# Generate diff files
diff -curB build.${OLDVERSION} build > diffs/build.${OLDVERSION}.to.${NEWVERSION}.diff
diff -curB configure.${OLDVERSION} configure > diffs/configure.${OLDVERSION}.to.${NEWVERSION}.diff
fi
# Now we can patch the version to incorporate our changes
patch --check -p0 < cb.patch
echo "If no errors were reported, then patch using: patch -p0 < cb.patch"
exit 0;
As you can see, it's very basic. Make sure to create the diffs folder as I'm not doing any checks.
You can remove the last part, it's used by us to patch CB with our changes.
Hope this helps others.