Version Control with Eclipse

1.     Importance of Version Control

 

Version control is a technology that has been essential for programmers for decades, and different technology is always emerging that makes version control even better. If you don’t already know why you should use version control in your Eclipse projects, maybe these reasons will convince you.

  • Version control facilitates collaboration

    Working together is not easy, but version control makes it so. Different programmer’s contributions can be tracked, changed, or even reverted.

  • Version control protects your work

    Losing valuable work means losing money, and version control is a natural way to back up source code. Your code and all its versions are all stored safely on the server.

  • Version control keeps things organized

    Without version control, code might end up being stored in a labyrinth of folders on some programmer’s computer. Version control stores everything in a centralized location, with a structure that all the contributors agree upon.

2.     Solutions for Eclipse

 

Eclipse has some basic support for version control, which can be seen through the Team part of the right-click context menu, particularly when clicking on projects in the Package Explorer. By default, Eclipse supports the legacy version control system CVS, which can be seen through the Share Project dialog. A good add-on will follow these standards, and integrate into the Eclipse environment naturally.

This post will focus on the SourceAnywhere Hosted version control add-on for Eclipse, and focus on its usability as well as its performance speed. Focus will also be given to how it integrates into the Eclipse environment and its intuitiveness for programmers.

3.     SourceAnywhere Hosted in Eclipse

1.      Usability

 

After installing the SourceAnywhere Hosted add-on through Eclipse’s Install New Software dialog, it is easy to set up a project with the Share Project dialog. After a project has been setup, files can be added to version control.

SourceAnywhere Hosted Eclipse

For users who aren’t familiar with version control, SourceAnywhere is very intuitive. It contains features to enforce proper use of version control. If a user checks-in a file and tries to edit it, SourceAnywhere will ask if the user wants to check it out first. This prevents desynchronization between the remote and local versions of files.

SourceAnywhere Hosted Eclipse Checkout

All the features of version control are available within Eclipse, and can be accessed through the SAW Hosted menu, or right-click context menu on files. A full history viewer is included along with the ability to add labels and change properties. The Eclipse add-on for SourceAnywhere Hosted is just as complete as the full application.

SourceAnywhere Hosted Eclipse Checkout

One of the things that makes a good version control solution is transparency; it should fit in nicely with everything so that the programmer hardly even notices they are using it. SourceAnywhere aims for strong integration with Eclipse, and intuitiveness to make it very easy to adapt to.

2.      Speed and Efficiency

 

The Eclipse add-on works just as efficiently as the full application. Check-ins and check-outs work smoothly, and all operations have progress bars that are useful when working with large files, depending on your connection speed.

SourceAnywhere Hosted Eclipse Checkin

One feature that sets SourceAnywhere Hosted apart is its caching technology. In a workplace, a SourceAnywhere Hosted Cache Server can be set up, acting as a buffer between users on the local network and the main servers. Every time a file is requested from the main servers, it is also stored on the local cache server, and subsequent requests no longer need to access the main server. The cache server is secure, easy to install and maintain, and allows files to be transferred at lightning-fast LAN speeds.

Dynamsoft’s hosted applications use servers located in a data center in Vancouver, Canada that are very well connected with the rest of the world. Even on the opposite side of the planet the response times are fast. Speed is important to ensure that using version control improves efficiency rather than impedes it.

3.      Conclusion

 

SourceAnywhere Hosted aims to combine usability and efficiency, and those philosophies were employed in the creation of the Eclipse add-on. Regardless of whether your development environment is Eclipse, Visual Studio, or something else, SourceAnywhere can be used to add efficiency and safety to your development cycle. The 30-day free trial is available to anyone, and can be downloaded from Dynamsoft’s website.

How to Manage TFS Permissions

TFS has two types of permission management: Membership Management and Security Management.

Membership Management: It defines the relationship between different users and groups. Security Management: It manages the permissions for users and groups.

The above two management can be performed on three levels: Server Level, Collection Level and Project Level.

Server Level

You can configure the permissions like creating and deleting collections on the server level. The server level permission management can be configured through the TFS Administration Console. To do that, you can open the console, click Application Tier, and click Group Membership/Administer Security in the Application Tier Summary section.

Collection Level

You can configure the permissions, such as, creating/deleting projects and manage process template on the collection level, either by using the TFS Administration Console or TeamExplore. If you’d like to do it through the console, you can navigate to “server -> Application Tier -> Team Project Collections -><select the collection> -> Group Membership/ Administer Security in the General tab”. For TeamExplore, you can go to “Menu Team-> Team Project Collection Settings-> Group Membership/Security”.

