jCVS Release Notes - 4.7.3
These are the most significant changes in this release.
However, the file
'ReleaseLog.txt'
contains the cvs log entries from the release.
- IMPORTANT NOTES
-
See the release 4.7.1 important notes, and release 4.7.2,
as they apply to 4.7.3 and they are important.
- Default Properties Moved To JAR File
-
The most common problem that prevented people from using jCVS,
aside from the bugs!, was the loading of properties. In this
release, I have taken some steps toward the com.ice.util.UserProperties
class that is used in ICEMail, and will eventually replace the
properties code in jCVS. The first and most important of those
steps was to move the default properties into the JAR file. Now,
with the properties and images in the JAR file, you need no other
file than the JAR file on your CLASSPATH to run jCVS.
JCVS will still read the file 'properties.txt' from the current
directory if it exists. This gives you the ability to have global
overrides for all users. However, you are no longer required to
have any file named 'properties.txt' if you so choose.
- Major Bug Fix For SubRepositories
-
One of the most useful features of jCVS is the ability
to use the 'Browse' command to open and subtree of a checked
out repository. This is useful when you want to work on a small
subtree, and do not want the overhead of an enormous tree.
Unfortunately, there was a serious design flaw in how I handled
this case. The flaw only manifested when you attempted to add a
new file to the subrepository. Because I did not have the complete
path information to the subrepository, you would get directories
created at the top level of the original repository and commands
would not work on the newly added file.
When I attempted to hack around the problem, I realized that the
design was flawed and the correct thing to do was to fix it. This
is done, and I am happy to report that all bugs related to adding
new files, even in new subdirectories, appear to be fixed.
- Bug Fix For Merged Files
-
If you had a locally modified file that was checked in by someone
else, then you did an update which resulted in a Merge, the file
would appear as 'up-to-date', making it impossible to see your
modifications unless you touched the file.
jCVS Release Notes - 4.7.2
These are the most significant changes in this release.
However, the file
'ReleaseLog.txt'
contains the cvs log entries from the release.
- IMPORTANT NOTES
-
See the release 4.7.1 important notes, as they apply to 4.7.2 and
they are important.
- User Properties File Rename
-
JCVS reads the Properties.txt file from the 'current directory'.
It then reads a properties file from the user's 'home directory'
(user.home property) to allow the user to override the properties.
This file was named ".jcvsrc". The file's name now depends on the
File.separator character of the OS. For UNIX and Linux systems,
the file separator is a '/', in which case jCVS will use the file
name ".jcvsrc" for the user's property file. For all other OS's,
the name "jcvsrc.txt" will be used. This is important, since some
OS's will croak on filenames that begin with "." (namely, MacOS).
It also makes life easier for Windows users.
- Projects.txt Moved To Home Directory!!!
-
JCVS uses a file named 'Projects.txt' to store the list of Projects
that you can open from the Main window. This file was being read from
the 'current directory' when jCVS was started. Now jCVS read the
'Projects.txt' file from the user's home directory (user.home). This
allows each user to maintain their own project list.
- Fixed Add To New Subdirectory
-
Release 4.7.1 had introduced a new bug where adding a file from a new
subdirectory caused an Exception. This has been fixed and there are no
known problems with adding new files.
- Fixed Empty Password In Test Dialog
-
The Test Connection dialog will now accept empty passwords,
allowing it to works with the gnome anonymous cvs server.
- Fixed Empty Directory Bug
-
JCVS had a subtle bug related to the cvs protocol's Directory
command. If jCVS was sending up its Entries commands, and any
of the Entries were in a subdir of a directory that had no files
in it, then no 'Directory' command would be sent to the server
for the empty directory. It appears that this confuses the server,
as it expects a Directory command for the empty directory (which,
I guess, is reasonable :). JCVS now recognizes these cases and
send the missing Directory command.
- Fixed Project Update Once Again
-
Because of the above bug, Project Update still malfunctioned in
some cases. There are now no known cases of Update not working
completely and correctly.
- Fixed Project Update Once Again
-
Because of the above bug, Project Update still malfunctioned in
some cases. There are now no known cases of Update not working
completely and correctly.
jCVS Release Notes - 4.7.1
These are the most significant changes in this release.
However, the file
'ReleaseLog.txt'
contains the cvs log entries from the release.
- IMPORTANT NOTES
-
Release 4.7.1 has two major changes that might confuse current
users. First, the name of the application class has been changed
from 'CVSApplication' to 'com.ice.jcvs.CVSApplication'. Thus, you
will need to update any scripts or ShortCuts to reflect this name
change. Second, while jCVS still supports the 'jscvdde.exe' program
for opening files under Windows, jCVS now uses a superior program
named 'shellex.exe' to accomplish this task. This new program is
more versatile and more standard. Shellex.exe is described in more
detail below and in the Properties.txt file.
- Fixed MAJOR bug, Project -> Update
-
The Project->Update command was very broken. It would cause
jCVS to overwrite locally modified files with the previous
version causing data loss. Regardless of the all
bold warnings that this may happen, it is not
supposed to do that. This bug is fixed in 4.7.1, along with
the same behavior if you used the Update command in the popup
menu on directory items.
- Fixed Added File Timestamp Bug
-
If you added a new file to a project, then quit jCVS, then
restarted jCVS and open the project, jCVS would fail to parse
the timestamp of the added file and fail to open the project.
This is fixed.
- Fixed Test Connection Dialog
-
Newer versions of the CVS server would not authenticate without
a repository being specified. This is in accordance with the new
security measures and the --allow-root option. The Test Connection
dialog now includes an input field for the CVS repository.
- Fixed RSH Connection Method
-
The internale RSH implemenation was sending the remote user name
as the local user name. Many people have a different local name
and establish their '.rhosts' files to that affect. Now, jCVS
uses the Java System property 'user.name' for the local name,
which is more correct. If the property is not set, it defaults
back to using the remote user name.
- Clearing Of Argument Field
-
The text field used to enter arguments for a cvs command was not
cleared after the command executed. This left the arguments in place,
which were frequently picked up by the next command causing undesirable
effects. Now the arguments field is cleared after the successful
completion of the cvs command.
- Updated Timestamp Parsing
-
The Java SimpleDateFormat now can handle parsing jCVS's timestamp
and is more efficient than the code in jCVS. Thus, we converted over
to using SimpleDateFormat where applicable. The GMT timezone string
was also changed from "GMT+00", which was a hack to work around a
bug in Java, to use "GMT", which is correct, now that the bug in
Java has been fixed.
- Move and Update Overwrites
-
Previously, if you used the Move and Update menu command two
times in a row, the second would fail due to an inability to
overwrite the existing backed up file. The command will now
overwrite the existing backup file.
- Upgraded the "Open File" Support
-
The open file support now allows you to specify a PATH on
which to search for executables used in 'SH' method opens.
Also include a new Windoze program 'shellex', which provides
simpler and better support for opening files. Now you can
open files into Word without Word being opened first. The
shellex program will cause Word to be opened automatically.
- Updated Support For User Properties
-
When jCVS initializes, it read the file named 'Properties.txt' if
one if found in the directory from which jCVS is run. In this
release, after jCVS loads Properties.txt, it will look for a file
named 'jcvsrc.txt' ( it is named '.jcvsrc' under UNIX/Linux systems )
in the user's home directory. When jCVS starts, it will print the
user's home directory to stdout.
- Added Menu Shortcuts
-
Added menu shortcuts (accelarator keys) to many of the most
commonly used commands.
- Added New Windoze ShellEx Support
-
Added new program 'shellex.exe' to provide better intergration
with Windoze. This is a replacement for 'jcvsdde.exe', which is
still included. The shellex.exe program uses the Windows API call
named "ShellExecuteEx", which will use the Registry settings that
you configure when you configure 'File Types' options in the
Program Manager. This is more versatile, since you can specify
any 'verb' you wish with any file name extension. Thus, you can
'open' .c files, while 'edit'-ing .html files.
- Fixed Tabbing Order In Dialogs
-
The tabbing order of most dialogs has been made sane.
- Icons Refreshed On Handle Toggle
-
When you open and close and open directories via the little
triangle handles, the icons under them will now be refreshed.
- Fixed 'Add File' To Remember Location
-
Now, when you are adding multiple files, the FileDialog
will open in the directory from which you selected the
last file to add. Previously, you were popped back up to
the top level of the project. Click, click, click...
- Fully Implemented Release Command
-
The 'release' command is now fully implemented. It will scan
your hierarchy and announce if they are any modified, added,
or removed files and ask before deleting these changes. Then
the project's local disk usage is deleted.
- Added File Compression Support
-
JCVS now supports the 'gzip-file-contents' option. This allows
for gzip compression of files before they are transmitted and
thus saves bandwidth on slow connections. This option can be
controlled on a per project basis by the menu checkbox in the
project window's File menu. It can also be set on a global
basis via the properties.txt file. The property to set is
named 'jcvs.global.allowGzipFileMode', and it can be set to
'true' or 'false'.
- CVSApplication Main Class Moved to com.ice.jcvs Package
-
The main class 'CVSApplication' was moved into the com.ice.jcvs package.
This is more correct and simplifies code management. You are
now required to use the name 'com.ice.jcvs.CVSApplication' as the main
class to start jCVS.
jCVS Release Notes - 4.5
These are the most significant changes in this release.
However, the file
'ReleaseLog.txt'
contains the cvs log entries from the release.
- First Cross Platform Release
-
This is the first release that works equally well on
both Windows and Solaris platforms. Solaris popup menus
are fixed, image handling is fixed, scroller warnings
fixed, etc.
- Complete Directory Support
-
Previous releases did not understand directories that
had no contents, and could not create new directories
on the server. This release will create empty directories
and handles them properly. The release also allows you
to create new directories on the server. This release
also fixes a bug so that adding a new file in subdirectories
that do not exist on the server will now create the needed
directories in the repository before adding the new file.
- Added Ability To Redirect Output
-
This release allows you to redirect stdout and stderr to
a file. Many Windows users were having diffficulty trapping
the debugging and tracing output to email to me. This will
help.
- Partial Support For Set-/Clear- Commands
-
jCVS now partially supports 'Set-/Clear-' static-directory
and 'sticky'. These were critical since they are how jCVS
recognizes empty directories. However, jCVS does not currently
support sending these flags back up to the server, so they
will not work fully. However, this does improve compatibility
with the command line client, since it will use the files
jCVS creates.
- Improved Interface
-
Mostly minor things, such as focusing in dialogs
(although there is still much to do), and other
small details.
- Fixed Bug With No Method
-
When the Root file specifies a user and hostname,
but no connection method (i.e., user@host:/path),
jCVS now recognizes this as a 'server' connection.
- Fixed Project Update Command
-
The Update command under the Project menu now does
not send the file names as arguments to the
update command. This allows the command to pick up
new files that have been added, where previously
only the file in the local directory were updated,
and new files were never seen.
$Id: ReleaseNotes.html,v 2.7 1998/08/07 03:21:06 time Exp $
Copyright (c) 1997 By Timothy Gerard Endres
jCVS is licensed to you under the GNU General Public License.