Script to track CB changes

interfasys

Verified User
Joined
Oct 31, 2003
Messages
1,821
Location
Switzerland
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.

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.
 
Back
Top