Project Level

Usually, we can use TeamExplore to manage the permissions (such as manage test) on the project level. To do that, go to “Menu Team-> Team Project Collection Settings-> Group Membership/Security”.

After clicking Group Membership, you can do the following operations through the popup dialog box:

TFS Group Membership

  1. Create a new team foundation server group: After clicking New, you can enter the group name and description, and then click OK.
  2. Remove a group: Select the target group, and then click Remove. Afterwards, choose Yes on the Confirm page.
  3. Add Windows user or group: Select the target group, click on “Properties”. Then go to the “Add member” section and choose “Windows User or Group”. After clicking “Add”, you’ll be asked to enter the Windows user or group name. Note: Please make sure the same Windows user or group has been created on the machine hosting TFS Server. In addition, if you are using TeamExplore to do the operation, the Windows user or group should be available on the operated machine.For users of Dynamsoft TFS Hosted, you can log into your web portal and then go to “TFS Hosted -> User Management” to create the Windows user(s) on TFS Server. Currently, you are not allowed to add windows group.
  1. Add team foundation server group to another group: Select the target group, click on “Properties”. Then go to the “Add member” section and choose “Team Foundation Server Group”. Follow the prompts to finish the operation.
  2. Remove members from a group: Select the target group, click on “Properties”. In the Members tab, choose the users/groups and then click Remove and remove the members from the group.Note: Default groups of Server/Collection Level and Project Administrators cannot be deleted. And you are not allowed to modify members in Project Collection Valid Users and Team Foundation Valid Users.

After the management of Group Membership, you can configure group permissions through Security Management. After clicking Security, you can do the following operations through the popup dialog box:

TFS Group Permissions

  1. Add Windows user or group directly to the current permission level: In the Project Security dialog box, Choose “Windows User or Group” in the “Add users and groups” section. Then click “Add” to add the Windows user/group.
  2. Add group(s) to the current permission level: Choose “Team Foundation Server Group” in the “Add users and groups” section and then click “Add”.
  3. Remove members from the current permission level: In the “Users and Groups” section, select the target group or user and then click “Remove”.
  4. Manage Permissions for items: Select the item you want to edit in the “Users and Groups” section. You can then view and edit the permissions for this user or group in the “Permissions for [item]” section. Check “Allow” to grant authorization for user/group to do the operation. If Demy is checked, the user/group can’t do the corresponding operation, even when the user/group is in another group granted the same permission (except for Team Foundation Administrators, Project Collection Administrators and Project Administrators).

If neither “Allow” nor “Deny” is checked, the user/group doesn’t have the permission to do the corresponding operation, unless the permission is granted to another group containing the saying user/group.

Note: Permissions for Project Collection Administrators and Project Administrators are not editable.

For Dynamsoft TFS Hosted, you are not allowed to change the Memberships and Security on the server level. You can create users and add/remove users to/from the groups (see below) through web portal:

Project Collection Administrators
[Project]\ Readers
[Project]\ Project Administrators
[Project]\ Contributors
Groups created by yourself

Manage Version Control Permissions: Version control permissions are specific to source code files and projects/folders. To set the permissions, you can follow the steps below:

  1. Connect to your team project.
  2. Open Source Control Explorer (View -> Other Windows -> Source Control Explorer).
  3. Right-click the file or folder, and then click Properties -> Security.

Manage Build-Level Permissions: After opening the project in Team Explorer, you can right-click Builds and then click Security to manage the securities.

Dynamsoft Intros New Source Control Software with “Find in Files” and other Enhancements

SourceAnywhere™ 4.0 Enables Source Control / Version Control via its GUI-based Client or Within Leading Integrated Development Environments

VANCOUVER – August 6, 2012 – Dynamsoft Corp., a developer of source control / version control software and TWAIN™ SDK (software development kit) solutions today announced SourceAnywhere™ 4.0. The software is the company’s newest version of its enterprise-class solution to provide source control (AKA, version control) for web, software and application development teams. Version 4.0 adds key features that include a “find in files” capability.  It will be made available this month – the same month Dynamsoft celebrates the five-year anniversary of SourceAnywhere Hosted.

