Wednesday, January 28, 2009

Restore a deleted file from subversion.

If you want to restore a deleted file from svn there are a few ways to do it, and some work better than others.

The subversion book gives the basic info for restoring a file using either merge or copy. However, the method used in the example for copy didn't work for me. So let's say you delete a file "Stuff.java" in revision 100. Then you would want to restore the file, using the previous revision, into the current working directory like this.

svn copy -r 99 http://svn.mycompany.org/repos/myproject/Stuff.java Stuff.java

My svn server didn't seem to handle the revision option correctly, and kept telling me that the file didn't exist. So an alternative syntax looks like this:

svn copy http://svn.mycompany.org/repos/myproject/Stuff.java@99 Stuff.java

This second syntax, which I didn't see mentioned in the svn book, worked like a charm for me.

If you don't know in which revision the file was deleted, you can use svn log in the directory to see a history of file changes.

After you copy the deleted file, you are not quite finished. You'll still have to commit your changes. So something like svn commit -m "Restore file Stuff.java" will finish the job.


Monday, January 12, 2009

RPM for Pidgin msn pecan

Apparently Microsoft changed something on the MSN Messenger servers today, and this was causing problems for many people using Pidgin. One workaround is to use the modified msn plugin from google. But I couldn't find any Fedora rpms for this. So I decided to make one.

The rpm for Fedora 10 is here.
And the source rpm is here.