Source code lock manager

OData support
Dr. Dudás Ákos
Department of Automation and Applied Informatics

Software development teams are nowadays storing and integrating the developed code in version control systems. Each member of the team can see the entire source code and have the option to modify it. However, in the testing phase of the software, the code must remain in stable state, so modifications are not allowed. So during the integration test phase, and the necessary bug fixes entire code branches are locked, which is a lengthy procedure for a large number of file sets.

The project is based on Microsoft's own version control system, Team Foundation Server (TFS).

TFS can only lock and unlock files one by one, which makes this process uncomfortable.

The source code manager application, wich is the subject of this thesis, provides an alternative to this problem, it can be used to handle the locking or unlocking of a large number of routes comfortably and quickly. The users can define the paths of the files stored on TFS in so called lock-files, even by using regular expressions, and then locking or unlocking the resulting file set. The process takes place on multiple threads, increasing the speed.

To check-in the fixes for the problems detected by the integration tests, the affected files must be temporarily unlocked. Developers are uploading the patches in the form of so-called shelvesets. The application also offers the ability to manage files that are contained by a shelveset, so users do not have to search and unlock them individually.

The implemented application is based on the server-client model, the server is responsible for communicating with the TFS, initiating and managing the unlock or lock processes, and coordinating the connected clients. The client application provides a convenient graphical user interface. Both program are designed using the .NET Framework. The server and the client are connected through the Internet, and the communication is based on a newly implemented protocol layer above TCP.


Please sign in to download the files of this thesis.