The new “find in files” capability filters files based on file types, size and check-in time and can also be used to search content in the file. It helps developers navigate the source tree with accurate search results to a specific line of code containing keywords being searched. Also, “Regular Expression” and “Windows Index Search” features greatly speed up search processes. In addition to the new fast file and content search engine, SourceAnywhere 4.0 can now handle more than 500 concurrent global connections.

“With the capability to support 500 or more concurrent connections globally, SourceAnywhere lets developers better manage source code versioning and enables seamless local or distributed software, application and web development team collaboration,” said Amy Gu, Vice President of Dynamsoft. “This makes it also ideal for CIOs to ensure efficient project management throughout the lifecycle of development and support.”

SourceAnywhere also comes with an added software component, SourceAnywhere Cache Server. Typically installed on the client side, SourceAnywhere Cache Server significantly improves remote speed performance. This is done by caching copies of requested server files which reduces the workload of the server, in turn improving client responsiveness. When there are multiple developers working on the same project at the same remote location, Cache Server can appreciably reduce the inter-communication frequency between client and server over the Internet.

More About SourceAnywhere

SourceAnywhere is a SQL server-based source control tool. SourceAnywhere features fast speed during use, whether local or remote; cross-platform support; and scalability and reliability to support large software, application and web development teams. The software enables source control / version control through its GUI-based client. It can also be used within integrated development environments (IDE) such as Visual Studio®, Eclipse™, Dreamweaver® and other IDEs compatible with Microsoft® Source Code Control Interface (MSSCCI).

SourceAnywhere features enhanced security and integrity including built-in SSL and Blowfish encryption to protect in-transit source code. It also features password policies, database encryption and cache file encryption. SourceAnywhere integrates with CruiseControl.NET and ANT to provide continuous integration and automatic build support. Version control convenience features include email notifications; pending check-ins; shelve / unshelve; and branch / merge.

Pricing and Availability

SourceAnywhere 4.0 will be available starting August 7, 2012. In addition to providing an enterprise software edition, it is also offered as a fully-supported software-as-a-service (SaaS) hosted edition (SourceAnywhere Hosted). The starting price for the standalone version is $299 for a single developer license with various bundling options and prices also available. SourceAnywhere Hosted pricing starts at just $14 monthly. Full pricing details for the standalone version are available here while full pricing details for the SaaS / hosted version are available here. SourceAnywhere is available for a 30-day free trial here.

About Dynamsoft Corp.

Founded in 2003, Dynamsoft Corp. provides enterprise-class source control / version control software. Its SourceAnywhere™ software enables efficient file management of source code versions. This ensures greater collaboration and integrity of source code for web, software and application development throughout the lifecycle of development and support. Dynamsoft also provides TWAIN™ software development kits (SDK) and is an associate member of the TWAIN Working Group that develops TWAIN standards. Thousands of customers use Dynamsoft’s source control and TWAIN SDK solutions. Customers include: 3M®; Apple®; EMC®; Fujitsu®; GE®; H&R Block®; HP®; IBM®, Intel®; InfoSys®; Lockheed Martin®; Olympus®; Philips®; PricewaterhouseCoopers®; Samsung®; Siemens®; Symantec®; Unisys®; Verizon®; and more.  More information is available at http://www.dynamsoft.com.

 

Note: Whether noted or not, references to certain words may be trademarks or registered trademarks of their respective owners.

 

# # #

How to use the SVNBridge to get TortoiseSVN working with SourceAnywhere

It’s so exciting that SVNBridge is available for SourceAnywhere now. The project allows you to access SourceAnywhere database from TortoiseSVN (a Subversion client). Users will benefit from combining these two products to enjoy nice features from both SourceAnywhere and SVN.

  • Enjoy the robust management provided by SourceAnywhere Server, such as enhanced security, user and database management.
  • If you’ve used SVN, it’s not necessary for you to abandon SVN in order to get the above benefits. It’s flexible for you to choose TortoiseSVN or SourceAnywhere as a client.
  • Wider IDE integration. Integration with XCode, Dreamweaver on Mac and more will be supported. (I will blog the integrations later.)

In this article, I’ll share with you how to integrate SVNBridge with SourceAnywhere.

Read more

Version Control within Visual Studio 2012

This article shares with you on how to integrate SourceAnywhere with Visual Studio. Assume you’ve already installed SourceAnywhere on your computer. You can follow the steps below:

1. Open Visual Studio 2012 and navigate to “TOOLS -> Options -> Source Control”.

