I just upgraded to WinCvs 1.3.18 or later and can no longer find a place to enter my CVSROOT. Where has the General tab gone?
The global CVSROOT setting has been removed from WinCvs, mainly because it was pretending to be something which it wasn’t, namely a global CVSROOT setting that would automatically apply to all your work within WinCvs. In practice however this setting was silently ignored about 95% of the time, possibly more.
What used to happen when you entered something on the General tab of WinCvs was that it put the value entered there into the CVSROOT environment variable when calling the CVS client. The problem with this is that CVS will only so much as look at this variable if there is absolutely no other way to determine a CVSROOT for the current operation. Most of the time however, there is another place to get this information from, namely the meta information stored within your existing sandbox directories. Also see this FAQ item about changing your CVSROOT which explains about this sandbox meta info.
Now, what was done was move the CVSROOT setting where it would really be honored by CVS, i.e. those commands that (could) work outside of a sandbox context: Init, Import, Login, Checkout and RTag. On the command dialogs for these commands (as well as the Admin|Command Line… dialog) you will find a new setting labeled CVSROOT which will allow you to enter the CVSROOT to use for the current operation. This will end up being passed as an explicit commandline option instead of the rather meaningless CVSROOT environment variable as before. WinCvs will also remember the CVSROOT you used the last time you invoked a particular command in a particular directory so you usually won’t have to enter it again on subsequent invokations.
Furthermore, there is a new UI for creating/editing your CVSROOT string, dubbed the “CVSROOT wizard”, available by pressing the ellipsis (”…”) button right next to abovementioned entry box. This new UI is much more flexible than the old General tab, as it uses meta information supplied by the CVS client itself, e.g. which protocols are supported and which options are expected/allowed by each protocol.