# Subclipse Pre-1.0 Changelog

This file documents all of the changes that were made to Subclipse prior to the 1.0.0 release process. Please visit http://subclipse.tigris.org/ for the latest information on Subclipse.

#### Version 0.9.102
23 December 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.102

- Based on Subversion 1.3.0 RC-7. Binaries included for Windows
- JavaSVN trunk from r1887 included
- New wizard for performing checkouts, unifies and replaces the three previous options. Wizard provides most of the same features as CVS checkout wizard.
- Added New Project from SVN option that runs checkout wizard.
- Added Import Project from SVN option that run checkout wizard.
- When doing a checkout and files exist in checkout location, we check to see if these files exist in repository and delete them if they do. When the files do not exist, an SVN error was being logged in the console. These errors will now be suppressed so as not to confuse user into thinking it was a problem.
- When sharing a project, the process will now create any parent folders that are needed.
- Enhanced Branch/Tag maintenance via the new subclipse:tags property. See http://subclipse.tigris.org/branch_tag.html for more information.
- Compare with Branch/Tag now provides the option of doing a graphical compare or output to unified diff.
- Improved an error message/exception we were logging based on new details we discovered about the source of the problem. See: http://subclipse.tigris.org/faq.html#path-case
- Added Replace with -> Branch/Tag option.
- Fixed bug when using svn+ssh:// and JavaSVN and password authentication.
- Fixed bug when committing via JavaHL and no commit message is entered. Commit would just do nothing and not log any errors. Appears to be a problem in JavaHL when receiving a null. Changed it to give it an empty string.
- Substantial updates to online documentation.
- Added support for prompting for SSL client certificates. JavaSVN adapter only.
- Added Add to Version Control option to Synchronize view.
- Update action from synch view will not process folder selections as opposed to the items in the folder. This improves performance and more importantly allows the folder itself to be updated correctly. (403).
- Fixed handling of svn:ignore action in Synchronize view.
- Do not show Mark as Merged option in Synchronize view when you have an incoming change and a local delete. User needs to decide what they want to do and use Revert and/or Update.(398).
- Added Show Properties option to Synchronize view. Enabled on outgoing changes only.
- Small fix to handling of selections by Revert option in Synchronize view.
- Added Override and Update option to Synchronize view. This reverts local changes before doing an update. (403).
- Fix ClassCastException when importing preferences. (427).
- Improve set property dialog when setting a file property on a folder. The dialog instructs you to check the box to set the property recursively. (257).

#### Version 0.9.101
5 December 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.101

- Fixed NPE when a pinned/scheduled synchronization existed for a project that was no longer connected with SVN. (431).
- Removed the command line adapter as an option. If that was the default in preferences, JavaSVN will be used instead.
- When committing a folder delete, always use the non-recursive option. (402).
- Changed "Fetch Affected Paths on Demand" preference to be off by default. The History view is a bit smoother on high-latency connections with this off. And with the page on demand changes to the view there is less of a need for this preference. It can still be turned on in preferences if needed.
- Attempting to move a file/folder to a project not managed by SVN will now produce an error dialog instead of a NPE. (428).
- Fixed a NPE when performing a commit that includes unversioned or missing items.
- Fixed bug when committing via JavaSVN adapter. When the commit had errors (such as transaction out of date) the error messages were not being relayed.

#### Version 0.9.100
1 December 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.100

This release is based upon Subversion 1.3.0 Release Candidate 4. As such, it is being posted to a new update site URL so that only users that are aware of this fact and make a specific choice to install this release will get it. When Subversion 1.3.0 is GA, the old update site URL will be updated with the latest version. The URL of the new update site is: http://subclipse.tigris.org/update_1.0.x/