2. In the dialog box, choose “Dynamsoft SourceAnywhere Standalone” as the current source control plug-in, and click OK to confirm the selection.

VS2012PluginSelection

3. Open your project in Visual Studio and right-click the solution file. Then click “Add Solution to Source Control”.

VS2012AddSolution

4. You’ll then get a dialog box to enter your login info of SourceAnywhere. And click on “Connect”.

VS2012SAWLogin
5. Choose the target repository and the project location according to the prompts.

Now your project is under version control. In the solution explorer, you can see the little locks beside the version controlled files. By default, Visual Studio will check out the file automatically whenever you attempt to do the edit. You can also right-click on the target file and choose “Check Out for Edit” to check out the file.

If you are using Visual Studio 2012 Premium or Ultimate, you can also find some new features, for instance, Code Review, My Work to better organize the work, etc. To learn more about the new features, please go to:

Visual Studio 2012: What’s New in Version Control

Getting Started with TFS Hosted

Team Foundation Server enables everyone in your team to collaborate more effectively, be more agile, and deliver higher quality software. For busy or small development teams who don’t have a dedicated system admin to perform the setup, backup and other maintenance tasks, hosting TFS might be a good choice.

 

* Account Signup

1. Register for a hosting account

Fill out the form, and click the “sign up” button.

2. Account info

After clicking “sign up”, we will be directed to the hosted web portal, where the account info is displayed.

TFS connect info

 

* Built-in admin user

3. Click “User Management” in the left menu tree of the web portal

We can see that a default user “<OrganizationID>_Admin” is already created by the system. The password is the same one we specified during signup in the 1ststep.

TFS Manage Users

 

 

* Connect to TFS with the admin user in Visual Studio

4. Open Team Explorer
Open Visual Studio, and check if the Team Explorer window is visible in Visual Studio. If not, please go to menu “View” and click on “Team Explorer”.

Note: With Visual Studio 2005 and 2008, you might need to install Team Explorer. Please check the Installation and Configuration guide for Visual Studio 2005 and 2008 for detailed steps.

Visual Studio 2010 has the ability to connect to TFS built in. If your installation of Visual Studio 2010 doesn’t include Team Explorer, you will need to download and install Microsoft Visual Studio Team Explorer 2010 – ISO

 

5. Connect to Team Foundation Server…

In Visual Studio, click “Connect to Team Foundation Server…” under the menu “Team”. Click on “Servers…”, then click on “Add…”, enter the Server  URL of your TFS Hosted account. For example: “s01.tfshosted.com”.

By default, the connection to the server uses HTTPS protocol with the SSL certificate.
connect to TFS Hosted

 

Input the credentials.

TFS Login

 

Add solution to source control

6. Open a project/solution

Open a local project in Visual Studio and switch to the Solution Explorer window.

 

7. New team project

To create a team project on the server, please right click on the server name in Team Explorer, and then choose “New Team Project” from the content menu.

 

8. Add solution to source control

In Solution Explorer, right click on the solution file and choose Add Solution to Source Control” from the content menu.

version control under TFS Hosted

We see yellow plus icons beside the filenames. You need to perform a “Check In” action to check all the files to the server. You can right click on the solution name and choose “Check In”. Or you can open the Pending Changes window and click the “Check In” button.

NOTE: Please make sure “Visual Studio Team Foundation Server” is chosen as current SCC provider at menu “Tools” – > “Options” -> “Source Control”.

 

9. You can see the icons change to locks, that means check in completed. Now your code is in good hands and enjoy.

source control under TFS Hosted

 

Manage other users for collaboration

10. Add user

Back to step 3. Click “User Management” in the left menu tree of the web portal, we see a “Create User” button. Here we can create user names for other team members and set the initial passwords for them.

11. Permission setup

Log in Hosted Web Portal. You can use the email address and password from step 1. Register for a hosting account for access.

In the web portal, click “Project Group” in the left menu tree. Choose the team project we created in step 7. New team project from the “Project” dropdown list, and click the icons in the “View/Edit Members” for user permission management.

 

add user to a team project

 

12. Other team members’ login in Visual Studio

As we did in step  5. Connect to Team Foundation Server…,  first we open Visual Studio, and then click menu “Team” -> “Connect to Team Foundation Server”. In the “Add Team Foundation Server” dialog box, we input the same URL.  When credentials are required, we input what the admin user created in step 11. Permission setup.

13. Team collaboration

