I had a question regarding the BASE version in svn. I know it is the pristine version of an item from the last time update was run and svn diff and status basically run against this version. When does the BASE get updated? Does it get updated to the HEAD when update is run? Is this always true even if there was a conflict during update? What does BASE have incase of a conflict? Does it still have the version from my last update(before the most recent update that caused a conflict) or will it be updated to the HEAD even if there is a conflict?
Also when svn commit is run I am assuming the BASE gets updated with my local changes and at this point BASE, HEAD and my local copy all are the same? Provided the commit was successful.
In Subversion, the repository has a sequentially numbered revision that marks each state. HEAD is an alias for the latest revision of the repository. When a revision is not specified, HEAD is assumed.
BASE revision. The current base revision of a file or folder in your working copy. This is the revision the file or folder was in, when the last checkout, update or commit was run. The BASE revision is normally not equal to the HEAD revision.
HEAD is the latest revision in the repository. BASE is the last revision you have obtained from the repository. They are the same after a successful commit or update.
When you make changes, your files differ from the BASE copies. When you revert, they go back to matching the BASE revision. When you get a conflict, you do not update the repository. Rather, your files are considered to still be "being edited" as if you were making changes. After you resolve conflicts, you have in essence decided what the final files will look like and you then commit them as you would have normally. So, conflicts are like a case of special editing.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With