- Subversion 1.3.0 RC4 support included.
- Support for SVN_ASP_DOT_NET_HACK environment variable on Windows.
- Improved performance of Synchronize action when JavaHL is the adapter. JavaHL now supports the same improved svn st -u API that JavaSVN already supported.
- Reduced startup initialization times of Subclipse plugin. Specifically, instead of initializing all three client adapters, just the one chosen in the preferences is initalized. This typically eliminates a 5000ms timeout warning that appears in the Eclipse error log.
- Repository connection no longer shows username and password fields unless the CLI adapter is being used. This is because we do not want these fields stored in Subclipse, we want to let the client adapter prompt and optionally cache the values.
- Repository connection no longer asks for a Root URL. The connection URL is not automatically validated by running svn info, which as of Subversion 1.2 returns the root URL.
- Fixed StringIndexOutOfBoundsException in resource history view when a log message starts with a URL.
- When JavaSVN is the client adapter, a commit of files across several projects from the same repository will now be performed as a single atomic commit. With other adapters it is still one commit per project due to API restrictions.
- Several changes to set the proper encoding on remote files based on the local encoding. (419).
- Console messages from JavaSVN and JavaHL adapters have been externalized in svnClientAdapter to allow for localizations to other languages.
- Enhanced Show in Resource History view and Show Log dialogs to support --stop-on-copy option and also to retrieve revisions in "blocks" instead of all at once. The default is 25 and can be set in the preferences. This greatly improves performance.
- Added option to produce a unified diff of a revision from the Resource History view.
- Added option to create a tag from a revision in the Resource History view.
- Added option to revert the changes from a revision range in the Resource History view. This initiates a reverse merge of those revisions against your working copy. You can then review the changes, adjust as necessary, and commit.
- Added Export option to Repository Browser. This lets you perform an svn export from the repository to the local file system.
- Added Import option to Repository Browser. This lets you perform an svn import to load a folder into the repository from the local file system.
- Added option to create branch/tag from Repository Browser.
- Added option to select two items and produce a unified diff. So this lets you compare tags/branches etc. It brings up a dialog to specify which URL is the From/To and also override the revisions that are compared.
- Added Copy URL to Clipboard option to Repository Browser. This is a just convenience item for getting a URL on to your clipboard.
- Added Properties option to Repository Browser. This lets you see the info in the repository about the selected item, such as any current Lock information as well as any properties that have been set on the item.
- Added Annotate option to Repository Browser.
- Added capability to "turn off" Subclipse's automatic handling of deletes. This is useful when you are using a tool that generates files (such as JSP's) by deleting and re-adding the file. In this case, ideally you would want Subclipse to ignore the delete and just pretend it did not happen. This feature is enabled by adding a property named "DeferFileDelete" with a value of "true" to any folder that is a parent of the files being deleted. (74).
- Commit dialog will now show items with svn status of missing. They are always deselected by default. If selected they will be converted to a delete for the commit just as unversioned files are converted to adds as part of the commit.
- Added support for cancelling operations when using JavaHL or JavaSVN. Be sure you understand what your adapter is going to do before you click that button. Generally, atomic operations like commit cancel well. Things like checkout/update can leave you working copy in an inconsistent state.
- Fixed an ArrayIndexOutOfBoundsException in Resource History view. (298).
- When a folder contains unversioned (and unignored) resources, decorate the folder as modified. This is how the CVS plugin handles it.
- Enhance the Show Pending Operations view to show missing items and also add an option to mark the items as deleted. Of course, they can also be restored by using the Revert option.
- Enhance the Show Resource History view to have a toggle which allows showing the affected paths for a change using a Compressed Folders view, as opposed to the default flat view.
- Relaxed URL parsing rules to add support for svn+xxx:// URL's, provided that the selected client adapter supports the specified URL.
- Added Copy and Export options to Team menu. The Copy option is being provided to work around an Eclipse limitation where it does not allow a Team Provider to capture a copy operation, as it does a move operation.
- Fixed bug where local copies of folders were decorating as modified instead of added.
- Added Replace with Base Revision menu item. (358).
- Missing items show in Synchronize view as Outgoing Deletes instead of incoming additions.
- Fixed a potential NPE in decorator code. (395).
- Improved handling of svn:externals that create a multi-level folder structure in the local project.
- Add support for relocating repositories. Right-click on a Repository location adds a Relocate option that allows you to change the URL of the repository. It then updates all projects linked to that location by running the svn switch --relocate command.
- Auto-sharing of an imported project will associate the project with a location based on the root URL of the repository when the imported project is a Subversion 1.3 working copy.
- Added Compare with Branch/Tag option. This produces a unified diff of your WC and the selected URL using the svn diff command.
- Improved the Set Commit Properties dialog so that only the revision properties you modify are changed. (405).
- Modified the JavaHL adapter to use the SVNClient class instead of SVNClientSynchronized. This appears to provide a small performance boost and takes advantage of the improved thread safery in 1.3.

#### Version 0.9.37
3 November 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.37

