How to Change an SVN Commit Message Retroactively

Changing an SVN commit message retroactively involves two steps. First, the repository must have a hook enabled. Then the svn client must issue a propset command.

On the subversion server:

cd /var/www/svn/myrepository/hooks
cp pre-revprop-change.tmpl pre-revprop-change
chmod u+x pre-revprop-change
chown apache:apache pre-revprop-change

Line-by-line explanation:

Change to the subversion repository's hooks directory.
Copy the template file that is already there to a file without the .tmpl extension.
Make the file executable.
Change ownership of the file to the apache user (this is the user that Apache runs as on Fedora-like systems such as RHEL6).

Changes to log messages are now allowed.

Now an svn command can be issued on the client at the command line to revise the log message for a certain revision (in this case, revision 42):

svn propset -r 42 --revprop svn:log 'my new commit message'
property 'svn:log' set on repository revision 42

iSCSI on RHEL6: Targets, Initiators and SANs

Here are the slides from the presentation I gave in the 2013 Spring Linux Presentation Series at Iowa State University.

iSCSI on RHEL6: Targets, Initiators and SANs (1.5MB PDF)

This adapter takes the guesswork out of iSCSI configuration. Just plug it into your USB port! Apologies to Brian Campbell.


Solved: yum says TypeError: coercing to Unicode: need string or buffer, list found

You to run a simple yum update and yum gives you a traceback full of python info. Huh?

up2dateErrors.py212__init__TypeError coercing to Unicode need string or buffer, list found

Traceback (most recent call last)
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 285, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 105, in main
  File "/usr/share/yum-cli/cli.py", line 228, in getOptionsConfig
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 901, in <lambda>
    conf = property(fget=lambda self self._getConfig(),
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 358, in _getConfig
  File "/usr/lib/python2.6/site-packages/yum/plugins.py", line 184, in run
    func(conduitcls(self, self.base, conf, **kwargs))
  File "/usr/share/yum-plugins/rhnplugin.py", line 114, in init_hook
    login_info = up2dateAuth.getLoginInfo()
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 219, in getLoginInfo
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 186, in login
    li = server.up2date.login(systemId)
  File "/usr/share/rhn/up2date_client/rhnserver.py", line 68, in __call__
    raise up2dateErrors.SSLCertificateVerifyFailedError()
  File "/usr/share/rhn/up2date_client/up2dateErrors.py", line 212, in __init__
    f = open(certFile, "r")
TypeError coercing to Unicode need string or buffer, list found

Local variables in innermost frame
up2dateConfig <up2date_client.config.Config instance at 0x2983a70>

What is happening? Has the user been messing around with the python installation and broke it? Maybe there's something wrong with the certificates! After all, it does say SSLCertificateVerifyFailedError() in the abrt output.

No, it's far simpler. Just check your system time by running date. In my case, the local time had been erroneously set to a year earlier. (Note my subtle use of the passive voice here.)

After time was set to a sane value (and ntpd was set to start at boot with chkconfig ntpd on), all was well.

Renewing SAS for Linux at the Command line

sudo /usr/local/SAS/SASFoundation/9.3/sassetup

That gives you this:

Welcome to SAS Setup, the program used to renew your SAS software.

Some conventions used throughout SAS Setup are:
       *   indicates which menu selection is the default choice
     ( )   indicates the default response to a prompt
       !   starts a sub-shell on your system
       h   displays help for a menu selection or prompt
       g   goes back to a previous menu selection or prompt
       q   quits SAS Setup at any point

Setup Utilities Menu
* 1.  Renew SAS Software
   g: Go back   q: Quit    h: Help
Action? (1)

If you continue, you can specify your SETINIT file:

SAS Installation Data (SID) is a text file required to install a customized
version of SAS. The SID was e-mailed to your SAS Installation Representative. If
you would like to receive the SID via e-mail now, please use URL to retrieve it
before continuing the installation.


Specify the file containing SAS Installation Data.

Press return, and hopefully you'll see:

SAS Installation Data retrieved successfully.


Applying SAS Installation Data
Please wait...

SAS Installation Data application is complete.


Ubuntu 64, SAS 9.2 & What I DO all Day
Usage Note 10838: When updating the SAS 9 license, "ERROR: 180-322: Statement is not valid or it is used out of proper order" error message appears


Subscribe to RSS - RHEL6