Now other team members can access the code and work items in the team project where they have proper permission. Like how other version control systems work, developers can pull code and work items from server to their workspaces using “Get Latest Version” in Team Explorer. And here begins the team collaboration.

SourceAnywhere V.S. Subversion

SourceAnywhere: A SQL Server-based version control software designed to be a replacement of Microsoft Visual SourceSafe (VSS). It is developed for both local and geographically distributed development teams.

SourceAnywhere Hosted: Sign Up

SourceAnywhere Standalone: Free Trial Download

Subversion (SVN): An open-source revision control system, which aims to be a compelling replacement for CVS.

Both SourceAnywhere and Subversion are great version control products. So which one is the right product for you?

SourceAnywhere is THE ONE for Experienced VSS Users.

If you are an experienced Visual SourceSafe user, SourceAnywhere is definitely the right choice. First, all your source code history can be easily imported to SourceAnywhere. Second, the resembling user interface makes developers’ learning curve almost zero.

Otherwise, it depends on which working mode you prefer. Typical working flow in SourceAnywhere is “(multi) check-out — edit — (merge) check-in”, while typical working flow in SubVersion is “edit local copy — (merge) commit to server”. In another word, with SourceAnywhere, when you edit a file, you know whether other people is also editing it. With SubVersion, you don’t know.

More detailed comparison follows. I will try to be unbiased in the comparison. Comments which disagree with me are well welcomed. :)

Where Subversion is better than SourceAnywhere

If any of the following situations apply to you, I recommend Subversion:

  • Command Line SubVersion Command Line is suitable for auto scripting. Although SourceAnywhere provides Command Line Client as well as Java GUI Client, SourceAnywhere’s main focus is for IDE integration on Windows platforms. If you are working on OS X, Subversion command line provides better flexibility.
  • Open Source Project SubVersion suites well for personal and open source projects. Subversion, released under an Apache-style license, is an open source system. People can get a version control system with no regard to cost.
  • Integration with Windows Explorer Subversion supports integration with Windows Explorer while SourceAnywhere does not.
  • Third Party SupportSVN is better supported among third party tools. For example, Hudson and Redmine.

Where SourceAnywhere is better than Subversion

If any of the following situations apply to you, I recommend SourceAnywhere Standalone:

  • Tech Support Dynamsoft provides phone, email, forum, and 16 hours per weekday online chatting support. For the difficult issues, an online meeting session will be scheduled. A developer from the R&D team is involved when necessary.And, all the tech support is free.
  • Microsoft Platform Support Dynamsoft is a Microsoft Gold Certified Partner. SourceAnywhere passed Optimized for Microsoft Visual Studio, Certified for Windows Vista, and Certified for Windows Server. SourceAnywhere offers better integration with Microsoft products than Subversion.
  • Security Powered with SSL Protocol, Sophisticated Password Policy, Database Encryption, IP & MAC Filter Rules and other security tactics, SourceAnywhere Hosted online source control is designed to be more secure than most in-house deployment.For more information about security features, please refer to the white paper: Secure Your Source Code.
  • Web development Besides of Dreamweaver integration and cross-platform access, SourceAnywhere offers a unique feature, Web Deployment through FTP. SourceAnywhere can automatically detect which files are changed, and only transfer the changed/added files.

Where SourceAnywhere and Subversion are different

  • User Interface SourceAnywhere has VSS style UI. There is virtually no learning curve for developers who know Visual SourceSafe already.
  • Server Setup and Maintenance SourceAnywhere Server requires Microsoft SQL Server (Express). For SVN, you need to set up either Apache2 or an “svnserve” server.
  • Distributed team Both Subversion and SourceAnywhere are designed for local and distributed team. SourceAnywhere takes a step further. Its cache server can greatly improve distributed team’s productivity.
  • Product integration SourceAnywhere comes with GUI client, command client, SDK, Eclipse plug-in, Visual Studio integration, Dreamweaver/flash integration, cross-platform client. All are in one product.

    Subversion comes only with core product. For IDE integration, cross-platform access and other tools integration, you need to deal with several independent sources.

Version Control and Visual Studio 2010

All editions of Visual Studio 2010 support the source control integration feature but the Express Edition. In this article, I will demonstrate how to use version control in Visual Studio 2010. For ease of the screenshots and article writing, I take SourceAnywhere Hosted, an online version control tool, as the example. Other MSSCCI compatible or VSPackage solutions should work in a similar way.

 
Before everything else, we need to put our project under source control.

 