- JavaSVN 1.0.0 included.
- Chinese localization included.
- Made Action column in resource history view resizable. This lets you view the column description in its entirety. (413).
- Convert plugins to full Eclipse 3.0 support with OSGI manifest files.
- Refactor svnClientAdapter code so that it can be run or compiled without JavaSVN installed.
- Enable link to editor support in History View when Synchronize is active.

#### Version 0.9.36
26 October 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.36

- Various problems when committing. This was due to an ArrayIndex problem.
- Problem when doing Compare with BASE when there were svn:externals folders. (412). This problem is not completely resolved. The immediate error was fixed but if there are differences in the externals folders they are not being shown.

#### Version 0.9.35
25 October 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.35

- JavaSVN included from /branches/1.0.x @ r1651.
- Japanese localization included.
- Enhanced SSH support when using JavaSVN as adapter. JavaSVN will prompt you at runtime for things like your SSH keyfile and passphrase. JavaSVN can optionally cache your information using the Eclipse keyring.
- Fix for NPE when refreshing status of linked resources. (375)
- Commit/Revert now handles missing/replaced resources. (388)
- Enhancements to handling of externals in Synchronize and status cache.
- Fix for NPE in History view when a null comment was returned.
- Modified JavaSVNClientAdapter to defer loading the JavaHL adapter until/unless it needs it. In Subclipse, this is never as it is only needed for the createRepository() method, which Subclipse does not use
- Enhanced the JhlClientAdapter isAvailable() method to attempt to construct the JavaHL svnClient class. This is to catch the scenario where it successfully loads the library but it is an incorrect version of the library.
- Added a Checkout As Project Into .. action that allows you to specify a location outside the normal workspace. (379)
- Removed dependency on jakarta-regexp.
- Removed dependency on commons-lang.
- Fixed an exception when drag and drop from repository view to history view. (318)
- Various minor performance improvements in internal status cache.
- Fixed bug in Update action from Synchronize view when there were incoming directory deletions. (399)

#### Version 0.9.34
13 Septermber 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.34

- Fixed major bug in update from Synchronize view. (390)
- The Add to Version Control operation will remove the read-only attribute if it is set on the local file. This can help people migrating from another version control tool that sets the local files as read-only.
- Minor updates from code review of FindBugs tool.
- Added some additional trace information to help find a bug in getResourceType() method that some users are experiencing.
- Changed OperationManager so the progress dialogs now only catch notify messages. This was so that the update stats do not appear in the dialog anymore.
- Improved console output when update is performed from Synchronize view. Statistics and summaries are held off until all updates have been performed.
- Fixed bug in getInfo() of javaHL adapter. It was throwing an exception when info was asked for resource not yet in repository (e.g. added files).
- Fixed bug in cmdLine adapter's propget(). On Windows it was leaving additional CR character at end of the property.
- Reimplemented cmdLine adapter's list() command - now uses "--xml" argument which is reliable to parse.
- Fixed cmdLine adapter's blame(). When both from and to revisions were passed, the from was always ignored.
- removed dependency on commons-lang
- updated to jakarta-regexp-1.4

#### Version 0.9.33
26 August 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.33

NOTE to JavaSVN Users: As of this release of Subclipse, support for JavaSVN is a client adapter is now included as part of Subclipse. There is no need to install anything else. Subclipse should automatically use JavaSVN as the default client adapter if JavaHL is not found.

The Synchronize action takes another leap forward in correctness in this release. However, in some cases this is at the sake of performance. To make the view act correctly we needed some information that Subversion is not returning in the status -u command. So we have to follow that up with an svn info command. This is an O(N) algorithm where N is the number of incoming changes. Depending on the speed of the connection, this can really slow things down. All is not lost, however. JavaSVN was able to rev their API to provide all of the information in the single status call. So if you use the JavaSVN adapter you do not suffer any performance boost. Also, we are working hard to get the Subversion API in JavaHL revved for Subversion 1.3. Finally, we are also looking for other ways to approach the problem that could work today. Correctness has to come before performance, and the changes in this release really get this action closer to the correct behavior.

