:: MacCVSClient :: User Guide
  Old MacCVSClient Change Log
25 Jul 2002 Version 1.7
 
  • Module Window
    • FIX: under certain conditions, bullets in module folder or sub folder names could crash the app when reading those folders.
    • Show watch cursor when closing the module window. The close operation can take a while if there are many hidden temp files (logs or diffs) that need to be deleted.
    • Column headers. Sort by column headers.
    • Contextual menu (CONTROL-click).
    • Opening a conflict window now via OPTION-click or OPTION-RETURN (was CONTROL before).
    • Finder drag-and-drop.
    • "Move to Trash" command.
  • CVS
    • Diff dialog now allows for date as well as revision/tag based diffs.
    • Diff tags/revisions can now be selected from within a CVS log window (OPTION-click or OPTION-drag).
    • Diff/Log/Conflict windows have contextual menus (CONTROL-click).
    • Format of CVS log output in CVS log window is now more readable: committer, commit date, etc. is now shown in the same line as the revision.
    • CVS import dialog: check tag input fields for valid tag syntax before running the import which can take a good while to complete (e.g. if running over a modem).
    • FIX: rarely occurring RBL receive bug. Uncritical but annoying when it happened.
    • FIX: when receiving a module with a folder with a too long name the operation would be aborted. This is repaired now and only the long named folder is ignored but the rest of the module will be received OK.
    • CVS import: pre-flight results window: status field now shows data and resource fork sizes of selected file.
    • CVS import: pre-flight results window now displays a warning in bold red, if there is at least one problematic entry.
  • Other
    • "Reroot Module" command to change CVS settings for checked out modules.
    • Long filename support (only PPC and X versions on Mac OS 9 or newer); can be disabled in the preferences.
    • CodeWarrior Pro 6, CodeWarrior Pro 7
    • Scroll wheel mouse support under Carbon.
    • When the login method is changed in a login profile, the default port is automatically changed (2401 for pserver, 514 for RSH).
    • It is now possible to have checked out files stored with Unix style line terminators instead of Mac OS style ones; this can be set in the "Export Translators" in the preferences.
    • Duration of splash screen can be changed (Yes, you can switch it off completely too! ;-)
1 Nov 2000 Version 1.6
 
  • Windows
    • Incremental search: watch cursor while searching.
    • "Scratch Pad" is now called "Scrapbook".
    • Module window, scrapbook window, console window: store window postitions and sizes.
    • Log, diff, conflict windows: store window positions; here, per window class, one position and size is stored; to change that position, either hold down the OPTION key while moving/resizing the window or close all but one last window of one class and move/resize that one.
  • Module Window
    • FIX: RETURN key to open logs etc.did not work in case there were collapsed folder items; works fine now.
    • Faster window refresh
    • Whenever incremental search is under way indicate that by showing "Search:" in the status field.
    • When opening a module, sub folders that are CVS'ed but checked out under a different login profile will not be opened but displayed as "Other CVS Folder" and marked with a "!" in the flags area.
    • Display locked/unlocked status of files.
  • Console Window
    • Local error messages such as "failed to update xxx. There is a file in the way." are now displayed in red and are mush easier to spot this way.
    • Text can be mouse-selected and copied.
    • Don't update more often than once per second when receiving lots of log messages (like during an update or checkout over a fast local ethernet).
  • CVS
    • Added zlib stream compression
    • CVS checkout is MUCH faster now, particularly in with big modules. In my setup (10MB ethernet, 400MHz K6-2 Linux 2.2.13 CVS server 1.10.8, G3 Series PowerBook 266, Mac OS 8.6), a module with 4790 files (total ~36 MB of data) is now checked out in about 4.5 minutes instead of 15 minutes before.
    • CVS checkout won't overwrite already checked out CVS'ed folders (which would mess up the CVS control files in those checked out folders).
    • When receiving files that would overwrite locked files, display proper error message stating what's going on. Before, only a general error message would be shown.
    • FIX: RBL merge bug.
    • FIX: minor RBL diff bug.
    • Enhanced RBL merge function. It now tries to resolve leftover conflicts by running an additional CVS server diff and analyzing that one.
    • FIX: throughput limiting would sometimes not work reliably especially when sending BIG resource files in RBL format; in this case, data would sometimes be sent much faster than the throughput limit (uncritical)
    • CVS add/import: enhanced pre-flight; pre-flight is now mandatory; preview window shows files' icons; preview window is searchable (incremental search); filtering options; protection from adding already CVS'ed folders; short cut to the add/import related preferences categories.
    • FIX: CVS import had a bug where an import would stop importing files in a folder after finding a file to be ignored in that folder. (UNPLEASANT)
