:: MacCVSClient :: User Guide
  MacCVSClient Change Log
9 Aug 2005 Version 1.10
 

Important: —

Starting from MacCVSClient version 1.10, file modification time stamps in sandbox info files are stored based on UTC instead of local time. Due to this, the first time you open an older sandbox with a newer MacCVSClient, all files will seem 'locally modified' to MacCVSClient — even the ones which are not.

To fix this, select the topmost folder in the sandbox window and run a "Sandbox/Status..." with the "compare local file content to repository..." option. This will resync the times and safely (!) correct the file stati so that all locally unmodified files will look fine again.

What's new:

  • NEW: help menu.
  • NEW: file modification dates are now stored in UTC instead of local time so that daylight savings time switching or time zone changing will not make files appear locally modified
  • NEW: pserver now uses BSD UNIX style network access. Will this solve problems people have been experiencing when using pserver on a VPN?
  • NEW: show a warning in the login profile panel when the user chooses to store the password in the preferences.
  • FIX: when connecting via SSH or using local repositories, MacCVSClient would stop being able to connect to the repository any longer after a fair number of successful connections and an application restart was necessary to get it going again.
  • FIX: clicking the splash screen window header in OS 10.4.x Tiger would cause MacCVSClient to crash.
  • FIX: a tiny memory leak.
  • FIX: in CVS server 1.12.10 (released on 17 Nov 2004), a detail in the client/server protocol has been changed. MacCVSClient is now compatible with this new server too.
  • FIX: typo in "File Filter Settings" dialog text.
  • FIX: before a CVS operation, check that not two or more sandbox folders pointing to the same repository folder are being updated. This situation can arise, if a copy of a sandbox folder (or sub folder) is created and kept next to the original when manipulating the sandbox with MacCVSClient.
  • FIX: during sandbox refresh, occasionally an assertion dialog would pop up when it shouldn't.
  • FIX: if there was an ignore filter with a file name pattern and a type/creator pair specified and a file in a sandbox folder matched this ignore filter, then all folders immediately following that file in the sandbox list and matching the file name pattern of the ignore filter were ignored (and thus invisible) as well — even though they as folders did not match the type/creator pair of the ignore filter.
  • FIX: when starting local or SSH connections MacCVSClient would sometimes silently and unexpectedly quit. This is hopefully fixed now.
  • FIX: AppleSingle encoded files used to be artificially limited to a maximum file name length of 31 characters; this limit is now removed.
  • FIX: "Sandbox/Check Out" got broken in 1.9 (error "cvs [server aborted]: must specify at least one module or directory"). It is back to normal now.
  • FIX: in case inside a MacCVSClient sandbox there would be a standard-CVS checked out sub-folder somewhere, mayhem would ensue: MacCVSClient wouldn't be able to handle that different file format, get horribly stuck trying to read it anyway and bomb out with an assertion. The situation of a standard-CVS checked out sandbox folder inside a MacCVSClient checked out sandbox is handled gracefully now.
  • FIX: 'discard local modifications' option for update command would not revert local changes, if there were no repository updates. In other words: the local copy would only be reverted, if there were updates coming from the server.
  • FIX: Reset Conflict confirmation dialog now has Yes/No (instead of OK/Cancel) buttons which match the way the question is put in the dialog text.
  • FIX: when screen sizes or positions of multiple screens were changed, sometimes the window position correction (to move window headers into areas of screens where they can be mouse clicked) was not working correctly.
  • FIX: in the Check Out, Export and Import dialogs a folder can be selected for the local Check Out/Export target or Import source location; MacCVSClient now properly handles the situation where this folder is removed (e.g. from within the Finder) before the actual Check Out/Export/Import.
  • FIX: in rare situations the sorting direction in sandbox windows would not be rememebered between two invocations of MacCVSClient.
  • FIX: tuned CVS worker thread switching ('yielding') and GUI updates to speed up CVS operations. In my tests of CVS Check Out operations from a local repository the completion time was reduced by 30 to 40 percent.
20 Jun 2004 Version 1.9
 

Please note:

  • The work on the Edit/Unedit/Watch/Editors/Watchers commands is sponsored by Type A Multimedia Network, Chicago, IL. Thanks a lot!

