What is TortoiseCVS?
Why don't the icon overlays appear?
Why do the overlay icons sometimes change to random graphics?
Yeuch! Those icons are
grotesque, I want better ones!
Ooops! I accidentally removed a file, and now it's gone!
When I remove a file it vanishes, how do I commit it?
How do I discard a change, reverting to the version in the repository? (Undo Checkout in Sourcesafe)
Can you recommend an external diff program?
How do I change the external diff program?
Can I mix and match with WinCVS or the command line?
Can I work on lots of modules from different repositories at once?
SSH doesn't work, help!
How do I make the SSH support less clunky?
Can I use Plink from the Putty suite of tools for SSH access?
What happened to exclusive locking or announcing edits?
How does TortoiseCVS handle binary files?
Can I customise the flags sendt to CVS?
Tell me about the secret hidden features!
How do I uninstall TortoiseCVS?
TortoiseCVS lets you work with files under
CVS version control directly
from Windows Explorer.
- If you are using Windows NT or 95, you need to install the IE4 shell or desktop
extensions to get a more recent version of Explorer.
To do this install IE4, and
choose Yes to install the active desktop. Don't worry, you can turn off the
actual active desktop later by right clicking on it. It's the new version of
Explorer that we are after.
If you've already installed IE5, you must either:
- Uninstall IE5 and then install IE4 with desktop extensions, and then install IE5
again. What a palaver.
- Run IE5 setup with command line switches to install the IE4 desktop (shell)
extensions. This may cause problems, read this usenet thread for the source of this information.
The command must be run from the folder that contains the ie5setup.exe
file. Some users have reported that the browser was initially unstable
afterwards, but was fixed by reinstalling the browser only, others
simply used the IE5 repair procedure.
For Win95:
ie5setup.exe /c:"ie5wzd /e:IE4Shell WIN /I:Y"
For WinNT:
ie5setup.exe /c:"ie5wzd /e:IE4Shell NTx86 /I:Y"
Even when you've done this, TortoiseCVS activates the icons in Explorer only,
as Windows NT/95 give errors if they are activated in the File Open dialog.
You can still use the context menus though.
- If you're using an IntelliPoint mouse driver, and launching Explorer via
a mouse click, you need to upgrade from version 3 to version 3.2 of IntelliPoint.
Strangely, launching Explorer from the Start menu gives icons in this case, but
not when launched from the mouse.
The Windows icon cache is a fairly buggy creature. You can solve
this in one of the following ways:
- Install Microsoft's TweakUI and run the option to
rebuild icons.
- Or increase the icon cache size. Go to
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
and add a new key called "Max Cached Icons". The default value is
512 - try increasing it to 2048.
- Or delete the file called ShellIconCache in your Windows directory. And
reboot.
You can download three contributed sets:
Barracuda - from the
folk who make Barracuda for Enhydra
Cosmin - from Cosmin
Smeu
Timo - from Timo Kauppinen
To install them, you need to work somewhat to persuade the dodgy Windows
icon cache to refresh itself. Either use
TweakUI to rebuild the icon cache, or do it manually
yourself:
- Copy the files to the directory where you installed TortoiseCVS.
- Delete the file C:\Windows\ShellIconCache.
- Change resolution between 256 and TrueColour and back again and/or
reboot.
- If that doesn't work, delete ShellIconCache when Explorer isn't
running. Under Windows NT/2K you can kill Explorer with the task manager,
and delete it from the command prompt. In the DOS-based versions of
Windows, shut down to a DOS prompt, and delete the file there. It is
a hidden file, so use "attrib -h" to show it before you can delete it
from DOS.
The default icons were carefully chosen to be visible on top of other
icons. Their main flaws are that they are ugly, useless to colour
blind people, and the conflict icon is too similar in colour. However,
they are always visible, even in small icon view in Explorer, and even
when the file has a complex icon of its own.
If you make your own set, or improve one of the existing sets, then
please send them to me. I would love to change the default icons that
come with TortoiseCVS, but will need a bit more persuading that a
particular set is good before I do so.
You can find the file in your recycle bin. Or just choose Undo
Delete (Ctrl+Z) from Explorer's Edit menu.
Easy, you commit the whole directory! Right click in the Explorer
window next to the file, and choose commit. I nearly always
commit things from the top level directory - it is recursive through the
whole project.
Delete the file, and then right click on the directory that it was in and
do CVS Update. You can revert all your changes by deleting all the files
and folders in a directory (except the special CVS folder) and doing CVS
Update on the directory.
The freeware ExamDiff
is brilliant, and works well with TortoiseCVS. The open source
WinMerge is also great, and
I'd like to include it with TortoiseCVS at some point. If you need different
diff programs for different file types (one for text files, one for binary word processor
documents...) you should use meta-diff.
After you've selected the diff program for the first time it isn't
obvious how to change it. Hold down Control while you click on the
CVS Diff menu option.
Yes, you can check out a module with WinCVS and use it in TortoiseCVS or
vice versa. If you've installed a command line client you can also mix
with that. The only thing you can't do is work on a repository that was
checked out in Unix, because of carriage return/line feed incompatibilities
in the CVS/* files.
Yes, you can. This is a standard feature of CVS. Each directory which was
checked out of CVS remembers where it came from (look at the files in the
local subfolder called CVS to find out how). You can even multiply select
modules which came from different places, and update or commit them all at
once.
Some people have been known to reboot between changing repositories to
change their HOME environment variable. You do not need to do this!
It can be tricky to get SSH support working. Things to try are:
It is a bit clunky at the moment. Whenever you perform a CVS operation, a DOS
window will pop up. You must type your SSH password in there and press return.
To avoid doing this, you'll need to set your home directory to somewhere useful
(use CVS->Prefs), and generate SSH keys in there. Make them not protected by a
pass phrase. Then upload your public key to the server. If you don't know
what I mean, then either read the documentation for SSH on a Unix machine, or
try using Plink from the next question.
You can use the excellent Putty suite of tools instead of the SSH which comes with TortoiseCVS. To
do this copy Plink.exe to the TortoiseCVS folder, and rename SSH.exe to replace
the SSH.exe that is there already. Important note: This only works if
you make a Putty profile, and use that name as the server for checkout in
TortoiseCVS. The profile must have an auto-login username. You probably want to
run Pageant in the background so you only have to enter the passphrase once. Read
the Putty documentation for more details.
TortoiseCVS doesn not currently support exclusive locking by either the new
-c switch or by cvs admin. Nor does it support the various features for
announcing that you are editing a file and watching for other editors.
Contributions on this are welcome.
If you're on a small team and you have never tried working without these
features, please give it a go. We've found the concurrent nature of CVS works
very well.
CVS can automatically merge text files if two people change them at the same time,
but it doesn't do so with binary files. It simply says there is a conflict,
gives you a copy of both files, and lets you rsolve it. Because of this
you may want to use text files wherever possible. For example, use HTML
or persuade Word to save as a text XML file.
TortoiseCVS tries to automatically detect whether a file is binary or text when
you add it. Binary files are stored unchanged by CVS. Text files have their
line end characters converted for different operating systems, and keywords expanded
so you can easily tell who last changed a file and when. Sometimes TortoiseCVS
can't confidently perform this automatic detection and it will ask you what
type the file is.
If you want extra confidence than the automatic binary/text detection, read the
section about binary
files in the CVS manual. Then add an entry to the cvswrappers file to
ensure files with specific extensions are stored as binary.
To some extent you can. Make a file in your home directory called .cvsrc.
You can find where the home directory is by doing CVS->Prefs. The format of .cvsrc
is explained here.
For example, if you want to use -F on all tag commands so it moves tags, add the
line "tag -F" to .cvsrc.
There are some registry keys which turn on experimental features
or help debug problems. All are under HKCU/Software/TortoiseCVS.
Show Changed Directories DWORD 1 - Enables highlighting
of directories with changed files in them. This is really cool, but very slow,
as it has to recursively scan each directory as it is rendered in Explorer.
Client Log DWORD 1 - Writes a record of transactions with the server to cvsclientlog.in
and cvsclientlog.out in the TortoiseCVS directory. This is useful for debugging
connection problems.
Simply uninstall from Add/Remove Programs in the Windows
control panel.
For versions older than 0-43, you have to manually uninstall. First
remove the registry entries by double clicking on Unregister.reg. Then log off
and back in again, reboot, or force Explorer to respawn itself. You can now
delete the TortoiseCVS folder.
$Date: 2001/08/30 15:54:41 $