Accessing the SVN repository

From Inforail
Jump to: navigation, search

To facilitate software development, commit your code to an SVN repository.

SVN access data

  • Server: https://data.dekart.com:8443
  • Path: /svn/FAFstuff
  • the username and password are given to you by the supervisor
  • along with the name of the project


Structure of the project folder

To keep things in order, adhere to the following conventions for your directory structure. Feel free to deviate, if this is justified.

  • Include - headers
  • Res - resources
  • Src - source files
  • Lib - static libraries
  • Lang - language resources
  • Release - the resulting output (EXE or DLL, etc)
  • Project - the project file that can be used by the IDE (ex: SLN, VCPROJ, DSP, DSW, etc)
  • Test - sample test program that illustrates how a library works
  • OEM - files specific for a particular software version adapted for a customer
  • Plugins - plugins that can be used by the program (ex: Key Manager plugins)
  • Doc - documentation
    • Source files for the documentation (ex: Doxygen project settings, Help & Manual)
    • The software requirements and specifications (ex: техническое задание)
    • Changelog
    • Readme file
    • Compilation instructions
  • Help - the output of the help files (ex: CHM, PDF)
    • language subdirectories for other languages, if any (ex: en, ru, de, ro)


Guidelines

  • Relative paths must be used in the settings, when including headers, libraries or resources. Do NOT use absolute paths.
  • Always write a commit log that documents what changed in the code.
  • Commit the code when it reaches a certain milestone and is in a working condition.
  • Avoid committing non-working code; if there are many changes and it is difficult to keep track of them - it is a sign of the fact that the code should be refactored into smaller, independent modules, that can be committed.

References

  • RapidSVN - an open-source, free, cross-platform SVN client with a GUI.
  • Meld - graphical diff tool for Linux, that lets you compare files side by side and highlight the delta between them. It can be used together with RapidSVN.
  • WinMerge - same as above, but is a Windows application.