- Support for JavaSVN as a client adapter
- Subversion 1.2.3 JavaHL binaries for Windows
- JavaSVN 0.9.2 binaries
- Better progress information during commit and update
- Better reporting of errors when JavaHL library fails to load. The errors are shown in a dialog when you attempt to select JavaHL in the preferences.
- Internal performance improvements
- No longer log exceptions about loading client adapters, provided that at least one adapter loads successfully. This is just to reduce log clutter and confusion.
- Fixed a NPE querying getRepository() on RemoteResources. (360)
- Linked resources are now excluded from Synchronize view. (352)
- Fixed NPE in SVNUrlUtils.java#getUrlFromLocalFileName() when localFile equals parentFile
- Fixed NPE when doing Synchronize on a non-root element.
- Refactored base resources to not inherit CachedResourceVariant. Prior to this change there were two extra copies of every file. The on Subversion keeps, and the one Eclipse keeps. This eliminates the Eclipse copy. This is a performance booster, not to mention disk storage. (266)
- Improved performance of update action from Synchronize view. (346)
- Changed default preferences. Will only effect new users/workspaces. Console options are on by default. All icon decorators are on, all text decorators are off. Made url_short the default project decorator instead of url.
- Several improvements to Share Project:
  1. Replaced usage of term "module" with "folder"
  2. On the Enter Folder Name page, we now show what the URL will be based on what the user enters. This should make it more understandable what they are doing.
  3. At the end of the process, instead of launching a Synchronize process, we just open the commit dialog. This should make it more obvious that a commit is still needed.
  4. If you try to share the project with an existing folder, we now stop you and explain that you cannot do that. Previously, we suggested that they would be able to Synchronize with that location, which is not currently the case.
  5. Related to #4, when you disconnect a project from SVN and choose to remove the metadata, we now give a confirmation warning that explains that they will not be able to share the project back to the same location.
- The Use specified folder name option allows the folder to be choosed from a repository browser. This dialog, also allows new folders to be created so you can create any intermediate folders if needed. Finally, the folder you choose has "/New folder" appended to the end to emphasize that you have to supply a non existing folder for the final folder in the URL.
- Allow checkout actions from root URL. (366)
- Update action from Synchronize view updates to the specific revision shown in the view, as opposed to HEAD.
- Checkout As... action no longer just deletes every local resource that was created by the New Project wizard (such as the .classpath file). Now it first runs svn info to see if that file exists in the repository and only deletes the local file if the file exists in the repository. If the local file is not deleted, the Subversion checkout will abort.
- Show the repository name on the prompt for username and password dialog. (372)
- Added svn:ignore action to Synchronize view.
- Fixed a NPE in Show in Resource History when the repository root URL is invalid.
- More help system updates.
- Enhancements to Resource History view. Added a view menu with toggles to show/hide the comment area and/or the affected paths. When the latter is hidden, we run svn log without the -v option which generally is considerably faster making the view more responsive.
- Fixed several problems with Compare. Identified a problem in JavaHL when svn:eol-style is specified. Until the JavaHL problem is fixed, users will still need to use the Eclipse preference to ignore white space. JavaSVN and the CLI do not have the problem.
- Fixed NPE when doing revert on Project folder property change. (376)
- Improvements when using Label as project decorator. (309)
- Fixed potential NPE in decorator code. (291)
- Added Show Log button to the Switch dialog. (377)

#### Version 0.9.32
25 July 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.32

NOTE to JavaSVN Users: If you want to continue to use JavaSVN you should wait until a corresponding update to JavaSVN has been made available. Then install this update first, followed by the update to JavaSVN.

