Menu
Visual SourceSafe is not a client/server solution. Because the SourceSafe client directly accesses the VSS database, this automatically increases the payload on the network. While this is only a minor issue for local network, it makes it virtually impossible to access a VSS database even across a DSL line. The SourceSafe plug-ins in Visual Studio allow you to view the history of a file or project just as you do in Visual SourceSafe. For more about file and project histories, see Version Control. To view the history of an item in a SourceSafe plug-in.
I am having some problem to get the Visual Source Safe 2005 to work over the Internet. I am using a computer with windows XP pro as web server. This is the steps I take: Create database: 1. Creates a dir on my G drive(G: SourceSafe). Starts VSS 2005 Administrator 3. File Open Databas 4. Add Create a new database 5.
Then I browse to my G drive and locate the directory (G: SourceSafe). Source safe database is now created. Starts VSS 2005 Administrator 2.
Server Configure 3. Checks the “Enable SourceSafe Internet for this computer” Create User: 1. Users Add User 2.
And then I create a user with password No I open the IIS and brows down to standard webplace. Here I find the SourceSafe created by the VSS 2005 Administrator. It contains the following folders: Data, temp and users, it also contains the files srcsafe.ini and users.txt.
Connect the client: I am using the same computer again to connect to my web server(Computer01 Internet Computer01). Open Visual Studio 2005 2. Tools Options Source Control 3. Choose Microsoft Visual SourceSafe (Internet) from the dropdown box. File Open WebSite(in this case, have also tried Project/Solution) 5.
Choose Source Control Select Source Control Poject 6. A Open Source Database shows and I choose Add 7. A Wizard starts Next 8. No I am prompted to enter Address(http(s)://) and folder. I use to get my external web adr and enter it in the Address field. My Folder would be SourceSafe.
When I press next I get a Windows standard login window, with name and password. Here I enter the user I created in “Create User:”, but it will not grant me? I have tried to disabled the local firewall and I have also disabled the router(3com) firewall and placed my computer in DMZ zone just to be sure that none of them is the problem. What am I doing wrong? My guess is that you still have old database located in your SourceSafe install folder.
It would be best to move it from there to some place else. I think you are missing a few steps here You need to create a network share for G: SourceSafe folder. Lets call it SourceSafe. Now you need to open this VSS database using this share.
( SourceSafe) in VSS Admin Now you should be able to enable internet access to this database in VSS Admin. As far as creating the user, if you are not using SSL then you need to have VSS user matching your windows account name. The password does not matter (in fact never use the same password for VSS user and your windows account) In step 10 you need to specify the path to your database relative to the web service running on your server. In this example it will be SourseSafe (the same path you used to open the database in the VSS Admin) Make sure the windows account you are trying to login to the server with, has access to both network share and the disk where your database is located. You need to have anonymouse access off in IIS and also Nisse user must have read and execute access to SourceSafe install folder (C: Program Files Microsoft Visual SourceSafe) and web service (C: Program Files Microsoft Visual SourceSafe VSSWebService) SourceSafe virtual folder should point to VSS web service location (C: Program Files Microsoft Visual SourceSafe VSSWebService) It certainly should not have your database in it.
I'd suggest either moving your database or reinstalling SourceSafe into new location. My guess is that you still have old database located in your SourceSafe install folder. It would be best to move it from there to some place else. I think you are missing a few steps here You need to create a network share for G: SourceSafe folder.
Lets call it SourceSafe. Now you need to open this VSS database using this share.
( SourceSafe) in VSS Admin Now you should be able to enable internet access to this database in VSS Admin. As far as creating the user, if you are not using SSL then you need to have VSS user matching your windows account name. The password does not matter (in fact never use the same password for VSS user and your windows account) In step 10 you need to specify the path to your database relative to the web service running on your server. In this example it will be SourseSafe (the same path you used to open the database in the VSS Admin) Make sure the windows account you are trying to login to the server with, has access to both network share and the disk where your database is located.
I will try this out. If i create a sharing folder in Microsoft Windows XP there is nothing that regulates the permissions? You cant add specific users rights to the folder. Is this a problem? We will not need more then.
For you to be able to set permissions on the share you need to disable 'Use simple sharing' in Windows Explorer-Folder Options-View tab. If you are not using SSL then windows account is used to authenticate the user first then this account name is used to connect to VSS database. You should get windows (not VSS) login prompt when connecting to the database from Visual Studio unless you have the same windows account defined on you server computer. Whichever windows account you are going to login to your server with, this is the account name you need to create in VSS. Its simes like there is alot of developers that have problem to use VSS2005 over internet? Maby a easyer interface and wizards may have done the job!?
I have now done the following: 1. Created the shared folder and enabled advance premissions. No in begining i have set the premission to everyone = full rights 3.
I have added i User in Windows XP that are named Nisse with no password. In VSS i have created a user with the same name(Nisse) and with password 1 5. When i open upp VS2005 and choose File Open web site Source Control Select source control Project. I get a window that Displays a project with the following URL: to my computer/SourceSafe/, I Choose open and the clasic Windows XP network login is displayed. I enter Nisse as name and no password, login window is shown again?
I try Nisse and the password 1, the same problem again? In IIS i have in properties on the SourceSafe folder choose Directory safty and the change, here i have cheked the Integrated Windows autetication. If this check box is not checked i get the following error when i press the open button in VS2005(Open SourceSafe Database).
Connot contact the Visual SourceSafe Internet web services or caccon access the specific database. There server returned the following error: 0x80004005.
I have set full access to the user Nisse by the following proccedure: Shared map: 1. Go to G: and find the shared folder 'SourceSafe' 2. Properties on this folder.
Noted here is that writeprotected is checked, and i cant uncheck it, probely it have to do with advanced rights? share tab and then premissions. Add the user 'Nisse' on this computer and give him full rights. OK Web service: 1. Find the sourceSafe folder and choose poperties on this one.
catalog securuty 4. In anonymous control, click edit. Check Itegrete Windows autetication.
OK If i open the sourceSafe in IE i get the regular login window and it will not grant my user nisser with no password at all(changed to no password in both windows and VSS admin). If i however also check the anonymouse access in IIS security then i get access to the file in IE.
When checking the anonymouse it is filling out the servernameNisse name. account to use when loging on. When trying to access the page in IE it throw an error: - Server Error in '/SourceSafe' Application. Runtime Error Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine. Details: To enable the details of this specific error message to be viewable on remote machines, please create a tag within a 'web.config' configuration file located in the root directory of the current web application.
This tag should then have its 'mode' attribute set to 'Off'. When I now try to open this from within VS2005 i get the following error: Visual SourceSafe Internet plug-in could not connect to the specified database. Secure communication using SSL needs to be enabled for this database to use your SourceSafe logon name. Otherwiese the database admin will need to create a SourceSafe user matching your network user name and allow using network names for automatic user login. I have now unchecked the anonymouse access in IIS. One other thing that looks strange is that the SourceSafe folder in IIS contains the following: FOLDERVSSUploaddb1 FOLDERVSSDownloaddb1 FOLDERbin FILEVssService.asmx FILEweb.config When i navigate to my local folder (G: SourceSafe) i find the following files: FOLDER data FOLDER temp FOLDER users FOLDER VssWebDownload FOLDER VssWebUpload FILE srcsafe FILE users Should thay not have the same structure?
You need to have anonymouse access off in IIS and also Nisse user must have read and execute access to SourceSafe install folder (C: Program Files Microsoft Visual SourceSafe) and web service (C: Program Files Microsoft Visual SourceSafe VSSWebService) SourceSafe virtual folder should point to VSS web service location (C: Program Files Microsoft Visual SourceSafe VSSWebService) It certainly should not have your database in it. I'd suggest either moving your database or reinstalling SourceSafe into new location. Our Source Safe database is set up on a windows 2003 server machine that we can remote Desktop to and can access over the network when connected. I am user with admin rights on that machine.
My group, (Administrators), has full control over the share, over the folder the database is in and the web service. My Visual Studio 2005 is located on my Windows XP machine.
When I tried to add my project to Source Safe I first had to add this Source Safe Internet connection to the available databases. This was carried out successfully. However when I selected the established available database to add my project to it, Instead of getting the standard windows login window, I got a message 'Visual Source Internet plug-in could not connect to the specified database. Secure Communications using SSL needs to be enabled for this database to use your SourceSafe logon name. Otherwise the database administrator will need to create a sourcesafe user matching your network user name and allow network names for automatic user login.' Well I have a source safe user matching my network user name and it is set to allow network names for automatic user login.
The folder containing the database is a virtual directory in IIS, it is set to allow integrated Windows Authenication. All the other settings specified above are as directed above. ERJ MCSD MCDBA.
By Christof Wollenhaupt, Foxpert Overview What's wrong with Visual SourceSafe? For many years version control in VisualFoxPro and Visual SourceSafe were synonyms. Sessions and articles covering teamdevelopment exclusively referred to Visual SourceSafe.
Most commercialalternatives were designed to be used in a bigger team, not in the small teamsthat are so typical for Visual FoxPro. Moreover, Visual SourceSafe is aMicrosoft product. As it is part of Visual Studio and because Microsoft madeearlier versions available for free to conference attendees, most developershad access to Visual SourceSafe in some way. But does that mean that Visual SourceSafeis the best choice?
There's no doubt that using any versioncontrol system has many advantages. Version control systems allow multipledevelopers to work on the same project without having to resist to error-pronemanual synchronisation of directories. They allow for documenting every change.Virtually every version control system supports labelling all files of thecurrent version.
Later you can retrieve files by label enabling you to restorea particular version of your application. This feature is priceless if acustomer reports a bug that isn't reproducible in the current version. Nonetheless, Visual SourceSafe has got anumber of disadvantages, too.
Visual SourceSafe is not a client/serversolution. Because the SourceSafe client directly accesses the VSS database,this automatically increases the payload on the network. While this is only aminor issue for local network, it makes it virtually impossible to access a VSSdatabase even across a DSL line. In addition you are deeply dependent on thequality of the network connection.
A single machine with a defective networkadapter, a single computer with tendency to crash is sufficient to destroy theentire history of a file in the database. Microsoft released version 6.0 VisualSourceSafe in 1998 along with VFP 6.0. For the following almost eight years,Microsoft released three more Versions of Visual FoxPro, many new operatingsystems, versions of offices, with.NET even a complete new developmentplatform. However, for Visual SourceSafe they only released minor patches.Visual SourceSafe 2005 is the latest version of VSS.
It does have a few new features for Visual FoxPro Users. With Visual Studio 2005 Team SystemMicrosoft made it pretty clear what the future path for team development andcollaboration will be.
Since VS.NET is the main development tool at Microsoft,there's obviously not much of a future for VSS for developers. Indeed, VSS 2005is targeted at two groups: The VS 2003 developer and mostly Office developersthat are not yet integrated into Visual Studio. Once that happens, VisualFoxPro remains the only product that would benefit from Visual SourceSafe. To access a VSS database via a VPN or anyother network connection with low bandwidth, there are only few commercialsolutions available. The most popular one is SourceOffSite.
Even though this isa good and stable product, it introduces two more problems. For one, theincrease in licensing costs is substantial. SourceGear, the maker of SourceOffSite,also offers their own version control system named SourceVault. This inevitablyraises the question how long the company supports both products, consideringthat Microsoft is reducing its support for SourceSafe.
Finally, security becomes an increasingissue, too. Even though you can grant permissions to users in VSS, this is allsmoke and mirror. As a file server based system, a user needs write access tothe entire VSS database folder in order to check in any file. Hence, instead ofgoing through the client, a user could search the file directly in the databasefolder.
CVS and SubVersion are open sourcealternatives for Visual SourceSafe. Installing CVS CVS consists of two components: a serverand a client. Like in many open source projects there are several differenttools available for a number of platforms. These tools share some parts, butdiffer in others. This document only covers the Windows version.
You candownload the most recent version from the following web sites:. CVSNT:. WinCVS: CVSNT CVSNT is an implementation of CVS forWindows that was so successful that it has been ported over to UNIX. CVSNT is theserver component. As the name indicates, you need a server machine to installCVSNT.
The operating system doesn't have to be Windows Server, Windows XP worksjust as well. When choosing the computer you should consider the followingcriteria:. The operating system should be Windows NT, Windows 2000, Windows XP Professional or Windows 2003 Server.
If you have more than one user, the file system should be NTFS. This is actually independent from CVSNT, because the FAT32 file system is a serious security risk.
Easily to forget: The computer must be reachable via TCP/IP for all developers. When accessing the server from outside, the firewall must be configured to forward packets sent to TCP port 2401 to the CVS server. As you expect from any Windows application,the installation procedure is self-explanatory. Launch cvsnt-2.0.58a.exe as anadministrator. If you install CVSNT on your desktop machine, you are mostlikely not logged on as an administrator.
Therefore right click the applicationand choose 'Run as'. On Windows 2000 you need to hold down the Shiftkey while you click the right mouse button. On Windows NT you have to log on asan Administrator. Accept the license agreement and use the default settings inall following steps. CVSNT installs itself as a Windows servicethat is launched when the computer starts up. For configuring the service, youfind a new option CVSNT in the Control Panel. On a desktop machine, hold downthe Shift key while right-clicking the icon in order to execute theconfiguration dialog as an Administrator.
CVSNT actually consists of twoservices. The 'CVS Service' provides access to the CVS database. The'CVS Lock Service' manages file locks. The configuration dialog provides a quickoverview on the state of the service. Normally, the default configuration issufficient.
To complete the installation you only have to create a repository. A repository corresponds to a VisualSourceSafe database. The repository contains all files and projects that theCVS server manages. Normally you have a single repository for each server towhich you add all your projects. You only need multiple repositories, if you notonly want to restrict access to projects inside the repository, but also wantto prevent developers from seeing a list of other projects, at all.
Anotherreason to maintain multiple repositories is when you need to hand over therepository to your client when you are done with the project. You create a new repository on theRepositories page in the CVSNT configuration dialog. Click on Add.
You areprompted to pick a directory that is used to store the repository files: Please write down the value of'Name'. You will need it every time you access the repository. Createa new directory on your computer and pick it. After clicking on OK, CVS asksyou whether it should initialize the repository. After that the repository is ready to use. Withthe default settings CVSNT uses the Windows user management to validate accessto the repository.
By granting or denying users access to the newly createdrepository directory, you can control which user can log onto the CVSNT server.How you structure access depends on your situation. To simplify youradministration, it's recommended to create user groups for CVS. Then assign thegroups to your users. If you are logged on as a regular user onyour computer – always a good thing to do – and you don't want to create a usergroup for CVS, you have to grant yourself write access to the repositorydirectory. Aside from the repository, the CVS serverrequires write access permissions to the TEMP directory. By default, this isC: program Files CVSNT Temp. Regular users do not have write access to thisdirectory, by default.
You either have to grant users in general, or the CVSgroup write permissions to this directory. WinCVS CVSNT installs CVS.EXE. This is a commandline program to access the CVS server. If that's sufficiently comfortable foryou, you can read everything about the syntax in the extensive help file andskip this section. However, most Windows and DOS developers don't feelcomfortable with pure command line tools, as the success of tools like NortonCommander or PC Tools made clear. For those developers WinCVS is an excellentinterface.
You install CVSNT only on the server. WinCVS,on the other hand, must be installed on every machine from which you want toaccess the repository. Launch the setup program as Administrator, accept thelicense agreement and leave all settings at their default. When WinCVS completed its own setup, thesetup launches the CVSNT setup. Even if you installed CVSNT on this machinealready, you have to complete the setup.
WinCVS uses CVSNT to install theclient tools that it needs to communicate with the CVS Server. You can ignoreany warning regarding the existing installation of CVSNT. The first time youstart WinCVS you must do so as an administrator. WinCVS wants to create somesettings directories and registry keys. Otherwise WinCVS will crash when youclose it. Subsequently, you can run WinCVS with your regular user account.
Working with CVS Introduction Launch WinCVS using the Start Programs Login. You'll get thelogin dialog. Upon the first time, the CVSROOT field is empty.
Click on the' button on the right side of the text field, to get the dialog forentering the path. This dialog looks like this: In the Protocol combobox selectsspi. As Repository path enter the name of the repository. This doesn'thave to be the physical directory name.
In the CVSNT configuration dialog thisvalue corresponds to the first column. Please note that you have to use'/' as a path separator instead of the ' ' commonly used inWindows. The Hostname is the name of the computer on which you installedCVSNT. Here you can also enter an internet address, or a TCP/IP address, Tochange a value in the list click on the entry and then on 'Edit'. In Username enter the normal Windows logon name. For security reasons youshouldn't fill out the field Password. Close the dialog with OK.
Close the logindialog with OK, too. WinCVS now attempts to log you onto the CVS Server.Eventually, you are prompted for a password. Then enter the password, younormally use to log onto Windows.
When you have been logged on successfully,you see the following text in the output pane: cvs -d:sspi;username=Christof;hostname=fpl5:/repositorylogin Logging in to:sspi:Christof@fpl5:2401:/repository. CVS exited normally with code 0. When there was an error, you get thefollowing result: cvs -d:sspi;username=Christof;hostname=fpl5:/repositorylogin Logging in to:sspi:Christof@fpl5:2401:/repository cvs login aborted: Logon failure: unknown username or bad password. In general you need to pay attention to theoutput pane. If an error occurs while executing a command, you won't get adialog, but an error message in the output pane.
The successful execution of acommand always results in the following message. CVS exited normally with code 1. Most times the code is either 0 or 1. Afteryou removed all unnecessary files from the project directory, activate the treeview of the project directory in WinCVS. In the menu go to Remote Importmodule Verify that you only have those files in the list that you expect. Alsocheck whether the distinction between TEXT and BINARY has worked out properly,because you can't change that afterwards. In the next dialog you have to enter someadditional information.
Very important is the 'Repository Path'textbox. Here you define the name of the module on the CVS server. Choose thisname carefully as you cannot easily change it later. Also verify that thespecified CVSROOT is correct.
Start the import by clicking the Ok button. Aftera successful import, you can delete the directory.
Now you can share the projectwith other developers of the team. Editing files Before you can work on a project that hasbeen imported into CVS, you have to create a local working copy in your localworking folder ( sandbox). In the tree view select the directory in whichyou want to create the project directory. For example, if the project directoryshould be C: Projects MyApp, you need to navigate to the C: Projects folder inCVS. The subdirectory is automatically created. The focus must be in the liston the left side. Then pick Remote Checkout Module If the CVSROOT textbox is empty, you canselect an existing CVSROOT entry with the combo box.
Then you can enter thename of the imported module in 'Module name and path on server'. Ifyou can't recall the name, you can click the ' button to get a listof all modules on the server. To query the server for the list, you have tocheck the 'List' option and select the CVSROOT. If the directory shouldn't have the samename as the module, you can overwrite the option 'Checkout intodirectory'. In the following sample, the directory is C: Fox Temp.
Checkingout the module produces the C: Fox Temp Tastrade directory. This directorycontains the module Tastrade from the repository. After checking out the module you have adirectory that contains all files in the repository.
As we had to generate textfiles for a number of VFP files, we now have to revert this process. Launch VFPand switch to the newly generated directory. Launch GenCode with the followingcommand line: DO Tools GenCode Select the.twofox file of your project. Inmy example this is Tastrade.twofox. You receive a security dialog that remindsyou that GenCode now generates code. There's no risk of loosing data, becauseGenCode creates a backup of every file before it overwrites it. Nonetheless,this is the right moment to think whether you made any change that you haven'tyet checked in.
Close the dialog by hitting Yes. GenCodenow generates and compiles all binary files. After checking out a module fromCVS, you only have the files that were in the repository. If needed you mustcopy or create those files that are not under version control. In the case ofTastrade, for example, you have to copy the Data directory. Normally you wouldget these files by using a StoneField data dictionary that you checked into therepository, by using an XCase model or by maintaining a directory with testdata.
Now finally, you can open the project inVFP and start editing all files. You only have to follow this huge list ofsteps once for every project. After the project and the local working copy isset up, the following steps are sufficient.
You can edit a file time without having toexplicitly check it out. When you have completed your changes and tested them,you have to add these changes to the repository. With CVS this is a two stepprocess that consists of the actions Update and Commit.
In VisualFoxPro you need an additional step to generate the XML files. First of allexecute the GenXML program in Visual FoxPro: Do Tools GenXML with 'Tastrade.pjx' This converts all modified files into XMLfiles. If a binary file hasn't changed, GenXML doesn't touch the associated XMLfile. This permits WinCVS to use the file stamp to detect all modified files.When using the so called Flat mode and the filters, you can see allmodified files of the project in a single list in WinCVS.
Before you can transfer any files back tothe server, you need to perform an Update. In the directory tree on theleft side select the project directory. Then pick from the menu bar the Modify Update item.
In CVS updating doesn't mean that you update the repository,rather that your working folder is updated with the current version in therepository. CVS checks which files other developershave changed in the meantime and downloads the most recent version. If you andother developers modified the same file, modifications of the other developerare merged into your version. In the file list those files appear with a filestamp of 'Result of merge'. Additionally, the output pane givesdetails on which versions have been merged together. If both changes caused a conflict, CVSgenerates a file that contains both versions. It's your job to edit the filewith a text editor to solve the conflict.
In practice, this only happens ifdevelopers do not commit changes regularly. When CVS encounters a conflict itreports the conflict in the output pane. Force yourself to check the entire CVSoutput after you updated the project. This requires discipline, but is the onlyway to discover problems. The first character explains what happened to a file: U CVS downloaded the file from the server. Another developer either added the file to the repository, or your local version differs significantly from the remote version.
P CVS patched your local file downloading only the changes from the server. This usually saves bandwidth. M You have modified a file locally that you haven't yet committed to the server. A You marked a file for addition to the repository, but haven't yet committed the file. D You marked a file for deletion.
The file will be deleted when you commit it.? The file is not in the repository. If certain files should not be added to the repository, you can create a file called '.cvsignore' (watch the period at the beginning of the file name). In this file you create one line for each file that you don't want to see in WinCVS. You can use wildcards such as. and?
To exclude group of files, eg. , to ignore all VCX, VCT and VCA files. To solve conflicts it's useful to view thedifference between your version and the version in the repository. WinCVS canshow you these differences. The result, however, will only satisfy you thinkgraphical user interfaces are a waste of time even in Linux. Therefore it'suseful to rely on an external tool to compare files in a more intuitive manner.One such alternative is the open source project WinMerge that you can downloadfrom. I personally favour a commercial tool such as Beyond Compare.
You enter the external diff tool in WinCVSby choosing Admin Preferences in the menu. On the WinCvs page enter thepath to your external application in the 'External Diff' textbox.
Theapplication is called with the full path to the two files you want to compare.To compare a file with a version from the repository, right click the file andpick the 'Diff' option. In the dialog check the 'Use theexternal diff' option, if you want to use the external program that youspecified in the options dialog.
Even though it's an extra burden at thebeginning I strongly recommend you to compare your own version of a file withthe version in the repository before committing any change. Only by doing thisyou can ensure that:. the automatic merge function of WinCVS has really worked. you removed all the temporary test code that you added during development.
you are able to document all changes in the commit dialog. you aren't surprised by any changes that VFP made to your files. After you solved all conflicts and verifiedall modifications, you can transfer all changes back to the CVS server ( commit).Right click the file that you want to send back and choose 'Commit'in the menu. You get the commit dialog: Because it's really important to check allmodifications, WinCVS offers a Diff button right on the commit dialog. Thisgives you a final opportunity to compare your files with the one in therepository. You can also enter a comment that describeswhat you have changed.
You should make it a habit to always enter somethinghere without exception. Otherwise you make it really hard to trace backchanges. Of course, you can easily view the differences between 1.1.15 and1.1.43. In reality, though, you want to know when a particular block of codehas been changed. Without useful comments, you have to diff all versions untilyou find the one that introduced the new code. After committing all changes switch to thetree view and run Modify Update again.
This time you shouldn't see anymodified files, unsolved conflicts, etc. In the file list of WinCVS, youshouldn't see any red file. If that's the case, you local version is a completecopy of the repository and, hence, the most recent program version. Changes made by others are so far onlyreflected in the XML files.
After committing files you therefore have toexecute GenCode to convert these XML files into executable binary files. LaunchVisual FoxPro, switch to your project directory and enter: Do Tools GenCode with'Tastrade.twofox' Obviously, you use the name of yourproject. If you don't specify the optional twofox file, GenCode prompts you fora file in a file open dialog. After GenCode generated all binary files, you cancontinue to work on the project.
If you work in a team it's a good idea to testyour project regularly to verify that it is still working. If the repositorycontains your master copy and you make it a rule that only working and testedcode may ever be submitted into the repository, you can modify the previousprocess a little bit:. Execute Tools GenXML to generate the XML version of all your files. Update your entire project in WinCVS. Solve all conflicts that CVS reports. Run Tools GenCode.APP to generate the most recent program version. Test the application that now contains your changes as well as the changed from your co-workers.
If the tests are. successful, commit all modified files.
![Plugin Plugin](/uploads/1/2/5/4/125491957/627716720.gif)
Compare the current version against the version in the repository. unsuccessful, fix the problems and start over at step 1. Perform an Update in WinCVS. CVS shouldn't report any further changes. After you committed many versions, youmight want to know what has changed.
To obtain a list of changes right-click afile and choose the Log item. This function prints the version history of afile into the output pane. To keep the history manageable, you can use filtersto limit the number of versions. This filter is available on the second page ofthe Log dialog. Alternatively, you can use the Graphfunction. It displays a graphical tree of the entire version history.
Byclicking on one version, you get the details of a change in the output pane.The most important part is the comment that you entered when you committed thefile. SubVersion SubVersion is a more recent product thanCVS that intends to replace CVS. Even though CollabNet pays a number ofdevelopers on the SubVersion team, SubVersion is an open source product. If youwonder how that pays off for CollabNet: The core business of the company is toprovide the infrastructure for out-sourcing software projects. While CVS is a file based system,SubVersion is organized around directories.
Therefore you can easily renamefiles and directories in SubVersion without loosing the history. Increasinglyimportant in bigger projects is the availability of transactions. Insubversion, you always check in all files in a single atomic operation. Ifthere's a problem with one file, the other files aren't checked in. This way youcan ensure that the repository always remains in a healthy and workable state. Additionally,SubVersion maintains meta data for each file (called properties). Meta data is versioned just like files.
If you do a lot tagging and branching, you willbenefit from the increased speed for these operations. You can download the latest version from. Installation The installation of SubVersion is straightforward. Double click the executable, accept the license agreement and leaveall settings at their default. Unlike CVSNT, however, the installed applicationis not immediately usable. SubVersion provides a server that can beexecuted in a number of different ways and be accessed by different protocols.The two main configurations are running SubVersion as an Apache module and as astand-alone process. Running SubVersion as an Apache modulerequires that you install and configure Apache 2.x.
If you haven't done anywork with Apache before, the setup is a bit more complex. In exchange you gainsome advantages. For one, SubVersion uses the WebDAV protocol. Therefore youcan use existing WebDAV clients to access a subset of the features ofSubVersion. Furthermore, the range of supported authentication and encryptionmethods is much broader.
The easier setup is using the svnserve.EXEserver process. You can launch it from the command line. SubVersion isimmediately ready to server requests. If you run SubVersion on an unattendedserver, that's not a good solution. You rather want to run subversion as aWindows service. First of all, you have to create arepository. Open a command line (CMD.EXE) and switch to the ProgramFiles SubVersion bin directory.
Then enter the following command: SVNADMIN create C: svnrep The last part is the path to therepository. If you already installed TortoiseSVN, you can create an emptydirectory in Explorer.
Then right click and choose TortoiseSVN Createrepository here Before you can connect to the repository, youhave to specify who is allowed to log on. When you install SubVersion as anApache module, you can use NTLM authorization. That means, the clientautomatically logs onto the SubVersion server using you Windows user name andpassword. On the server side you can grant access by using Apaches build-inpermission handling to grant access to the repository. With the lightweight server, on the otherhand, you have to configure user logins specifically for SubVersion.
Eachrepository has a list of users and passwords. Start by opening repository conf svnserve.conf. The format used by SubVersion is similar to theone used by Apache or Windows INI files. First of all remove the comment (#)from the following two lines: # general # password-db = passwd Next, open the passwd file that is locatedin the same directory. Remove the '#' from the following line: # users Then enter user names in the format username = password christof = 1234 The password must be specified in plaintext. It's not encrypted in any way. The user name is not case sensitive.
Remainsone thing to do: Installing SubVersion as a service. There's no built-insupport for Windows services. However, Magnus Norddahl wrote a little utilitynamed SVNService for that purpose. The installation is pretty simple. Download his tool from.Copy SVNSERVICE.EXE into your SubVersion bin directory (the one that containsSVNSERVE.EXE).
You can ignore any of the other files. Then launch a commandline as an administrator, activate the SubVersion bin directory and execute thefollowing command: SVNSERVICE -install –d –r c: svnrep The last parameter is the location of yourrepository. Change it as needed. Now you should find a service named'SVNService' in the Services console. You can either run it from theconsole, or enter the following command to start SubVersion: NET START SVNService From now on SubVersion starts with yourcomputer. If you've got a firewall, you must allow SVNSERVE.EXE to access TCP andUDP ports 3690 for inbound and outbound traffic.
Using SubVersion SubVersion bases on the same principles asCVS. Consequently, everything said about CVS also applies to SubVersion. Insteadof specifying a CVSROOT value, you have to connect to the repository using aURL. If you installed SubVersion as described previously, the URL would be: svn://server-name/ svn is the protocol name for accessing theSVNSERVE.EXE server. If you had used Apache, you would use the For any write access you are prompted to enter the password. Use thelogin and password that you specified in the passwd file.
In CVS you specified the module (directoryin the repository) separately from the CVSROOT. In SubVersion you add themodule name after the initial path. This is important if you want to import adirectory. If you would just specify the address as above, all files areimported into the root of the repository. Therefore you need to specify anaddress like: svn://server-name/tastrade To access SubVersion, you can use severaltools. Just like with CVS you can use the command line version.
The name isSVN.EXE. All parameters are described more in detail in the help file. Another option is TortoiseSVN. It's a shellextension that adds checking in/out files, browsing the repository, etc. Rightinto Windows Explorer.
In addition, the tool offers icon overlays. That means,TortoiseSVN uses the icon for the file type and then adds a symbol thatindicates if the file is current or has been modified. For many developers this is a key featureto use TortoiseSVN as well as to avoid TortoiseSVN.
If you belong to the latter group doesn'tlike to work in Explorer, or don't like the impact of having an Explorerextension, you can use SmartSVN. It's a commercial product that is free for usein foundations. SmartSVN provides a more WinCVS like interface: Resources CVS CVSNT: WinCVS: CVS SCC plug-in (commercial): SubVersion SubVersion: TortoiseSVN: SVN Service: SmartSVN (commercial): Other utilities Beyond Compare (commercial): WinMerge: TwoFox.