19 Mar 2000 Version 1.5
 
  • Module window
    • FIX: Double clicking entries now works reliably. Before, it didn't in case the module hierarchy was partially collapsed.
    • If custom icon bit is set wrongly for a file, try to display the standard file icon now.
    • FIX: horizontal scrolling doesn't jump from left to right border but works step by step as expected.
  • Log window
    • FIX: horizontal scrolling doesn't jump from left to right border but works step by step as expected.
  • CVS
    • FIX: When retrieving old files in "Data Fork" storage format, the files' type/creator code would not be properly detected.
    • FIX: when diffing two repository versions of a file or folder hierarchy, sticky tags could be erroneously set for the diffed files. This won't happen anymore now. (UNPLEASANT)
    • FIX: when updating with the "merge branches" option, files existing on the source branch but not existing on the target branch would sometimes not be marked as locally modified. This could result in a seriously locked up RCS file in the repository. (NASTY)
15 Dec 1999 Version 1.5b8
 
  • Login Profiles (Preferences)
    • Support a list of login profiles.
    • Support RSH based connections.
    • Allow empty passwords.
    • "Test Login" button.
    • "Connection" dialog renamed to "Login Profiles".
    • Throughput limit option. When using MacCVSClient with F-Secure SSH over a modem dialup connection, MacCVSClient would tend to flood SSH with data which resulted in dropped SSH connections. You now can tell MacCVSClient to not send faster than you expect the SSH connection to be. Be aware that the SSH - MacCVSClient combination seems to work unreliable in some cases. USE SSH SUPPORT WITH CAUTION! Try it first before you rely on it.
    • If login fails, show CVSROOT as well as server name in alert box.
  • Ignore Files (Preferences)
    • Ignore files in "CVS Add" and "CVS Import" operations.
    • Ignore files in module window (this acts like a ".cvsignore" file in the user's HOME on UNIX systems).
    • Drag-drop to reorder items.
    • Drag-drop files onto the ignore pattern list. This way, type/creator combinations can be added to the list very easily without the need of finding out the exact values with special tools.
  • Import/Export file format translators (Preferences)
    • Import file translation list. These are used to assign appropriate storage formats and keyword substitution options. MacCVSClient uses these lists in "CVS Add" and "CVS Import" operations if keyword substitution and storage format are set to "automatic".
    • Drag-drop to reorder items in export and import file translation lists.
    • Drag-drop files onto the import and export file translation lists. This way, type/creator combinations can be added to the list very easily without the need of finding out the exact values with special tools.
  • Module window
    • Icon data in module windows is stored in a pool now. Saves lots of memory.
    • When switching on filtering, make sure the module list is not scrolled beyond the visible frame.
    • Speed up module view rebuild after most CVS operations. This should make a difference especially in big modules.
    • FIX: folders unknown to CVS are now labelled "Unknown Folder" and don't have a expansion triangle anymore.
    • FIX: properly update module view after "check conflict", "forget diff/conflict" and friends. (uncritical)
    • FIX: after a folder has been added, show its contents in the module window immediately. (uncritical)
    • FIX: after creating -work and -repo files in conflict situations, show them in the module window immediately. (uncritical)
    • FIX: when "File Filtering" in the module window was on, sometimes a folder would not be displayed as "Partial Folder" even, if some files were filtered. (uncritical)
  • CVS
    • CVS option "-n" for selected commands (update, checkout, etc.).
    • "CVS/Log" now has a "Skip Empty Logs" option (on by default). This is used to store log entries only for files that have at least one "selected revision". That way, the (R) marker in the module window really tells you that there is at least one log entry for the file in question.
    • "CVS/List Modules" command (cvs checkout -c); this is only active, if the frontmost window is no module window.
    • CVS add and import dialogs now have "Test" buttons so the user can check what import storage format and keyword substitution options would be mapped to the added/imported files.
    • Full context diff works now even when diffing two arbitrary revisions.
    • Test button on "CVS/Add" and "CVS/Import" dialogs to check keyword substitution and storage format settings for the files that would be added/imported.
    • The function of the OPTION key is now inverted: if it is held down, the optional parameter dialog for CVS commands is not displayed. If it is not held down, CVS option dialogs are shown. Many users were not aware of the OPTION key functionality and were missing this facility to run parametrized CVS commands. This new arrangement should help here.
  • Other
    • If a Log, Diff, or Conflict window is the frontmost window, a CVS command will be applied to the file the window belongs to and not to the current selection in the module window.
    • A folder can now be opened by dropping it onto the application icon. If a file is dropped onto the application icon, its parent folder will be opened.
    • Fixed the application's icon.
    • Reorganized menu contents.
    • Use "Is-modified" request to minimize amount of data sent to the server in case of "CVS Log" operation.
    • Show more accurate error message in case of OT errors -3170, -3180. They are most often: host not found and port not active, respectively. Exception handling in general now much more user friendly.
    • Window headers in Console window and Module window don't flicker anymore when they're updated.
    • "Comment Window" is now called "Scratch Pad".
    • "File/Quit" will warn the user if a CVS operation is running on an open module window. To really quit, the CVS operation needs to be aborted first.
    • "File/Forget" renamed to "File/Discard".
    • "CVS/Abort" works already while MacCVSClient is sending data to the CVS server. If an operation is aborted, a warning is displayed in the console window.
    • In add, import, and commit dialogs make the text input box the default input so the user can type right away without having to click into the box first.
    • FIX: some error alert boxes had OK and Cancel buttons even though there was no way to Cancel. Removed Cancel button. (uncritical)
    • FIX: sometimes the password dialog would have an assertion popping up. (uncritical)
    • FIX: in case the connection to the server could not be established, don't try to close it! (uncritical)
    • Cleaned up non AM controls.
    • PowerPlant 2.0; PowerPlant 1.9.3 thread timer patch.
18 Dec 1998 Version 1.4.2
 
  • More sanity checks when receiving an AppleSingle file. Found a file in the mozilla repository that seems to be corrupted.
  • Preferences:
    • Check-Box to specify whether current password is saved to preferences file.
    • Network send/receive buffer size field.
  • RBL diff:
    • If the file type or creator changed inbetween two revisions, this is correctly displayed in the CVS diff window of that file.
    • Rectified a few details in the output.
  • FIX: text line truncation didn't work properly in CVS diff. The application would crash, if lines in a text file were longer than 255 characters. These lines should be truncated and they are now.
  • FIX: RBL receive failed in rare conditions due to an uninitialized byte in memory. (SERIOUS)
  • FIX: RBL failed to send Txtr 130 resource.
  • FIX: if a file is in .cvsignore and also added to the repository, it used to be displayed as "lost". That's fixed now. The file will not be displayed at all.
  • FIX: don't crash when the main module folder is moved away while MacCVSClient is in the background.
  • FIX: don't crash when opening a folder with a slash in its name.
3 Dec 1998 Version 1.4.1
 
  • CVS operations can now be aborted: "CVS/Abort".
  • RBL: be more careful about possibly corrupted resource files or bad data received from the server. More sanity checks here. Abort send/receive operation in case of the slightest anomaly.
  • Allow spaces in file names.
  • Log window: log entries and tags now arranged hierarchically.
  • Save contents of comment window in preferences file so it is accessible after application restart.
  • Reworked selection in diff/conflict/log/console windows. It now uses system wide selection colour and also shows outline when in background. Empty lines' selection is indicated by a hairline now.
  • Folders are drawn in red colour if they conatin "lost file" entries!
  • "Reveal in Finder" function: get finder into foreground.
  • FIX: RBL diff display was broken: resource data bytes 0x80 to 0xff would be displayed as 0xff. This bug affected the RBL diff display only. No data corruption happened.
  • FIX: open a module -> close it -> open same module again resulted in a crash.
  • FIX: after opening a diff, log, or conflict window the incremental search and keyboard navigation in the module window didn't work anymore.
  • FIX: finally found small memory leak in CVS diff and CVS log operations.
  • FIX: in 1.4.1b3, adding of folders to modules did not work.
  • FIX: "CVS Add" works again with CVS 1.9 servers. (reported by John Battistini)
  • FIX: diff windows open, close module window crashed.
  • FIX: RBL diff doesn't get confused by null-length resources anymore.
  • FIX: diff/log/conflict in general: if we run out of memory we stop and throw an exception. Before, we kept on going and crashed the machine.
9 Oct 1998 Version 1.4
 
  • Handle resources in two different formats:
    • Binary: AppleSingle, (DF + RF).
    • Textual: Resource By Line (RBL) format. Diffable! Real revision control for resource files!
  • Module window:
    • If nothing is selected, DOWN selects the first entry, UP the last one.
    • Show incremental search text at bottom left corner.
    • Show file's/folder's icons. Switch between no, mini, or small icons in the preferences.
    • File filtering ("Special/Filter File Settings..." and "Special/Filter Files").
    • FIX: don't reset the selection after executing a CVS command. (uncritical)
    • FIX: Incremental search: update menu status depending upon selection. (uncritical)
  • Diff/Conflict/Log windows:
    • Scroll up/down to next line that starts in leftmost text column. Can be used to find e.g. heads of methods/functions in C++/C. "Special/Next Full Line", "Special/Previous Full Line" or SHIFT-COMMAND-[, SHIFT-COMMAND-].
    • Incremental search can be started by pasting text.
    • FIX: sideways scroll in incremental search. (uncritical)
  • CVS:
    • Supports "modules" (defined in the CVSROOT/modules file).
    • Sometimes CVS servers send paths with "//" components in them. We now normalize these paths. Example: "aaa//bbb/ccc" -> "aaa/bbb/ccc".
    • FIX: CVS import recursion bug (reported by Kirk A. Dunkelberger).
    • FIX: Behave gracefully when receiving folders that cannot be created because there are files of the same name in the way. (uncritical)
  • Other:
    • CodeWarrior Pro 4, PowerPlant 1.9.2.
    • Due to a bug in PowerPlant pre 1.9.2 UNetworkFactory, MacCVSClient would not run with MacTCP. In PP 1.9.2 this has been fixed!
    • Console window: error messages in bold style.
    • You can open sub modules directly.
    • CVS update, diff, stat, log, retrieve: press OPTION to get the dialog. Without OPTION, the default set of arguments/options is used.
    • PowerPC binary: does not depend on Appearance Manager anymore. (weak link AppearanceLib)
    • Several dialogs: check "CVS Root" dialog field for "//", "/./", "/../" or trailing "/".
    • OPTION-click in close box closes all windows of the same kind (log, diff, conflict).
    • "File/Open" dialog: key short cut COMMAND-S for "Select ..." button.
    • FIX: Preferences: sometimes the file-name-type mapping list was trashed. (uncritical)
    • FIX: Running "CVS/Log" on a folder contaning unknown files, we got assertions. (uncritical)
    • FIX: Trying to get a non-existing revision of a file with "CVS/Retrieve" the file became "unknown". To fix this, the user then had to move away the file and its update it's folder. Worst case scenario was that the file then had to be merged by hand! (REALLY UNPLEASANT)
29 Jun 1998 Version 1.3.8
 
  • CW3, new PowerPlant, Grayscale Appearance.
  • Renamed command "CVS/Check In" to "CVS/Commit".
  • "File/Save Console" function. The former "Log window" (showing the CVS server output) is now the "Console window".
  • Console window: highlight found text in incremental search.
  • Parse "CVS log" output. And make it available in separate windows (these are now called "Log windows").
  • "File/Forget Diff", "File/Forget Log" functions.
  • "File/Touch File" now touches files in selected folders. That renders "File/Touch All Files" obsolete and so the latter has been removed.
  • Show file names/number of affected files in commit/add dialogs.
  • Incremental search can be started by selecting text with the mouse.
  • Module window:
    • Update selection in incremental search.
    • Display path to selection if applicable.
  • Diff/conflict window:
    • Show full file name and path, removed buttons from status area.
    • Mark first and last ("F" and "L") diff/conflict lines.
    • When opening, scroll down to the first diff/conflict. (option in Preferences)
  • Switched off "DebugNew", so things are a bit faster now (e.g. refreshing module windows).
  • Tagged Check Out/Update: default for option "Use recent if missing" is "off".
  • FIX: Sometimes CVS servers send paths with "/./" components in them. We now normalize these paths. Example: "./aaa/./bbb/ccc" -> "aaa/bbb/ccc".
  • FIX: CVS Diff failed to diff files starting with "." (like e.g. ".cvsignore"). (uncritical)
  • FIX: Module window: when a block of lines is selcted and the selection is moved with cursor keys, the selected block is deselected properly. (uncritical)
5 Mar 1998 Version 1.3.7
 
  • Module window:
    • Extended status area.
    • More detailed folder information in folder lines.
    • Slightly changed layout of file lines.
  • Resizable Check In/Add/Import dialogs.
  • "Comment Copy Mode" in preferences. Determine which text of the "Comment" window is being copied to Check In/Add/Import dialogs.
  • FIX: close out-of-date diff windows during check in. Before, this didn't work in all situations. (uncritical)
  • FIX: having an empty comment window and entering comments in the "Check In" dialog, resulted in a warning dialog: "Enter check in comments first." which it shouldn't.
  • FIX: COMMAND-=, "Special/Check Conflict", RETURN (open diff window), CTRL-RETURN (open conflict window) could cause a crash in certain situations.
17 Feb 1998 Version 1.3.6
 
  • "Reveal file/folder in finder" function.
  • "Edit file" function.
  • Display work folder location in module window.
  • Interpret .cvsignore
  • Preferences.
  • Determine type/creator by matching file name masks.
  • FIX: don't delete diff windows when switching away from and then back to MacCVSClient (uncritical)
  • FIX: delete diff windows and diff data when switching away from and then back to MacCVSClient and file modification date changed (uncritical)
  • FIX: COMMAND-UP/DOWN in module window now even works when an entry is selected (uncritical)
20 Jan 1998 Version 1.3.5
 
  • FIX: after "check conflict" the module window is updated properly. (uncritical)
  • FIX: when a file's "conflict flag" has been reset using "check conflict" this new state is saved to disk immediately. (uncritical)
  • When receiving a file with a conflict, keep a copy of the original working file name named name-work
17 Jan 1998 Version 1.3.4
 
  • Module Window:
    • RETURN opens diff window
    • CONTROL-RETURN and CONTROL-click check conflict
    • CURSOR UP/DOWN moves selection
  • When a text file is updated, the existing resource fork is kept (this saves window size, position, cursor position, text selection)
  • FIX: CVS export and CVS check out dialogs now have WORKING "recursive", "prune empty folders" controls (uncritical)
15 Jan 1998 Version 1.3.3
 
  • FIX: when switching back to the application, all module windows are refreshed automatically
14 Jan 1998 Version 1.3.2
 
  • FIX: keep selection when refreshing the module window (uncritical)
  • FIX: "Find" works in partially collapsed session windows too now (uncritical)
  • FIX: export must not write CVS files. (was broken in 1.3.1, uncritical)
  • CVS Export dialog: cleaned up
  • CVS Retrieve dialog: keyword substitution options
  • "Find" works now backwards as well
13 Jan 1998 Version 1.3.1
 
  • FIX: when a conflict/diff window is opened, its scroll bar is activated if necessary (uncritical)
  • FIX: refreshing the module window does not expand all collapsed folders anymore (uncritical)
  • When "Connection Dialog" opens, user/password entry field is target
  • Incremental "Find" function in all windows (just type the string you look for)
2 Jan 1998 Version 1.3
 
  • CVS import
  • CVS check out, export, diff, update, add: option -k
  • CVS check out, export: added missing options in dialog box
  • Tab width as 'Conf' resource
  • Close diff windows when they get outdated
  • FIX: CVS retrieve works even in case a locally modified file exists (uncritical)
  • FIX: Diff/Conflict window's text selection: now also works for lines longer than 127 chars (uncritical)
  • Automatically remove files that are "not (any longer) pertinent"
19 Dec 1997 Version 1.2.3
 
  • More diff options:
    • ignore all whitespaces
    • ignore whitespace changes
    • ignore blank line changes
12 Dec 1997 Version 1.2.2
 
  • Show proper copyright message.
11 Dec 1997 Version 1.2.1
 
  • Minor bug fixes.
  • 'Conf' resources.
8 Dec 1997 Version 1.2
 
  • Show a warning dialog if authentication failed.
  • CVS export
  • Allow files starting with "."
  • Show file size/date in session window
  • More safe when connection breaks
    • when receiving files, create temp files
    • write CVS file after each successful file transmission
20 Nov 1997 Version 1.1
 
  • CVS log
  • CVS remove
19 Nov 1997 Version 1.0.7
 
  • Added some sanity checks to make it more robust.
  • Diff and Comment Windows now react to the click that activates them. More convenient.
14 Nov 1997 Version 1.0.6
 
  • IMPORTANT BUGFIX: if a file gets shorter in an update or merge, truncate it! (VERY NASTY)
  • Behave when there is a local file and we try to create a folder with the same name
  Version 1.0.5
 
  • Minor bugfixes: password handling, etc.
  Version < 1.0.5
  ...
Rev. 1.4 Legal Copyright © 1997-1998 Fontworks Ltd., © 1999-2002 Jörg Bullmann