- Eclipse 3.1 GA supported
- Added an HTML changelog to the project and link to it in the online help.
- Major changes to how the status cache is managed. This effects overall performance of the decorators and Eclipse itself. The impetus of the change however was to correct some problems in the Synchronize functionality. There should be some big improvements in this feature now. Remaining bugs should be minor.
- Added decorator for deleted folders (previously showed modified decorator).
- Make the Checkout progress info more verbose so that you can see stuff is happening even if you do not show the console view.
- Log message and author can now be edited from the Show in Resource History view.
- Enable drag and drop from the Repositories view to the History view. (318)
- Added a new variable "label" to the project decorators. This will use the label you assigned to the repository as the decorator. (309)
- New icon for SVN Repositories view to distinguish it from the icon that CVS uses. (290)
- More help updates
- Modified the Repository Properties dialog so that the repository URL is always shown. It is now shown just above where you set the root URL.
- When the case of Eclipse workspace path does not match the case of the actual filesystem path, we will now issue a warning dialog alerting the user to the problem so they can fix it. There is also a bug filed with Eclipse.org to fix this problem in Eclipse so that it cannot happen. (285)
- Error in Eclipse 3.1 in the Choose Root Url Dialog (307)
- isManaged was not checking that the resource is actually managed by Subclipse. (301)
- Fixed a NPE in the Pending Operations view (302)
- Removed dependency on commons-logging from svnClientAdapter. This could prevent the Subclipse plugin from loading on systems where another copy of the JAR file was located in the JDK extensions folder. svnClientAdapter now use the logging facilities provided in Java 1.4. (267)
- Removed almost all usage of Eclipse "internal" classes. This should make it easier to support future versions of Eclipse since we no longer have to worry about changes to internal classes.
- Fixed bug retrieving property value with cmdline client adapter
- Fixed bug in cmdline client adapter introduced when the "Fetch paths on demand feature was added.
- If no root URL is specified for a repository, we will use the repository URL as entered, instead of returning a null.
- Fixed problem in code that identifies bug ID's in log messages to handle bug ID's that have embedded spaces in them.
- TortoiseMerge changed one of its parameter names. Fixed sample parameters as shown in preference dialog.
- Fixed encoding of command line output when using the cmdline client adapter. This specifically applies to commands where we use outputted XML, such as svn log. (326)
- Commented out some seemingly unnecessary but very performance damaging code at the end of the commit process.
- Fixed spelling error. (330)
- Modified Show Annotations action to supply a peg revision of @HEAD. This allows the command to work properly when you perform it on a file that has never been modified in its current location, such as when working in a new branch or when a file has been moved.
- Show Annotations should now work with the Command Line Adapter
- Handle an exception that can occur when discarding a repository location and checking for projects that might still be attached to that location.
- Fixed the way stats are reported in the console where svn:externals are used
- Status cache was not saving/restoring lock information correctly. (338)
- Added workaround in svnClientAdapter for a JavaHL problem in retrieving the BASE revision for a newly added file. (339)
- Added workaround for an apparent Eclipse bug in validateEdit(). Sometimes we are passed resources that are not read-only. So we simply added our own filter on the array of resources that Eclipse passes us.
- Improved the message that is displayed when using Checkout As ... and creating a project that creates more local files than just the .project file, such as a Java project. (237)
- You can now drop folders and projects into the history view.
- SVN Quick diff will now reload reference document after commits.

#### Version 0.9.31
23 May 2005

from: /trunk/subclipse
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/0.9.31

NOTE to JavaSVN Users: If you want to continue to use JavaSVN you should wait until a corresponding update to JavaSVN has been made available. Then install this update first, followed by the update to JavaSVN.

Subversion 1.2 Support

- Updated JavaHL support to new 1.2 framework, such as Notify2
- Support for new Lock/Unlock commands
  - Added decorators to show files that are locked (not modified) and read-only (needs-lock).
  - Added information to properties page about local lock information.
  - CommitDialog has option to keep Locks on commit
  - Added locking support to validateEdit() method of team provider. This means if you are editing or refactoring resources that require locks, you will be prompted to acquire locks and must get them before you can continue.
- Resolved problems when taking any action that needs to retrieve the contents of a file that has been moved.
- Support --dry-run option on merge from JavaHL adapter

UI Refinements

- New/updated icons
- Fixed location of annotate icon for Log Entries. It was pointing to a resource that didn't exist.
- Resolve action should apply to folders as well as files. Moved ResolveAction from File to Resource contribution (280)
- Removed border from log entry comment field to match other components in the view
- Wrote more HTML help, improved CSS look-and-feel, added images, fixed HTML warning. Updated help index/TOCs

Other Issues

- Copied message keys from Team and CVS plugins. The API of the internal Policy classes has changed in Eclipse 3.1 (283)
- Change the way that the conflict problem markers are created to avoid creating a loop scenario with the decorators.
- Modified update, merge and switch via JavaHL to output "statistics" in the console such as the number of files updated, added, conflicted etc...

Subclipse Repository Restructuring

The repository has been restructured so that there is now a "Eclipse2.x" branch where the old Subclipse release can be modified. The current release has moved from the "subclipse-3" branch to "trunk". The subclipse-3 branch will hang around for a while in case we need to make an emergency fix of some sort for Subversion 1.1.x users.

#### Version 0.9.30
8 April 2005

from: /branches/subclipse-3
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/subclipse-3-0.9.30

