On the local machine, create a folder to hold a1: ================================================= ilir@ilir-MacBookPro:~$ cd csc207repos ilir@ilir-MacBookPro:~/csc207repos$ mkdir a1 ilir@ilir-MacBookPro:~/csc207repos$ cd a1 ilir@ilir-MacBookPro:~/csc207repos/a1$ Check out your repo in Markus: =============================== ilir@ilir-MacBookPro:~/csc207repos/a1$ svn --username dema co https://markus.cdf.toronto.edu/svn/csc165-2016-01/c5dema A c5dema/Test A c5dema/Test/file.txt Checked out revision 2. ilir@ilir-MacBookPro:~/csc207repos/a1$ Go to the root of the repo: =========================== ilir@ilir-MacBookPro:~/csc207repos/a1$ cd c5dema/Test ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ ls file.txt ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ Modify the existing file file.txt and add a new file file.txt: ============================================================== ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ vi file.txt ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ vi file1.txt ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ Check out the status, commit changes, and check the status again: ================================================================= ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ svn status M file.txt ? file1.txt ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ svn add file1.txt A file1.txt ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ svn commit Log message unchanged or not specified (a)bort, (c)ontinue, (e)dit: a ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ svn commit -m "Latest changes" Sending file.txt Adding file1.txt Transmitting file data ..done Committing transaction... Committed revision 3. ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ Check out the repo as a different user: ======================================= ilir@ilir-MacBookPro:~$ su - root Password: root@ilir-MacBookPro:~# cd /tmp root@ilir-MacBookPro:/tmp# mk dir a1 mk: command not found root@ilir-MacBookPro:/tmp# mk dir a1 mk: command not found root@ilir-MacBookPro:/tmp# mkdir a1 root@ilir-MacBookPro:/tmp# cd a1 root@ilir-MacBookPro:/tmp/a1# svn --username dema co https://markus.cdf.toronto.edu/svn/csc165-2016-01/c5dema Authentication realm: MarkUs Subversion Repository Password for 'dema': ********** ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: MarkUs Subversion Repository can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes A c5dema/Test A c5dema/Test/file.txt A c5dema/Test/file1.txt Checked out revision 3. root@ilir-MacBookPro:/tmp/a1# Using the original session, modify something: ============================================= ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ vi file1.txt ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ cat file1.txt Mickey Mouse Bugs Bunny Pikachu ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ svn commit -m "Added Pikachu"Sending file1.txt Transmitting file data .done Committing transaction... Committed revision 4. ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ svn status ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ cat file.txt apple pear banana However on the new sessions we are still at the previous version: ================================================================= root@ilir-MacBookPro:/tmp/a1/c5dema/Test# cat file1.txt Mickey Mouse Bugs Bunny root@ilir-MacBookPro:/tmp/a1/c5dema/Test# On the new session, do a svn update: ==================================== root@ilir-MacBookPro:/tmp/a1/c5dema/Test# svn update Updating '.': U file1.txt Updated to revision 4. root@ilir-MacBookPro:/tmp/a1/c5dema/Test# cat file1.txt Mickey Mouse Bugs Bunny Pikachu root@ilir-MacBookPro:/tmp/a1/c5dema/Test# Conflicts ========= Say both sessions do two different modifications. Old session: ============ ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ cat file1.txt Mickey Mouse Bugs Bunny Pikachu Superman ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ New session: ============ root@ilir-MacBookPro:/tmp/a1/c5dema/Test# vi file1.txt root@ilir-MacBookPro:/tmp/a1/c5dema/Test# cat file1.txt Mickey Mouse Bugs Bunny Pikachu Spiderman root@ilir-MacBookPro:/tmp/a1/c5dema/Test# root@ilir-MacBookPro:/tmp/a1/c5dema/Test# svn commit -m "Added Spiderman" Sending file1.txt Transmitting file data .done Committing transaction... Committed revision 5. root@ilir-MacBookPro:/tmp/a1/c5dema/Test# The commit on the old session fails: ==================================== ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$ svn commit -m "Added Superman" Sending file1.txt Transmitting file data .svn: E155011: Commit failed (details follow): svn: E155011: File '/home/ilir/csc207repos/a1/c5dema/Test/file1.txt' is out of date svn: E170004: Item '/Test/file1.txt' is out of date ilir@ilir-MacBookPro:~/csc207repos/a1/c5dema/Test$