Important:

  • The CVS Edit/Unedit commands made a change in the MacCVSClient sandbox info file format necessary. Therefore a sandbox cannot be opened again with MacCVSClient 1.8.1 or earlier once it was opened and manipulated (update, checkout, etc.) with the new MacCVSClient.

What's new:

  • NEW: sandbox inspector window shows editors and watchers details. A third pane displays general file/folder information.
  • NEW: command "Get Info"; runs CVS Status + Watchers + Editors.
  • CHANGE: swapped keyboard shortcuts: COMMAND-E = "Sandbox/Edit", COMMAND-SHIFT-O = "File/Open in Editor". Watch out everybody, COMMAND-E used to open files in their editing application.
  • NEW: option in CVS status to prevent modified file contents from being sent to the server. This way a file is considered modified or not based on local modification time stamp check.
  • NEW: parse CVS Status output, display and store the files' up-to-date status (i.e. whether a CVS update would change a file or not). Flag in sandbox window for 'needs update' status is '*'; sandbox file filtering works for this flag too.
  • NEW: CVS Edit/Unedit/Watch/Editors/Watchers. The existence of watchers or editors of a file is shown in the flags column of the sandbox window (W = I am watcher, w = others are watchers, E = I am editor, e = others are editors); sandbox file filtering works for these new flags too.
  • FIX: when rerooting a subfolder in a module to a 'local' login profile under certain conditions the rerooted subfolder would not be recognised correctly as being rerooted.
  • CHANGE: when the 'Reroot Sandbox' dialog is opened, the initially selected login profile is the current one (if it exists).
  • NEW: all text input fields now filter for NEWLINE characters. This already worked for normal keyboard input. Now filtering also works for the copy-paste operation and drag-drop of text. As a side effect all text input fields now accept text drags.
  • NEW: in login profiles, CVS host name is tested for TAB and SPACE characters.
  • NEW: improvements in opening sandboxes via drag-and-drop of files or folders from the finder onto the MacCVSClient application icon. Here's a summary (some of the functionality was there before):
    • if a content item (sub-folder or file) of an already open sandbox is drag-dropped, the item is selected in the open sandbox.
    • if a file of a not yet opened sandbox is drag-dropped, the sandbox is opened and the file is selected in the sandbox window.
    • if a (sub-)folder of a not yet opened sandbox is drag-dropped, that (sub-)sandbox is opened.
    • if a parent folder (or a file living in it) of an already open sandbox is drag-dropped, the already open sandbox folder is closed and it's contents (including diffs, logs, annotations, etc.) is brought over into the newly opened parent sandbox.
    • if a file (or folder) is drag-dropped which would not be visible due to it's current sandbox filter settings (menu "Special/Filter File Settings"), this item will become temporarily visible in the sandbox window. Temporarily here means until the next CVS operation, Filter On/Filter Off command, or switching away from and back to MacCVSClient (refresh).
    • if a file (or folder) is drag-dropped which would not be visible because parent folders are not expanded (but collapsed instead), all parent folders are expanded so the file (or folder) becomes visible.
  • NEW: the most recently selected login profile will be remembered between the commands List Modules, Checkout, Export, Import and the login profile preferences.
  • NEW: option to 'discard local modifications' in CVS Update.
  • NEW: local destination folders for Checkout and Export operations default to the desktop folder.
  • CHANGE: removed 'lock CVS control file' preference as it does not make sense any longer with the sandbox info now being a bundle on OS X.
  • CHANGE: The padlock icon is now shown for each file which is either POSIX-read-only or Mac OS "Locked". Before only the Mac OS "Locked" status mattered.
  • FIX: ensure no file received from the CVS server is stored group or world writable in the sandbox.
  • FIX: when creating a new login profile and not changing the name (description), strange duplication effects of login profiles could happen. Now whenever a login profile is created or renamed, the new name is checked for uniqueness.
  • FIX: when resizing column view headers (in sandbox or annotation window) while having scrolled to the right, column sizes would get messed up.
  • And last not least: a fair amount of code cleanup.
21 Mar 2004 Version 1.8.1
 

Important:

  • In MacCVSClient 1.8.1 the preferences file format has changed. Before using MacCVSClient 1.8.1 you might want to save away a copy of your existing preferences file so you can downgrade, if necessary.