- Reverting a folder property change reverted changes to files in folder. (272)

  This problem would have existed ever since we added the Revert dialog (0.9.23). Since this bug causes you to lose work we are creating an immediate fix release.

The next two problems were NPE's in the new feature to fetch affected paths on demand in the resource history view. You could work around these problems by just turning off the feature in the Team -> SVN Preferences.

- NPE when Showing Resource History on a specific file. (274)
- NPE when Showing Resource History on a branch and then selecting a revision that occurred prior to branch creation. Basically, anytime a resource has been moved. For this fix to work correctly, you need to have correctly set the Repository Root URL in the SVN Repositories view. (275)

#### Version 0.9.29
7 April 2005

from: /branches/subclipse-3
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/subclipse-3-0.9.29

- Windows JavaHL updated to Subversion 1.1.4
- Subversion 1.1.4 includes a JavaHL fix that resolves a problem when spaces appeared in path names.
- SVN Conflict changes:
  - new decorator used which to distinguish an SVN conflict from an Eclipse Synchronize conflict.
  - Problem marker is now added for an SVN Conflict. This causes the warning symbol to appear, and also "ripple" up the hierarchy. Also it will show in the Problems view.
  - Several "Quick Fix" resolutions are attached to the Problem Marker to assist in resolving the conflict.
- Show in Resource History improvement "Fetch Affected Paths on Demand". There is a new preference to control this feature and it is on by default. This feature greatly reduces the memory usage of this feature, and it also improves performance since a lot less information passes from the server to the client.
- SVN Property management improvements. When adding properties, the list of known properties appear in a drop-down with tool-tip help. The list can be extended by 3rd party plugins.
- Commit Dialog now has a preference that controls whether unversioned resources are selected by default. This preference is off by default, meaning unversioned resources will not be selected.
- Branch/Tag dialog now lets you create branch at a specific revision.
- Added support for auto sharing imported projects (Eclipse 3.1). Added support for auto-adding new projects to version control.

  In Eclipse 3.1 the team plugin allows team providers to be notified when projects with meta files are imported or created in the workspace. When this happens the project is marked as shared and the project's files are marked them as team private.

- svn:ignore action modified to run as an operation.
- More help updates.
- Repository items are now sorted by name.
- Removed some usage of Internal Eclipse API's.
- NPE in username/password dialog when the username is null. Also, null passwords are now allowed. (120, 248)
- When committing just a prop change to a folder, items below the folder are no longer committed. (190)
- NPE from Repository View when it is closed after adding a repository. (242)
- Added some missing message properties. (243)
- Remove calls to getProviderMapping(void) for Eclipse 3.1 M6 compatability.

svnClientAdapter Fixes

- Fixed NPE when the only common item between two paths was the '/' base directory. This caused an NPE at the end of the commit operation. This fix closes several issues and was a very commonly reported problem.
- Enhanced JavaHL console output when copying URL to URL. It now includes the revision being copied.
- Updated DateSpec#toString to return an SVN compatible date string
- Command line client did not support a recursive 'ls' command
- Operations fail when no commit message given (256)
- Added -force-log option for all commands that take a commit message (255)

#### Version 0.9.28
2 March 2005

from: /branches/subclipse-3
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/subclipse-3-0.9.28

- Added the open and annotate actions to Resource History View (227)
- Improve performance of Compare with Base Revision (165)
- Sort repositories alphabetically (232)
- Fixed error when parsing file:// URL's (222)
- Fixed problem when only the last character of repository names varied. Only one repository would show in view. (234)
- Added support for relative paths in the project set import mechanism. (224)
- Synchronize View - Incoming deletes are now refreshed correctly. Outgoing deletes is now the only problem with refresh.
- Removed logging of command line to console for command like propget and status that are used a lot and have no value in the log.
- When update or merge either produce a conflict, or even when they do a local merge ('G' in the console), the message is now logged as an error so that it gets a different color in the console and also brings the console to the front view.
- Added support in JavaHL Adapter for prompting the user to supply a username/password as well as prompting to accept digital certificate.
- If using the JavaHL Adapter, the best way to configure a repository connection now, is to not supply any username and password. You will then be prompted to supply the password if it is needed, with an option to let Subversion cache it. If server password changes, you just get prompted again and can update the cache.
- Commit Dialog Enhancements
  - A new preference for SVN now exists under Workbench -> Colors and Fonts to specify the font to use for the commit comments. It defaults to Text Font, which should be a monospaced font (which is what we ideally want).
  - Added support for the following SVN properties that can be set on the Project folder (these all come from the same feature in TortoiseSVN):
    - tsvn:logwidthmarker

      If specified, a line will be drawn in the commit comments dialog to show that line number. Many projects like Subversion itself, do not want you to go past 80 lines in a single line of comment. This is an aid to do that properly. You must have a monospaced font for this to be 100% accurate.

    - tsvn:logminsize

      If specified, the OK button will not be enabled until the log comment contains at least this many characters.

    - tsvn:logtemplate

      If specified, the commit comment will be initially filled in with the contents of this property.

