PxPlus User Forum

Twitter Twitter Twitter

Author Topic: How does SVN work?  (Read 122 times)

PxPlus

  • Administrator
  • Diamond Member
  • *****
  • Posts: 1061
    • View Profile
How does SVN work?
« on: April 09, 2019, 01:22:09 PM »
Generally how our SVN interface works is that each programmer works from their own desktop, each of which contains a copy of the SVN library generally refereed to as their sandbox.  The programs and Nomads panels in the sandbox are maintained in text form.

When they edit a program and issue a SAVE command (from command line or via any of the editors), the system not only updates the application code (compiled version of the program) but also the text version of the program in the sandbox.  Same holds true for PxPlus Nomads panels the system updates not only the screen library but also the text mode sandbox where each panel is maintained as a separate text file in a sub-directory whose name matches that of the screen library.

When the programmer is happy that his/her changes are clean and they want to commit these they use TortoiseSVN to commit the changes source files from their sandbox to the SVN server/repository.  This is done using a secure SSH connection using Putty.

On a regular basis programmers should 'Update' their sandbox from the SVN server.  This update process will update the files in their sandbox with the current committed versions.  Should the program be working on the same programs and as such their sandbox version have changes they have made, the system will attempt to merge the SVN repository version with their changes.

Should the system find that the there is a conflict between changes the program has made and the repository version, it will flag the file and request that the user either manually merge the changes or accept the SVN repository version or their own.  This rarely happens as a conflict would only occur if the program changed the same line.

The biggest advantage that using SVN provides is that each programmer can work independently and generally not have to worry about 'locking' programs or panels.  Also since each programmer has their own copy of the software they can work remotely without the need to be only constantly.  They only need to connect to the server when committing changes or updating the workstation.

Further details on how to setup: https://manual.pvxplus.com/PXPLUS/PxPlus%20Version%20Control%20System%20Using%20TortoiseSVN/Introduction.htm