SVN Web Control Change History
Versioning system
Subversion Web Control (SWC) versions are following the format SWC v<major_version>.<minor_version>.<maintenance_version>
version number system. The three version numbers of the format are ordered by priority. One number within the version is increased
with each new version. All numbers having a lower priority are set to zero when a version number with higher priority is increased.
For example, the version is changed first from SWC v1.0.0 to SWC v1.0.1 and then to SWC v1.0.2, but later on to SWC v1.1.0.
Meaning of version numbers
- Major version: The major version number is increased if significant changes of SWC are applied. Significant changes
could be a complete redesign of SWC or the introduction of bigger features. Since backward compatibility is a basic principle
for SWC development, it is very unlikely that a different major version is backward compatible in means of interfaces and behaviour.
- Minor version: A new minor version is released when new smaller features are introduced. For minor versions SWC
keeps usually backward compatible since only new functionality is introduced. However, complete bachward compatibility for minor versions
cannot be guaranteed.
- Maintenance version: Maintenance versions are used for fixing bugs and solving issues without adding new features.
Maintenance versions are backward compatible within the same minor version, only the behaviour is changed in order to solve the issue ;-)
A new release of SWC gets a new version. But this does not necessarily mean that all files are changed. A file gets only a
new version if it is changed for the particualar version. Unchanged files keep their version number. The concrete version of a
single file is state within file header and in SWC API documentation. The "since" tag states the version
the concrete file is created. With this information it should be easy to investigate changes between versions in detail.
Furthermore, this change history describes the purpose for each version and details about the changes include a list of changed files.
Bugs and issues can be reported via SWC bug trackers on Sourceforge.net
(preferred) or Tigris.org. Features and enhancements can be requested on
"Feature Requests" traker on Sourceforge.net
Top
Changes in SWC v1.1.0
- Purpose: New features added.
- Important: Migration to SWC v1.1.0
Due to solution of SF #1516603 / Tigris #8 "Enable additional SVN protocols"
interface and usage of SwcConfig has been change slightly but signifcantly.
No parse errors will occur but the configuration will not work anymore!
Migration steps
For each SWC configuration (derived from SwcConfig):
- The function GetRepositoryRoot must be deleted and GetRepositoryRootDir must be
renamed to GetRepositoryRoot.
- The function GetWebspaceRootDir must be used, GetWebspaceRoot is deprecated
and not used anymore.
I'd recommend to cleanup configruation files and switch to SwcConfigAdapter as
described in SF #1563682 / Tigris #10 below. However, this is an optional step.
- New Features: The following features have been added:
- Add "Release" function (SF #1516590 / Tigris #7):
To ease releasing of project files, SWC should support a "release" funtionality.
The "release" functionality should create a ZIP file and/or a TARball including
all project files but no ".svn" subdirectories. The created files should be
displayed and downloadable on the result page of the operation.
The functionality shall be accessable via an according button
within SWC's enlarged view.
Solution:
SWC offers now the possibility to put the current content of the webspace
into a file archive called Spaceball. A Spaceball page can be opened using
the according button on the action bar of SWC. This detail page allows to
create a Spaceball by specifing a name. Existing Spaceballs are listed beneeth
and can be downloaded by clicking on its name. The directory where Spaceballs
resides can be configured within SwcConfig.
Affected files:
swc/index.php
swc/tp1_conf.php
swc/inc/config.inc.php
swc/inc/page.inc.php
swc/inc/resources/_default.php
swc/inc/resources/de-at.php
swc/inc/resources/de.php
swc/inc/resources/en.php
swc/styles/default.css
swc/styles/sTEFANs/stefans.css
swc/styles/ebc/ebc.css
swc/inc/svn_lib.inc.php
swc/inc/swc_archive_content.inc.php
swc/inc/swc_control_content.inc.php
swc/inc/translation.inc.php
swc/inc/translation_keys.inc.php
swc/inc/utils.inc.php
swc/inc/var.inc.php
swc/inc/zip.inc.php
swc/config/std_config1.inc.php
swc/config/std_config2.inc.php
- Enable additional SVN protocols (SF #1516603 / Tigris #8):
Currently SWC supports only file:// protocol, which implies the the files
are available on the same machine where also the WebSpace resists.
In order to offer a better suport for distributed systems where
WebSpace and repository are realized on separate machines, other protocols,
namely http://, https://, svn:// should be supported as well.
Solution:
Any protocol related to SVN repository can be configured via SWC-Configuration function
GetRepositoryRoot. The function GetRepositoryRootDir is not used anymore (see
Migration to SWC 1.1.0). This includes especially file://, http://, https://
svn+ssh:// protocols.
Tested protocols accessing operating systems running Apache 2 and svnserve:
Windows XP -> Windows XP: file://, http://, svn://
Windows XP -> Linux (unspecified): file:// (via Samba), http://, https://, svn://
Linux -> anywhere: no protocol.
The reason why this feature was not supported in earlier versions of SWC and why
it is (currently) not tested on Linux environment is simply because my environment
quites every request to SVN other than via file:// protocol with a "PROPFIND" error.
This is definitly an issue of my environment, since other HTTP-based SVN tools
don't work either with such protocols. Even after searching sleepless nights for
a reason or even solution I was not able to track down the issue. The online-sources
I found couldn't unfortunately mitigate the issue. I have still no glue.
The funny thing is, that everything works fine when I try to access a repository
via command line client, but when SWC uses the same command line client via PHP
it results to this error. However it works fine on my Windows XP environment and
it should work on very most Linux environment as well.
Due to different protocols, also the behaviour of the "Repository" feature changed
a little bit: Repositories can only be browsed if the repository root points to
an HTTP URL, the output for any other protocol is a flat list of files within
the repository.
For Webspaces only file protocol is supported, which makes sense since SWC shall run
on the machine that provides the webspace to control.
Incompatible interface changes:
- swc/config/config.inc.php:
SwcConfig::GetRepositoryRootDir replaced by SwcConfig::GetRepositoryRoot
SwcConfig::GetWebspaceRoot replaced by SwcConfig::GetWebspaceRootDir
- swc/svn_lib.inc.php:
function &BuildSvnDirTree(&$paths, &$tree, $max_level, &$idx = 0, $parent_dir = '', &$level = 0)
changed to
function &BuildSvnDirTree(&$paths, &$tree, $max_level, $parent_dir = '')
Affected files:
Important: Any config files.
Interfaces SwcConfig::GetRepositoryRootDir and
SwcConfig::GetWebspaceRoot is deprecated and not used anymore. Since
SwcConfig::GetRepositoryRootDir was used in previous versions, it needs to be
renamed to SwcConfig::GetRepositoryRoot. Please see also
Migiration to SWC 1.1.0.
swc/config/std_config1.inc.php
swc/config/std_config2.inc.php
swc/inc/config.inc.php
swc/inc/svn_executor.inc.php
swc/inc/svn_lib.inc.php
swc/inc/svn_control_content.inc.php
swc/inc/svn_details_content.inc.php
swc/inc/translation_keys.inc.php
swc/inc/resources/_default.php
swc/inc/resources/en.php
swc/inc/resources/de.php
swc/inc/resources/de-at.php
- Fixed bugs: The following issues are fixed:
- Add "Release" function (SF #1516590 / Tigris #7):
If SWC is configured for multiple projects it offers a list
to select a concrete project. Currently the first project is preselected
if no project is choosen. It is not possible to switch to this project immediately.
If no project is choosen a generic text - e.g. "Please select a project" -
shall be displayed as preselection in the project list.
If a project is choosen, this list entry shall not be offered.
Solution:
Text " - Select a project - " is displayed as first entry of the project list if
no project is selected. After a project is chosen, this list item is not shown.
Affected files:
swc/inc/swc_control_content.inc.php
swc/inc/translation_keys.inc.php
swc/inc/resources/de.php
swc/inc/resources/de-at.php
swc/inc/resources/en.php
swc/inc/resources/_default.php
- Cookies are not accepted by browser - behave correctly (SF #1516617 / Tigris #5):
If a browser does not accept cookies SWC behaves not correctly. The reason is
that the current state (incl. project selection, user settings, etc.) are dependent on cookies.
If a borwser does not support cookies, at least SWC should be have
correclty during a session. User settings might not be be stored persistently but
they should be kept during an ongoing session.
Solution:
Cookies are used for sessions and user settings. If the browser does not
accept cookies, the session ID is appended to the URL. User settings
are stored in the session in this case as well.
Affected files:
swc/inc/page.inc.php
swc/inc/user_settings.inc.php
- Put SVN command result output underneeth command line (SF #1516586 / Tigris #6):
Results of SVN commands are currently displayed at the
bottom of the table that shows details of SVN command
execution. If a lot of files are changed, the line is
not visible without scrolling.
To see at a glance whether the operation was
successful, the result should be displayed just beneath
the SVN command line in the result table.
Solution:
Done so ;)
Affected files:
swc/inc/swc_details_content.inc.php
- Provide default implementation for SwcConfig (SF #1563682 / Tigris #10):
To minimize the effort for configuration, configuration
methods of interface SwcConfig shall be implemented.
Solution:
An abstract class called SwcConfigAdapter is provided within
file swc/inc/config.inc.php. This class implements methods that
are usually not changed within concrete project configurations.
However, different configurations can still be applied by overwriting
the according methods.
Affected files:
swc/inc/config.inc.php
swc/config/std_config1.inc.php
swc/config/std_config2.inc.php
- Project list not shown when project is not cecked out (SF #1568508 / Tigris #11):
If a project is not checked out, the project list is not shown.
Solution:
The project selection list is now also displayed, if more than
one project is configured but the selected project is not checked out.
Affected files:
swc/inc/swc_control_content.inc.php
- Fix mini bugs (SF #1585377 / Tigris #12):
All known mini bugs shall be fixed.
Solution:
Fixed hard-coded trunk path for checkout.
Fixed missing footer in default help page.
Fixed help page display if project is not checked out.
Fixed unsecure code in utils.inc.php.
Fixed uncought warning when reading not existing spaceball.hints.
Fixed typo in translations.
Affected files:
swc/index.php
swc/swc_help_page.php
swc/inc/swc_archive_content.inc.php
swc/inc/svn_lib.inc.php
swc/inc/utils.inc.php
swc/inc/resources/de.php
swc/inc/resources/de-at.php
swc/inc/resources/en.php
swc/inc/resources/_default.php
Top
Changes in SWC v1.0.1
- Purpose: Maintenance release to make SWC compliant to PHP5 strict standards.
- Details: The following issues are fixed.
- Parts of the code does not comply to PHP Strict rules. (SF #1463764 / Tigris #3):
Violations with message "Strict Standards: Only variable references
should be returned by reference" are known in affected files.
Affected files:
swc/inc/svn_executor.inc.php on line 60
swc/inc/svn_lib.inc.php on line 264
swc/inc/svn_lib.inc.php on line 277
swc/inc/svn_lib.inc.php on line 290
These violations shall be removed.
- Wrong text if no project is configured. (SF #1463767 / Tigris #2):
Wrong text if no project is configured.
If SWC is opened without a specified project, the
character '%s' as placeholder for the project title is
displayed within the error text. A text without this
placeholder shall be displayed if no project is selected.
Top
This software was created by POWERED BY .
|