wiki:DeveloperGuidlines

Version 7 (modified by Thomas Schmid, 13 years ago) (diff)

--

Accessing the subversion control (SVN)

In the Cryptool 2.0 project we use SVN (subversion control) for version control. The repository is accessable under the following url:

https://www.vs.uni-due.de/svn/CrypTool2/

You have to use the same username and password as you used for accessing the wiki (this site).

In order to use the SVN repository one of the best options is TortoiseSVN. Please install TortoiseSVN (unfortunately it will ask you to reboot, which you need to do) and then create somewhere on your computer a directory (for instance "Cryptool2") for storing the local working files. Right click on this directory and select "SVN Checkout" from the context menu. In the new appearing window you must enter the URL of the repository as given above. The "Checkout directory" should be filled in correctly. After that, just hit ok, accept the certificate and enter your user credentials. Also mark the checkbox for saving your crendentials otherwise you will be asked about them for every single file. Then hit ok, and now the whole Cryptool2-repository should be checked out into the given directory.

Later on, if you just want to update (if there where changes in the repository) you can do this with right click on any directory within the working files and choose "SVN Update" from the context menu. If you changed a file you should choose "SVN Commit" from the context menu in order to upload your changes. Please always provide meaningfull descriptions of your updates.

There is also a SVN-plugin for Visual Studio available: ankhsvn. By now, we gathered a few experiences with it. The following steps will help you with the configuration and you will be able to checkin your first vs.net project:

  • Consider also the german tutorial at http://vb-magazin.de/forums/blogs/janm/archive/2007/01/02/6893.aspx
  • Please check before continuing: TortoiseSVN is installed, ankhsvn is installed and configured, the project's svn-repository is checked out
  • Create a new sub-folder ...\sources\[myName] for your new project
  • Create your new project and save it in this folder
  • Close VS.NET or at least the solution (do not use the vs.net plugin-functionality to add the solution to the svn-repository for now - we did not figure out how this works)
  • Use TortoiseSVN to "add" the files
  • Open the solution again with VS.NET
    • Now, you will be asked if you want the solution to be added to the svn-repository -> yes, you want.
    • Commit your changes etc.

It seems strange, that we have to use TortoiseSVN in order to add new files. Maybe somebody finds out how it works directly from ankhsvn?

In oder to checkin only clean code, please use the following ignore patterns: "obj bin debug release *.pdb *.suo *.exe *.dll"

Directory structure

Testing/Developing Plugins

  • Do not use the "Download Plugins button" from CT-Menu
  • Please create a subdir "CrypPlugins" instead: "...CrypWin\bin\Debug\ -> ...CrypWin\bin\Debug\CrypPlugins" this is the Compile-TargetDir of CrypWin. Put all the needed plugins into this directory. You can use postbuild events in VS: "Project->Properties->Build Events" to automate this.

The following directories exist:

  • To be written :)

More directories are created on a needed-basis.

Development

This project is coded with Visual Studio in C#.