Overview of SSAnalyzer - Clean Up Duplicate File Names

The Duplicate File Name portion of SSAnalyzer addresses two common and potentially costly and problematic issues with how users may incorrectly use Visual SourceSafe.  They are:

SSAnalyzer provides all available information on like-named files in a single GUI so the user can quickly, easily and intelligently determine:

  1. If a problem does in fact exist.
  2. The extent of the impact of the problem.
  3. How best to resolve the problem
  4. Tools to quickly apply the resolution
  5. Means to track what resolution was applied.

To begin cleaning up duplicate file names, you should have previously completed the following steps:

  • Created an SSAnalyzer database
  • Imported transaction information for your VSS repository to the SSAnalyzer database.
  • Login to the SSAnalyzer database.

To access the the duplicate file name GUI, follow main menu CleanUp -> Duplicate Names.  Once the option is selected, the user will be presented with the following screen:

                    View larger screenshot

This screen is divided into four primary areas. Each of these areas can be resized using the splitter bars. In order of detail from top-left to bottom right, these areas are:

  • File Group summary - this provides the ability for the user to focus on specific types of files (based on the file extension).  The user should expect that most problem files will fall under the various source code file groups.  (The user can create new or modify existing file groups.  See Database -> Edit Support Tables.)




  • Unique file names - This area has one entry for each unique file name.  Each entry contains the following useful information:

  • ColHdrMeaningDefinitionNotes
    FileNameFileNameThe unique file name
    CntCountNumber of physical files that share the file name
    SigCntSignificant CountNumber of active (non-deleted) files that share the file name
    LinksLinksTotal number of links VSS reports that these files are used in.
    ActvActive LinksTotal number of active links VSS reports that these files are used in
    Br#Branch CountNumber of files that were created due to explicit branches
    RB#Rollback CountNumber of files that were created due to implicit branches (rollbacks)
    ActionsActionsNumber of unique files for which SSAnalyzer could determine a definite action to be takenPopulated after user performs Scan for replacements
    RevuReviewsNumber of unique files for which SSAnalyzer determined a possible action which needs user review and approvalPopulated after user performs Scan for replacements
    NAsNo Action CountNumber of unique files for which SSAnalyzer could not or would not determine an actionPopulated after user performs Scan for replacements



  • Selected file name - This area contains details for each physical file with the selected file name:

  • ColHdrMeaningDefinitionNotes
    FIDFileIDSSAnalyzer's internal unique identifier of the physical file.
    Act?Active?Indicates whether or not this file has any active linksY - Actv > 0, else - N
    LnksLinksNumber of links VSS reports for this unique file.
    ActvActive LinksNumber of active links VSS reports for this unique file.
    VerCntVersion CountNumber of versions
    InitVerInitial VersionInitial version of this fileWill be one (1) unless the file was branched and/or rolled back
    MxVerMax VersionMaximum (or current) version of the file
    InitVerDateInitial Version DateDate the initial version was created
    MxVerDateMax Version DateDate the max version was created
    Cr?Create ActionOne of three ways to create a new physical file in VSS
    • Create/Add - this is a new file that is either explicitly created in VSS or explicitly added to VSS. Entry will be blank.
    • Branch - user performed an explicit Branch action in VSS.  Entry will contain B.
    • Rollback - user performed an implicit Branch via an explicit Rollback. Entry will contain R.
    Match %Match PctPercent that this file matches the Primary file
    Diff #Diff Count Number of lines that are effectively different between this file and the Primary fileIt is possible to have DiffCount = 0 and Match Pct < 100%. This simply means the unmatched portions are not effective
    RpFIDReplacement FIDFID of replacement file
    RpActReplacement ActionReplacement Action
    RpPinReplacement Pin VersionVersion to be pinned if Action is Replace & Pin
    RpMxVerReplacement Max VersionMax version of Replacement FileFor quick comparison to MxVer
    RpLnkReplacement Link CountNumber of active links for Replacement FileFor quick comparison to Actv
    RpVerReplacement VersionCurrent version of Replacement File??



  • Projects - This area contains details for each project/link that uses the highlighted entry in the Selected file name area.  Details include:

  • ColHdrMeaningDefinitionNotes
    NameProject NameFull name of the project
    MnVerDateMinimum Version DateDate the project was created
    MxVerDateMaximum Version DateDate of most recent change to project
    Pin#Pinned atVersion at which Selected File is pinned0 if not pinned
    Act?Active?Contains N if file is not active, else blankContains N if the file is not active (deleted or deleted in chain) within this project.
    Note that it is possible for a single project to have two files of the same name if one is deleted and one is active. However, you will not see them both listed simultaneously in this screen because they would have different File IDs.
    Del?Deleted?Will have Y if file is deletedIt is possible that a file will not be deleted and still not be active. This happens if the project or an ancestor project is deleted (deleted-in-chain).
    DelDateDate deleledIf file is deleted, then this contains the date the file was deleted
    DelInChainDeleted in ChainIf the project or any ancestor projects have be deleted, then the will contain YWhen deleted-in-chain, the file is considered inactive



MenuItemDescriptionNotes
NameFile Group
Scan for ReplacementsScans all entries in the named File Group for replacments



MenuItemDescriptionNotes
NameUnique File NameMay represent more than one physical file
Scan for ReplacementsScans all entries with this Unique File Name for replacmentsDisabled if SigCnt <= 1
Clear ActionsSet all replacement actions to NoneDisabled if Actions == 0, meaning there are no actions to reset
Set Recommended ActionsRestores replacment actions to those recommended by the Scan for ReplacementsThis undoes any manual changes you may have made to individual physical files
Files with Same NameDisplays the SSAnalyzer standard display of Same Named Files and the projects that use themTODO:



MenuItemDescriptionNotes
NameSelected File NameRepresents a single physical file (FID)
Clear ActionSet Replacement Action to None
ReplaceSet Replacement Action to ReplaceUser will be warned if this is greater than the recommended action
Replace & PinSet Replacement Action to Replace & PinUser will be warned if this is greater than the recommended action
Set as PrimarySet as Primary file for Replacement ScanWill reset Actions for all files with this name to None
Compare to PrimaryDisplays the SSAnalyzer File ComparatorPermits user to make effective, line-by-line determination of true differences between files/versions
RenameRename file to resolve name conflictNot implemented



MenuItemDescriptionNotes
NameFull Project Name
List FilesLists all files (active and deleted) in named projectNot implemented. Intended to allow comparison of other files used with file in question




Contact us Your privacy is important Copyright © 2005 TSA Software Group