The first developer adds a project to Source Control

Adding a new or existing project to source control is easy:

1. Start Visual Studio 2010, and click menu Tools -> Options -> Source Control.
2. Choose your favorite in the Current source control plug-in combo box.
3. Open your project/Create a new project, and then add the project to source control by right-clicking the solution in Solution Explorer and selecting the content menu Add Solution to Source Control.

add-to-source-control

4.  Input the credentials for login and choose a server path. And the project will be added to source control successfully.

Now you can perform the basic version control operations in the right-click content menu in Solution Explorer. More commands, such as Properties, Change Source Control, etc, can be found under the menu File->Source Control.

version control in Solution Explorer

Other developers retrieve the project from server

Most of today’s projects need the collaboration of a team. Therefore, after the first developer adds the project to source control, other developers working on the same project need to retrieve these files from server to local and possibly upload some local files to server.

To retrieve files from server, we can click menu File -> Source Control -> Open from Source Control in Visual Studio 2010. After inputting the login info, the Get Project from Dynamsoft SAW Hosted to Local dialog box is displayed. In the text box, type the desired local path or click the ellipses (…) to browse for one.

Open from Source Control

If a developer has been working on the project for some time and thus has a local project folder, I suggest he chooses a different project path other than the existing folder.

For files exist locally but not on server, we need to decide whether to share the files with other team members. If yes, we can add the files to Solution Explorer using Add | Existing Item. A yellow plus icon is displayed before the file name, and we can perform Check In to commit the files to the server.

add-an-existing-item

Simultaneous development

Most of the times, developers don’t need to work on the same file at the same time. But there are situations where parallel development is needed.

Multiple check-outs
In Solution Explore, files checked out by others appear with a human glyph while files checked out by ourselves appear with a green check mark. If a file is checked out by two developers, merge happens when the second check-in is performed.
Depending on whether there are conflicts, visual merge or auto merge occurs. About how merge works for a file, you may read File Merge.

 

Branch

Branch can be used for many purposes, such as, a branch for a minor feature or bug, tailoring program behavior in several files for two clients who have the virtually identical needs, etc. More information can be found in Branch.

Some version control solutions, such as SCM Anywhere, support Folder Merge.

SAK and SCC (source code control) info in Visual Studio 2010

After adding a project/solution to source control in Visual Studio 2010, where is the binding info stored? The behavior depends on the design of SCC plug-ins. Some put the info within the .sln/.prj files and others write it to external MSSCCPRJ.SCC files.

Take Microsoft Visual SourceSafe for example. In older versions (previous to version 6.0c) of VSS, the binding information was stored directly in the .sln and .proj files. Since VSS 6.0c, all binding information is kept locally in MSSCCPRJ.SCC on each developer’s machine.

Most MSSCCI compatible version control solutions use the second design. When the source control binding is established, some lines similar to the followings are added to the .sln files.

GlobalSection(SourceCodeControl) = preSolution

 

 

SccNumberOfProjects = 2
SccLocalPath0 = .
SccProjectUniqueName1 = FormsApplication1\\FormsApplication1.csproj
SccLocalPath1 = .
SccProjectFilePathRelativizedFromConnection1 = FormsApplication1\\

EndGlobalSection

And the following lines are added to the .prj files. The “SAK” might stand for Should Already Know.

<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>

Meanwhile, a local, client-side MSSCCPRJ.SCC file is generated by the plug-in for every directory that contains source-controlled files.

Source Control for Stored Procedure in SQL Server 2008

This article explains how to source control stored procedures and other objects in SQL Server Management Studio 2008. We use SourceAnywhere Standalone for example, which is a SQL-based source code control software designed to be a replacement of Microsoft Visual SourceSafe. Other MSSCCI compatible source code control solutions work in a similar way.

The detailed steps are as follows:

1) Open SQL Server Management Studio.

2) Initiate source control for SSMS. Please click menu Tools | Options | Source Control. In the dropdown list, choose Dynamsoft SourceAnywhere Standalone 2.3 as the current source control plug-in.

3) If we have an existing application solution, we can click menu File | Open | Project/Solution to open it in Solution Explorer.
And then we can add the solution/project into version control. Right-click on the solution/project and then choose Add Solution to Source Control in the content menu.

You can also start a solution from the ground. Click menu File | New | Project and choose a proper template. Don’t forget to check the Add to Source Control option.

4) Put the correct server info and credentials.
SourceAnywhere login