- Merge Dialog Enhancements

  Our dialog was modelled on the dialog used in TortoiseSVN. There were some discussions on their mailing lists about improving the UI of this dialog. We are mirroring the changes that they made to their dialog in ours, and added some new options in the process.

  - Layout and terminology was tweaked to reinforce the idea that you a merge is taking the diff between 2 URL/revisions and applying that diff to your WC.
  - A new Show Log button was added that lets you browse the history of the URL and select revisions from that dialog. The "select revision" process tries to figure out what kind of merge you might be doing and act accordingly to help you.
    - If you take Show Log from the WC button, and select a revision, it will apply that revision to the From revision field, provided that it is empty. The idea here is that you are finding the revision for the last time you did a merge and want to use that as the starting point for this merge. This is the "repeated" merge scenario of keeping a branch up to date with trunk or another branch.
    - If the "Use From URL" button is checked and you take the Show Log option from either the From or To revision fields, then the "revision range" you selected will be filled into the two fields. The from revision will be the lowest revision number selected minus one (N -1) and the highest revision will be filled in the To revision. So if you selected just revision 100, then 99 would be the From revision and 100 would be the To revision. This scenario is the "port" revisions from one branch to another scenario.
    - Finally, if the Use From URL button is not checked, then the revision you select is what is filled in to the field, and only that field.
  - In addition to these changes, buttons were added to a Dry run merge and also to produce a Unified Diff file. These two options allow you to "test the merge" settings. As such, both options leave the dialog open so that you can then just press Merge with the same settings.
  - The Dry run option currently only works for the Command Line adapter, but support for this option should make it into JavaHL in svn 1.2 timeframe.

#### Version 0.9.27
2 February 2005

from: /branches/subclipse-3
http://subclipse.tigris.org/svn/subclipse/tags/subclipse/subclipse-3-0.9.27

- Update JavaHL JAR and library to Subversion 1.1.3.
- Support for LinkedResources
- Added actions to Synchronize view (see NOTE at end of message):
  - commit
  - revert
  - edit conflicts
  - show in resource history
  - mark resolved
  - mark as merged

  This last action is different than Mark Resolved which is for a Subversion conflict.

  Mark as Merged assumes you have manually merged the local copy of the file. What it does is set aside the current file. It then does a revert and an update, followed by a restore of the edited file. This causes the WC to be all set to allow a commit to happen.

- Many help system improvements
- svnClientAdapter fixes
  - NPE when committing on OS X
  - patch to date format parsing in command line adapter
  - improve performance of log with command line adapter
- Fix to properly initialize SVNClientAdapterFactory (206)
- Share Project now launches Synchronize action at finish as dialog states.
- Made Cleanup, Revert and Resolve run as background tasks.
- Updated annotate action to run in the background
- Resolved long standing issue with .svn files showing after checkout and commits of new files.
- Prompted twice when removing a repository root by pressing delete (208)
- NPE choosing no repository root (109)
- Modified Switch/Merge/Branch dialogs to set the text on the radio/check buttons as opposed to using a standard control. (210)
- Improves the UI by making the text clickable.
- UI blocked for several seconds while opening the Resource History view on a resource (213)
- Moved references to internal classes and removed unneeded processing in SVNMoveDeleteHoook.java

NOTE on Synchronize Action: A lot of functionality has been added to Synchronize in this release. The action should be usable now. However, it is important to note that this action is still in development and there are a number of very obvious bugs remaining. The most conspicuous of these are that we have problems correctly refreshing the view after you commit/update. These problems are most obvious when the commit/update involves adds or deletes. In most cases, deleting the synchronization and re-running it will properly refresh everything.