Visual SourceSafe Seamless Integration. 2 Agenda Version Control Architecture Features ...
-
Upload
antonia-cummings -
Category
Documents
-
view
218 -
download
0
Transcript of Visual SourceSafe Seamless Integration. 2 Agenda Version Control Architecture Features ...
Visual SourceSafeVisual SourceSafe
Seamless
Integration
2
AgendaAgenda
Version ControlVersion Control ArchitectureArchitecture FeaturesFeatures IntegrationIntegration Configuration & MaintenanceConfiguration & Maintenance QuestionsQuestions
3
I can’t stand it when I ...I can’t stand it when I ...
lose or overwrite my files!lose or overwrite my files! want to restore to an old version!want to restore to an old version! have to merge changes with another developerhave to merge changes with another developer!! need to compare differencesneed to compare differences!! need to find out who’s been messing with my need to find out who’s been messing with my
codecode!! have a shared component but it’s in several have a shared component but it’s in several
different placesdifferent places!!
“Someone may decide a day or two later that the changes should not have been made. With Visual SourceSafe, it's no problem-we just roll it back to the previous version," Brad Young, SPRY Webmaster
““Version Control should be like air. Version Control should be like air. You don’t see it, but it’s always there You don’t see it, but it’s always there keeping you alive.”keeping you alive.”
Microsoft® Visual SourceSafe®Microsoft® Visual SourceSafe®
5
SourceSafe UsageSourceSafe Usage
Source Code ControlSource Code Control Web ManagementWeb Management Document TrackingDocument Tracking Text or Binary FilesText or Binary Files
6
Basic Purposes of Visual Basic Purposes of Visual SourceSafeSourceSafe
Version control systems in general...Version control systems in general... Support team development, by coordinating multiple Support team development, by coordinating multiple
users through a checkout/checkin protocolusers through a checkout/checkin protocol Track versions of filesTrack versions of files
SourceSafe’s competitive advantage...SourceSafe’s competitive advantage... Track versions of entire projectsTrack versions of entire projects Track modular code: one file that is reused, or shared, Track modular code: one file that is reused, or shared,
by multiple projectsby multiple projects
Secure and scalableSecure and scalable Project orientedProject oriented Advanced yet easyAdvanced yet easy Manage Web sites, source code, and Manage Web sites, source code, and
ordinary documentsordinary documents Integration with Microsoft and third-party Integration with Microsoft and third-party
products products
Design ThemesDesign Themes
8
Key SourceSafe ConceptsKey SourceSafe Concepts
All your files are stored in a centralized All your files are stored in a centralized database on the serverdatabase on the server
Any kind of filesAny kind of files can be stored in SourceSafe: can be stored in SourceSafe: code, DLLs, graphics, documents, help files, code, DLLs, graphics, documents, help files, icons, …icons, …
A A projectproject is a collection of files in the is a collection of files in the SourceSafe database, analogous to a folder in SourceSafe database, analogous to a folder in WindowsWindows
9
Project OrientedProject Oriented Share filesShare files Synchronize changesSynchronize changes Project historyProject history
Reverse Delta StorageReverse Delta Storage Rapid file accessRapid file access Minimize disk spaceMinimize disk space Restore past versionsRestore past versions
Any Type ContentAny Type Content Source codeSource code Application componentsApplication components Web contentWeb content DocumentsDocuments
Architecture BenefitsArchitecture Benefits
10
The SourceSafe ExplorerThe SourceSafe Explorer
11
“Visual SourceSafe looks just like Windows Explorer, so there’s no learning curve at all…” Jamie MacLennan,Software Engineer ,Micrografx
Ease of UseEase of Use
Drag-and-drop functionality from Windows Drag-and-drop functionality from Windows ExplorerExplorer
Menus, toolbars, right-clickMenus, toolbars, right-click CustomizableCustomizable
12
Visual SourceSafe, Editing Tools, Visual SourceSafe, Editing Tools, and the Working Folderand the Working Folder
You You storestore and and track track your files in your files in SourceSafe projectsSourceSafe projects
You You editedit and and compilecompile your files in your files in the “working folder” which your the “working folder” which your editing tools seeediting tools see
Your tool does not have to know Your tool does not have to know about SourceSafe, and vice-versa!about SourceSafe, and vice-versa!
Working Folder(e.g. C:\WORKING)
SourceSafeprojects
(eg $/A/B)
13
The SourceSafe AdministratorThe SourceSafe Administrator
14
AdministratorAdministrator
SecuritySecurity Read-Only UsersRead-Only Users Rights by ProjectRights by Project Rights by UserRights by User
OtherOther Exclusive CheckoutsExclusive Checkouts Archive / RestoreArchive / Restore Web ProjectsWeb Projects Shadow FoldersShadow Folders
15
FeaturesFeatures
MergeMerge Visual Comparisons Visual Comparisons BranchingBranching PinningPinning ShadowingShadowing
PromotionPromotion ArchivingArchiving Security and Security and
AdministrationAdministration Web FeaturesWeb Features ReportingReporting
And many, many more ...
16
The Four Key CommandsThe Four Key Commands
Get: Give me a local copy of a file or project in Get: Give me a local copy of a file or project in my working folder, read-only, to view or my working folder, read-only, to view or compilecompile
Check Out: Give me a local copy of a file or Check Out: Give me a local copy of a file or project, writable, to edit. (*May or may not be project, writable, to edit. (*May or may not be exclusive!)exclusive!)
Check In: Copy my edited file back into Check In: Copy my edited file back into SourceSafe, available to other users. (Stores SourceSafe, available to other users. (Stores old versions with old versions with reverse deltas.reverse deltas.))
Undo Check Out: Cancel my check out, voiding Undo Check Out: Cancel my check out, voiding all the changes I madeall the changes I made
17
Other Important CommandsOther Important Commands
Create Project: Create a new projectCreate Project: Create a new project Add Files: Add files to a projectAdd Files: Add files to a project Delete: Delete a file or projectDelete: Delete a file or project Difference: Show me what changed in this Difference: Show me what changed in this
file or projectfile or project Share: Copy files from other projects into Share: Copy files from other projects into
the current projectthe current project History: Show me all the versions of this file History: Show me all the versions of this file
or projector project
18
The Visual SourceSafe The Visual SourceSafe Command LineCommand Line
All SourceSafe functionalityAll SourceSafe functionality fully available from fully available from the command line (except some of the Web-the command line (except some of the Web-specific features)specific features)
Great for macros, batch files, and integration: Great for macros, batch files, and integration: also sometimes faster to use than the GUIalso sometimes faster to use than the GUI
Commands look like “SS Get FU.Cls” (means, Commands look like “SS Get FU.Cls” (means, “Get this file from the current project into my “Get this file from the current project into my current folder”)current folder”)
19
Advanced Visual SourceSafe Advanced Visual SourceSafe
Web FeaturesWeb Features SharingSharing PinningPinning Branching/MergingBranching/Merging CustomizationCustomization The SourceSafe Command LineThe SourceSafe Command Line
20
Other advanced featuresOther advanced features
““Keyword expansion” puts version control Keyword expansion” puts version control information directly into your source fileinformation directly into your source file
““Shadow folders” create a public share that Shadow folders” create a public share that echoes a SourceSafe projectechoes a SourceSafe project
““OLE Automation” lets you drive OLE Automation” lets you drive SourceSafe from VC++ or VBSourceSafe from VC++ or VB
Label Promotion allows you to retrofit a file Label Promotion allows you to retrofit a file to a previously applied labelto a previously applied label
Branching and Merging allows parallel Branching and Merging allows parallel development development
21
SharingSharing
Sharing is how you track Sharing is how you track reusable filesreusable files Technically, sharing means that Technically, sharing means that one fileone file is in is in
multiple projectsmultiple projects at the same time at the same time All updates are automatically propagated, since All updates are automatically propagated, since
there is only one filethere is only one file There is no “master project”: all sharing projects There is no “master project”: all sharing projects
are peersare peers Use the Use the LinksLinks tab ( tab (OptionsOptions dialog) to track Shared dialog) to track Shared
filesfiles
22
SharingSharing
““$/A and $/B share Fu.cls” … $/A and $/B share Fu.cls” … or…or…
““Fu.cls is Fu.cls is inin $/A and $/B” $/A and $/B”
In this picture, the file has 5 In this picture, the file has 5 versions. If versions. If eithereither project project checks in the file, checks in the file, bothboth projects projects will be on version 6.0will be on version 6.0
$/A $/B
5
4
3
2
1
Fu.cls
23
Branching / MergingBranching / Merging
Release 1.0 Release 2.0
Release 1.1 (bugfix)
branch merge
24
Visual MergeVisual Merge
25
SourceSafe Web FeaturesSourceSafe Web Features
If you are using SourceSafe to manage your Web If you are using SourceSafe to manage your Web site…site…
““Deploy” copies your files to the live Web server Deploy” copies your files to the live Web server (via directory path or FTP)(via directory path or FTP)
““Check Hyperlinks” checks the validity of Check Hyperlinks” checks the validity of internal or external linksinternal or external links
““Create Site Map” creates an HTML site map you Create Site Map” creates an HTML site map you can post on your pagecan post on your page
26
All Visual SourceSafe All Visual SourceSafe operations performed by operations performed by FrontPage® Server ExtensionsFrontPage® Server Extensions
No Visual SourceSafe No Visual SourceSafe client necessary client necessary on workstationson workstations
Authentication based on Authentication based on Web-server authenticationWeb-server authentication
Run NTFS!Run NTFS! Visual Visual SourceSafeSourceSafe
repositoryrepository
Check in and Check in and check outcheck out
FrontPage 97 Windows FrontPage 97 Windows Visual InterDev®Visual InterDev® FrontPage 97 Mac FrontPage 97 Mac
Web staging Web staging serverserver
HTTPHTTP
Web DevelopmentWeb Development
27
Web SecurityWeb Security
Keep VSS integrated (development) on a different server than Keep VSS integrated (development) on a different server than the production serverthe production server
Web servers only respond to HTTP requests and cannot access Web servers only respond to HTTP requests and cannot access the VSS directories.the VSS directories.
No security breaches specific to VSSNo security breaches specific to VSS
Resources:Resources: Http://www.microsoft.com/workshop/server/feature/Http://www.microsoft.com/workshop/server/feature/
security.aspsecurity.asp Http://www.microsoft.com/FrontPage/wpp/serkHttp://www.microsoft.com/FrontPage/wpp/serk
28
SourceSafe Integration into SourceSafe Integration into Editing EnvironmentsEditing Environments
““Integration” means you can execute SourceSafe Integration” means you can execute SourceSafe commands directly inside your editing commands directly inside your editing environment.environment.
SourceSafe commands are added to the SourceSafe commands are added to the application’s menus.application’s menus.
Developers can perform checkouts / checkins and Developers can perform checkouts / checkins and other operations without leaving the development other operations without leaving the development environment.environment.
Some less commonly used commands still require Some less commonly used commands still require the SourceSafe Explorer.the SourceSafe Explorer.
29
Integrated ApplicationsIntegrated Applications
Microsoft Visual Basic®Microsoft Visual Basic® Microsoft Visual C++®Microsoft Visual C++® Microsoft Visual FoxPro®Microsoft Visual FoxPro® Microsoft Visual InterDev®Microsoft Visual InterDev® Microsoft Visual ModelerMicrosoft Visual Modeler Microsoft Visual J++®Microsoft Visual J++® Microsoft AccessMicrosoft Access Microsoft FrontPageMicrosoft FrontPage Third-Party ApplicationsThird-Party Applications
30
Integration TechnologiesIntegration Technologies
Source Control APISource Control API SSCC.DLLSSCC.DLL Can be used by other SCC providers (e.g. PVCS)Can be used by other SCC providers (e.g. PVCS) Used by VB, VC ,VFPUsed by VB, VC ,VFP ..... .....
OLE AutomationOLE Automation Recommended methodRecommended method Used by FrontPage and Visual InterDevUsed by FrontPage and Visual InterDev
31
Example - VFP IntegrationExample - VFP Integration
32
Example - Visual InterDevExample - Visual InterDev
33
Configuration and MaintenanceConfiguration and Maintenance
Database SizeDatabase Size AnalyzeAnalyze Backup strategiesBackup strategies Best PracticesBest Practices
34
Database SizeDatabase Size
Should be < 3 GB Should be < 3 GB Unrelated projects can be in separate databasesUnrelated projects can be in separate databases Performance considerationsPerformance considerations Free disk space should be >= database sizeFree disk space should be >= database size How long does Analyze take?How long does Analyze take?
35
AnalyzeAnalyze Should be run regularly (once per week or Should be run regularly (once per week or
month, depends on usage)month, depends on usage) Should be run on the serverShould be run on the server SwitchesSwitches
Run with no switches then review the output Run with no switches then review the output
- or -- or - Run with -f -d -c -v#Run with -f -d -c -v#
Needs disk spaceNeeds disk space
36
Backup StrategiesBackup Strategies
Back up the Data directory Back up the Data directory Should be done regularlyShould be done regularly Full backup (not incremental)Full backup (not incremental) Do not restore over the currentDo not restore over the current directorydirectory SSARC can be used as a supplemental backupSSARC can be used as a supplemental backup
37
Best PracticesBest Practices
Make sure you don’t run out of disk space !!Make sure you don’t run out of disk space !! Synchronize all clocks with the serverSynchronize all clocks with the server Use individualized working folders when Use individualized working folders when
doing multiuser developmentdoing multiuser development Bloated SS.INI files can cause slow Bloated SS.INI files can cause slow
performanceperformance Plan carefully, especially for sharing and Plan carefully, especially for sharing and
branchingbranching Make sure you don’t run out of disk space !!Make sure you don’t run out of disk space !!
38
SummarySummary
Don’t lose your dataDon’t lose your data Protect any type of fileProtect any type of file Increase team productivityIncrease team productivity Version control can be transparentVersion control can be transparent
39