What's new:

  • Preferences now have a tabbed interface.
  • Changed all occurrences of the term "Module" to "Sandbox" wherever it had been used in the sandbox context. To clarify: a sandbox is a checked out working copy of a module. A module itself exists only in the repository.
  • "Repository" menu items are now always enabled.
  • Increased folder item indentation from 10 to 20 pixels in sandbox windows.
  • Optional different repository side text encodings for Add/Import/Commit log messages (comments).
  • Classic PPC and 68K versions: send all files to the server with executable access privileges.
  • COMMAND-SCROLLWHEEL jumps from diff to diff; conflict to conflict; revision to revision; highlighted annotation to highlighted annotation in diff, conflict, annotation and log views.
  • COMMAND-SHIFT-SCROLLWHEEL jumps from full line to full line in diff, confilct and annotation views.
  • Preferences: Translators/Ignore Filters
    • Combined import and export translators into one. Should be more intuitive this way.
    • Multiple selection (also for Ignore Filters panel).
    • Copy-and-paste in translators list (also for Ignore Filters panel): enabled "Edit" menu commands for this.
    • Drag-and-drop out of translators list (also for Ignore Filters). Text clipping files are supported as well. — This and the above two features can be used to exchange translators and ignore filters among team members. The format is plain text based. So you can easily store them and email them around. Or put them on a web page where they can be copied from the browser window and then pasted into the MacCVSClient preferences.
    • When opening Translator and Ignore Filter settings dialog from an Add/Import preview window which has a selected item, select all Translators or Ignore Filters which match the selected item in the preview window.
  • Login Profiles
    • Login profile list (and selection popup menu) now always alphabetically sorted by login profile description field.
    • "New" button behaviour has changed.
      Before:
      pressing the "New" button would apply already made changes to the currently selected login profile and then create a copy — altogether rather weird.
      Now:
      when the "New" button is pressed a new login profile is created using the current values of the input fields and then that new login profile is selected in the login profile list popup. To me this seems much clearer. Also if you start changing a login profile and then realize you want to make a new one out of it, you just hit the "New" button and presto!
  • FIX: Mac OS X version: handle POSIX file access privileges correctly.
  • FIX: when MacCVSClient resumes after being clicked into the background while in the Add/Import preview dialog, the preview is now automatically aborted and the user asked to start it again. This is necessary because files or folders might have been renamed, moved or deleted while MacCVSClient was in the background. This also fixes a crash-bug in CVS Add.
  • FIX: a selected 'unknown' folder in a sandbox view would become unselected when switching away from and back to MacCVSClient; now such folders retain their selected-status. And this as well fixes a crash-bug in CVS Add.
  • FIX: custom ports for SSH1/2 now work.
  • FIX: hitting ENTER in the "Add Check" dialog now always triggers the "Add" button; before this would only work, if an entry in the add file check list was selected.
  • FIX: splashscreen in Panther now draws with Panther style pinstripe.
  • FIX: login profiles of type "local" now work correctly in case the user name and host name fields are left empty.
  • FIX: error condition display in console fixed for multiple simultaneous CVS operations; before it could happen that a failing CVS operation could cause a "Failure" message not only for itself but also for other CVS operations which were running at the same time.
  • FIX: when a malformed commit log message was detected in the commit log dialog, the commit would automatically be aborted after a warning was displayed. Then the commit command would have to be started all over (and the commit log message would have to be entered again). Now the commit dialog handler loops until the problem in the message is fixed or the user cancels.
  • FIX: adjusted scroll wheel speed.
  • FIX: when receiving an AppleSingle file with unknown or irrelevant AppleSingle components, issue a log message instead of an error message.
  • FIX: CVS import only ignores what's specified in MacCVSClient's ignore preferences. The default CVS server ignore patterns (Cederqvist: import option "-I !") are disabled now.
  • FIX: better (more explanatory) error dialog when the user tries to open a sandbox folder that has not been checked out with MacCVSClient.
  • FIX: COMMAND-[ and COMMAND-] did not work in log window; it now does and jumps from revision to revision in the log list.
  • FIX: SSH timeout handling; also kill bogus SSH processes. Those were sometimes left hogging the CPU after unsuccessful SSH login attempts.
  • FIX: typo in password menu in login profile.
  • FIX: tab width preference value changes are not ignored any longer.
  • FIX: run "List Modules" command with desktop folder as current directory. Before some folder inside the MacCVSClient application bundle was used.
  • FIX: "Check conflict" command was broken in 1.8.