5) In the project tree, choose a location to put the solution/project.
http://kb.dynamsoft.com/images/sawstd/add-to-sawstd.PNG

At the end of the step, the solution/project is under version control.

6) Now it’s time to add a new or existing stored procedure into the solution.

To create a new stored procedure, in Solution Explorer, we can right click on the project name and hit the Add | New Item menu.

Under SQL Server Query, navigate to the Stored Procedure category and choose a template.
stored procedure template

Adding an existing store procedure is easier. Instead of selecting New Item in the Add popup menu, we choose Existing Item.

7) Finally, we can perform the basic source code control operations in Solution Explorer, such as Check Out and Check In, by right clicking on an object. All the objects checked out to be edited can be found in the Pending Checkins window.

If you want to try SourceAnywhere Standalone, please install its Windows GUI Clienton the machine where SQL Server Management Studio resides. The can be integrated with all MSSCCI compatible IDEs, such as Visual Studio 6.0, 2005/2008/2010. Downloaded link:
https://www.dynamsoft.com/Secure/Register_ClientInfo.aspx?productName=SAWstandalone&from=FromDownload

SourceAnywhere for VSS 5.4 and SourceOffSite 4.2 Comparison

As the architect of SourceAnywhere for VSS, I was asked by many users about the performance of SourceAnywhere for VSS compared with other products.

SourceAnywhere for VSS is a Visual SourceSafe (VSS) remote access solution recommended by Microsoft. As a VSS add-on, SourceAnywhere for VSS solves the VSS performance issue and provides fast, reliable and secure remote access for users of VSS 6.0 and VSS 2005.

Recently, I did the test. Now I am posting the result here with the hope that it can save your time evaluating different SourceSafe remote access tools. I mainly focus on the features and remote-access performance comparison.

 

Below is the result:

Feature Comparison

Features Visual SourceSafe (VSS) Remote Access Tool Recommended by Microsoft SourceOffSite
Performance Features
Data compression Yes Yes
Client/Server architecture Yes Yes
Cache Server Yes No
Delta Transfer Yes No
Multithread file transfer Yes No
 
Security Features
Client/Server Architecture Yes Yes
Blowfish encryption Yes Yes
128 SSL Yes No
Password policy Yes No
Independent VSS database access control Yes No
 
IDE Integration
Visual Studio 6/2003/2005/2008 Yes Yes
SQL Server 2005 Yes Yes
Eclipse Plug-in Yes No
Dreamweaver Yes No
 
Cross Platform
Windows Yes Yes
Linux Yes Yes
Mac Yes Yes
Solaris Yes No
AIX Yes No
SCO Yes No
Any Java compatible platform Yes No

 

Performance Test

Result: (Unit: second)

  SourceAnywhere for VSS with cache server SourceAnywhere for VSS without cache server SourceOffSite (no cache server is available)
Add 195 193 408
Get (no local file exists) 175 213 1256
Check out (no local file exists) 189 232 1409
Check out (all local files exist) 79 90 160
Check in (no file is changed) 177 189 723
Check in (All files are changed) 259 273 842

 

Test Environment:
There are 3 machines used in the test:

Server : CPU Intel P4 2.66G, 256M RAM, Win 2003 Std sp1; SourceAnywhere for VSS Server 5.3.1; SourceOffSite Server 4.2

Client: CPU Intel P4 3.0G, 512M RAM, 160GB 5400RPM HD, Win XP sp2; SourceAnywhere for VSS Server 5.3.1; SourceOffSite Client 4.2

Cache server: CPU Intel Celeron 2.66G, 512M RAM, 160GB 5400RPM HD, Win2003 Std SP1; SourceAnywhere for VSS Cache Server 5.3.1

Broadband connection is used between the client and server machine.

The cache server and client are on the same LAN, which connects to the server through office ADSL.

 

Test Software:

SourceAnywhere for VSS 5.4, SourceAnywhere for VSS 5.4 Cache Server 5.4, SourceAnywhere for VSS Client 5.4.

SourceOffSite Server 4.2, SourceOffSite Client 4.2.

 

Test Data:

1. A project with 1,500 files; Total size is 17.1 MB.
2. 1,000 changed files (used for check-in).
3. Server and Client machines are restarted before each test.

I attached the test data I used here. You can download it and do the test in your own environment if you like.

 

Test method:

Every operation is carried out 5 times. The highest and lowest results are eliminated. The average value is calculated.