SLIDE doesn't seem to support creating more than one branch for a particular version of a resource. In the following example, I set the version back to 1.1, and do a check-out and a check-in to create a 1.1.1. I then set the version back to 1.1 again, and retry a check-out and a check- in. This time it fails. Create the file and some version history (auto-version-control is set to true for me) [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ put boot.ini Uploading 'C:\boot.ini' to '/slide-tm/files/EasyDoc/GI/boot.ini' succeeded. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ checkout boot.ini checking out '/slide-tm/files/EasyDoc/GI/boot.ini': succeeded. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ checkin boot.ini checking in '/slide-tm/files/EasyDoc/GI/boot.ini': succeeded. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ checkout boot.ini checking out '/slide-tm/files/EasyDoc/GI/boot.ini': succeeded. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ checkin boot.ini checking in '/slide-tm/files/EasyDoc/GI/boot.ini': succeeded. Have a look at the version tree [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ report boot.ini Getting version-tree Report of '/slide-tm/files/EasyDoc/GI/boot.ini': /slide-tm/history/30/1.2 /slide-tm/history/30/1.1 /slide-tm/history/30/1.0 Set the version back to 1.1 [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ update boot.ini /slide- tm/history/30/1.1 Updateing resource /slide-tm/files/EasyDoc/GI/boot.ini: succeeded. Do a check-out and a check-in. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ checkout boot.ini checking out '/slide-tm/files/EasyDoc/GI/boot.ini': succeeded. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ checkin boot.ini checking in '/slide-tm/files/EasyDoc/GI/boot.ini': succeeded. Have a look at the version tree. This time, have a version 1.1.1 as expected. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ report boot.ini Getting version-tree Report of '/slide-tm/files/EasyDoc/GI/boot.ini': /slide-tm/history/30/1.1.1 /slide-tm/history/30/1.2 /slide-tm/history/30/1.1 /slide-tm/history/30/1.0 Set the version back to 1.1 [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ update boot.ini /slide- tm/history/30/1.1 Updateing resource /slide-tm/files/EasyDoc/GI/boot.ini: succeeded. Do a check-out and a check-in. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ checkout boot.ini checking out '/slide-tm/files/EasyDoc/GI/boot.ini': succeeded. [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $ checkin boot.ini checking in '/slide-tm/files/EasyDoc/GI/boot.ini': failed. Internal Server Error (500) [MILK:/slide-tm/files/EasyDoc/GI/] C:\ $
Created attachment 16335 [details] Two line change to pass through successors when creating a branch. In order to work out the correct branch number (e.g. 1.1.<BRANCH_NUMBER>.1), need to pass in the list of successors for the branch point.
Created attachment 16336 [details] Adds functionality for multiple branch points from a single revision. The number of components in a revision is now always a multiple of two (a la CVS revision numbers). The odd positions indicate the branch number. e.g. if you 1.1 and 1.2 the first time you check out 1.1 you will get 1.1.1.1. The second time you check out 1.1 you will get 1.1.2.1. Added a number of methods to support this => getBranchLevel() and getBranchNumber(). Also moved some repeated initialisation code into a single private method, initBaseRevision().
The number of components in a revision is now always a multiple of two (a la CVS revision numbers). The odd positions indicate the branch number. e.g. if you 1.1 and 1.2 the first time you check out 1.1 you will get 1.1.1.1. The second time you check out 1.1 you will get 1.1.2.1. Added a number of methods to the NodeRevisionNumber class to support this => getBranchLevel() and getBranchNumber().