I've been using TkCVS since ages and I am very happy with it. Thank you!
However, there's an annoying bug in merging: the ending revision is ignored. Example: there are revisions 1.1, 1.2, 1.3, 1.4 and 1.5 (HEAD). You are on a branch made from rev 1.1 and want to merge revisions 1.2 to 1.4. When you click in the merge diagram left mouse on 1.4, right mouse on 1.2 and click Diff it will correctly use the following command:
/usr/bin/tkdiff -r "1.4" -r "1.2" "Filename.ext"
However, when you leave the revision selection as-is and click the Merge the following command is used:
cvs update -d -j1.2 -jHEAD Filename.ext
Obviously the second "-j" parameter is wrong, there should have been "-j1.4".