Squeak Object Tracker - Version control for arbitrary objects, currently with Git storage
New features:
git revert
) #320git log --decorate=short
)Changes:
Fixes:
git rebase
takes long).Refactorings:
Notable:
Fixes:
Minor changes:
Refactorings:
Miscellaneous notes:
Fixed an error that could appear when adding a remote.
Notable:
Fixes:
Minor:
Object tracking:
Refactorings:
Miscellaneous notes:
Updated URLs of dependencies in the Metacello baseline.
This release contains some bug fixes that became necessary because of the progress in Squeak Trunk and OpenSmalltalk VM development (deprecated methods, immutable literals, internal changes to Dictionary implementation).
It also fixes some update problems and issues with merges.
This was pushed prior to the official announcement of Squot and the Git Browser to the squeak-dev mailing list.
You will notice the addition of an objectsReplacedByNames
property when committing changes to packages after updating to this version. The property existed before, but was not persisted. Just accept to commit it.
PkgXyz
could not be tracked if Pkg
was already tracked, even though it was only intended that categories like Pkg-Xyz
be filtered out)SquotDiffNode
s should now be constructed with title: content: children: onInclude: onExclude:
. The last two parameters are new and take blocks to modify the patch to be loaded or committed. For SquotMergeDiffNode
there is an additional onReset:
block if the solution to the conflict shall be discarded.squotAdjustToResemble:
was removed and is no longer sent. Its code should go into the new blocks to be supplied to onInclude:
and onExclude:
(see above)adjustedBy:
on artifacts and their diffs was removed and is no longer sentsquotArtifactLocatorFor: priority:
pragma in the SquotFileSystemStore
. Add extension methods to provide additional ways to auto-detect objects in files.SquotArtifactLocator
with a detection block that tests whether a given file reference contains an object sought after. The block takes also takes an object that represents the search through the file tree as parameter. The search is progressed by telling this object which directory entries to look at. Found artifacts are also added via the search object.forgeLazyArtifact: deserializerFactory: serializerFactory: objectClass:
, so the serializer and deserializer to be used can be specified here.SquotPackageShadow
sends a different message to the serializer object to serialize its MCSnapshot
. The new message also includes the package's name (which is needed by the Tonel serializer). See 4f16d9a.squotAllSerializers
and squotSpecializedSerializers
. To make this work, add extension methods to the trackable classes with the pragma squotSerializer: priority:
and return your serializer class from these methods. This mechanism is used to offer the choice between Tonel and FileTree code output.SquotSaveVersionDialog
(a. k. a. commit window) and SquotChangedArtifactsChooser
(a. k. a. load window)SquotPackageShadow
s are now equal if their package names and the contained MCSnapshot
s are equal.addGlobalObjectsToStore:
is no longer called in the method to load a patch. It is instead called in the invoking methods that load or merge from a version.New features
Functional changes
Bug fixes
API changes