views:

288

answers:

2

Maybe just maybe somebody knows of an plugin that will let VSS do perforce-like changelists? I know its a long shot, but we are stuck with VSS.

A: 

I do not believe VSS supports this type of functionality. You should probably come up with a business case to management that describes your issues with VSS, and how switching to something else would reduce development risk and improve productivity.

There are numerous free/open source SCMs, as well as some commercial products (like Perforce) that are reasonably priced.

Good luck - I was in a similar situation at one point.

rifferte
+1  A: 

You say you're stuck with VSS -- would switching to Team Foundation Server be an option? It's basically the successor to VSS, and, if you're under direction to remain a "Microsoft shop", it may still satisy your requirements. Team Foundation Server supports changelists (changesets -- whichever term you prefer). Summary:

Source control Team Foundation Server provides a source control repository, called Team Foundation Version Control (TFVC). Unlike Microsoft's previous source control offering, Visual SourceSafe (VSS), which relied on a file-based storage mechanism, Team Foundation source control stores all code, as well as a record of all changes and current check-outs in an SQL Server database. It supports features such as multiple simultaneous check-outs, conflict resolution, shelving and unshelving (shelving is a way to save a set of pending changes without committing them to source control, while still making them available to other users), branching and merging, and the ability to set security levels on any level of a source tree, alongside the most visible features of document versioning, locking, rollback, and atomic commits. The source control mechanism integrates with Team System's work items as well; when a check-in (termed "changeset") occurs, a developer can choose to have his code associated with one or more specific work items, to indicate that the check-in works towards solving specific issues. TFS administrators can enforce check-in policies that require Code Analysis requirements to have passed, as well as to enforce the association of check-ins with work items, or update the state of associated work items (like flagging a bug as "fixed" when checking in code that has the bug fixed). Individual versions of files can be assigned labels, and all files with the same label forms a release group. Unlike VSS, TFS source control repository does not support linking to an item from multiple places in the source folder structure, nor does it allow an item to be "pinned" (allow different references to the same file from different directories to point to different versions in a way that cannot be further edited).

TFVC supports branching at entire source code level as well as individual files and directory levels as well, with each branch being maintained individually. Multiple branches can be merged together, with the built in conflict resolution algorithm merging the changes between two branches of the same file where it can automatically reconcile the differences or flagging them for manual inspection if it cannot. Merge can be performed at "changeset" level as well, instead of the branch level. A successful merge is automatically checked out in the source control repository.

TFVC is not limited to source code only, but using the Windows SharePoint Services infrastructure it is built on, it provides a version-controlled library for other documents in the project as well, including project plans, requirements and feature analysis documents among others. All documents in the source controlled repository can be linked with any work item, and access to them can be controlled by defining access policies.

William Leara