24 Nov 2003 Doc Version 1.8a
 
  • Doc and FAQ updated.
17 Jun 2003 Version 1.8 [Change log of older versions]
 
  • OS X version only:
    • UI tuneup: more of an Aqua look.
    • Mach-O binary.
    • "Coo" icons for the app and CVS control files! To see these icons, you might have to rebuild the finder's association cache.
    • SSH1 and SSH2 including MacCVSClient built in password/passphrase handling. You still can use SSHPassKey to enter your passphrase. To do this, select "No Password" in the login profile. MacCVSClient will then fall back to use SSHPassKey, if this one has been installed and configured.
    • Support for local repositories. No need to install a CVS pserver if you only want to use a local repository. Just create the repository from a terminal and then use the path to it in the login profile preferences as CVS root.
    • Support for RSH should work again.
  • All versions:
    • CVS Annotate [doc and screenshot]
    • Split menu "CVS" into "Sandbox" and "Repository"
    • Major rework of log and diff parsing and storage.
    • Keychain support (not in 68K).
    • Proper visual feedback during resize of table headers in module window.
    • Keyboard shortcuts: CMD-+ = CVS Add, CMD-- = CVS Remove. In Classic PPC and 68K versions the '+' above '=' doesn't work. You have to use the '+' on the number keypad. In the OS X version, CMD-+ seems to be handled correctly as SHIFT-CMD-= in the system.
    • Rearranged "File/View", "File/Discard", and navigation commands in the "Special" menu into the new "Info" menu.
    • Changed "Sandbox" command key shortcuts: OPTION key now brings up dialog box for commands which have a dialog-less alternative. Before, OPTION would skip the dialog. So, the OPTION key behaviour has been inverted in this context now. I think this is more intuitive. Sorry for the change, you'll get used to it quickly.
    • Improved file filtering: AND and OR modes; show matches and hide matches modes; new criteria keyword subst option, storage format, added files, removed files. Also, if a filter setting results in no file to be shown in the module window, there will be a line of text stating that everything is filtered out (instead of a strangely empty screen as before); changed filtering command shortcuts: CMD-F = Filter (show), CMD-SHIFT-F = Filter (hide), CMD-OPTION-F = Filter Settings.
    • Preference to disable CVS control file locking. This way, it is not such a hassle to move an old sandbox into the trash can and then empty it.
    • Mouse wheel scrolling: now one scroll wheel tick scrolls as much as three arrow button ticks. This seems to be roughly the value used by other apps such as Mail.app, Chimera and CodeWarrior.
    • Upon application startup, Console and Scrapbook window now remember whether they had previously been hidden and don't show up, if not wanted.
    • In Preferences/Export Translators you now can set type and creator to '*' and MacCVSClient will not assign a type and a creator code.
    • FIX: "prune empty folders" option in CVS Checkout and CVS Update now works
    • FIX: enabled "prune empty folders" and "get new folders" preferences.
    • FIX: When importing and repeatedly opening the import dialog, sometimes the folder to be imported would not be shown correctly in the final import confirmation dialog (there would be an empty folder name instead).
    • FIX: log and annotation information for a lost file in the module window would not be retained when switching away from and back to MacCVSClient.
    • FIX: opening an annotation or log window for a lost file would not work (you'd see some error dialogs).
    • FIX: file path name calculation could fail in certain circumstances such as checking out a module directly into a remotely mounted volume (as opposed to a folder inside a remotely mounted volume).
    • FIX: CVS log parser had a few bugs. It now works well.
    • FIX: MacCVSClient was not able to handle conflicts of non-mergeable files properly and would under certain circumstances overwrite working copies of binary (-kb) files. This is fixed here.
    • FIX: drag-n-drop from module window could cause signals if the module window was not full and items were dragged over the empty area of the window.
Rev. 1.81 Legal Copyright © 2003-2004 Jörg Bullmann