Concurrent Versions System (Cvsnt) 2.8.01.7886 Cvsnt--Concurrent Versions System (Cvsnt) 2.8.01.7886 2 / 142
Total Page:16
File Type:pdf, Size:1020Kb
cvsnt--Concurrent Versions System 1 / 142 (cvsnt) 2.8.01.7886 cvsnt--Concurrent Versions System (cvsnt) 2.8.01.7886 cvsnt--Concurrent Versions System (cvsnt) 2.8.01.7886 2 / 142 COLLABORATORS TITLE : REFERENCE : cvsnt--Concurrent Versions System (cvsnt) 2.8.01.7886 ACTION NAME DATE SIGNATURE WRITTEN BY July 30, 2021 REVISION HISTORY NUMBER DATE DESCRIPTION NAME cvsnt--Concurrent Versions System (cvsnt) 2.8.01.7886 3 / 142 Contents 1 Overview 1 1.1 What is CVS? . 1 1.2 What is CVS not? . 2 1.3 A sample session . 3 1.3.1 Getting the source . 3 1.3.2 Committing your changes . 3 1.3.3 Cleaning up . 4 1.3.4 Viewing differences . 4 2 The Repository 6 2.1 Telling CVS where your repository is . 6 2.2 How data is stored in the repository . 7 2.2.1 Where files are stored within the repository . 7 2.2.2 File permissions . 8 2.2.3 The attic . 9 2.2.4 The CVS directory in the repository . 9 2.2.5 CVS locks in the repository . 9 2.2.6 How files are stored in the CVSROOT directory . 10 2.3 How data is stored in the working directory . 10 2.4 The administrative files . 13 2.4.1 Editing administrative files . 13 2.5 Multiple repositories . 13 2.6 Creating a repository . 13 2.7 Backing up a repository . 14 2.8 Moving a repository . 14 2.9 Remote repositories . 15 2.9.1 Server requirements . 15 2.9.2 Connecting with ssh . 15 2.9.3 Using 3rd party clients via the extnt wrapper . 16 2.9.4 Direct connection with password authentication . 17 cvsnt--Concurrent Versions System (cvsnt) 2.8.01.7886 4 / 142 2.9.4.1 Setting up the server for Authentication . 17 2.9.4.2 CVS passwd file . 17 2.9.4.3 Using the client with password authentication . 18 2.9.4.4 Security considerations with password authentication . 19 2.9.5 Direct connection with GSSAPI . 19 2.9.6 Connecting with fork . 20 2.9.7 Using repository aliases . 20 3 Security 21 3.1 How to set up security . 21 3.2 How to add and delete users . 21 3.3 Setting permissions for files and directories . 21 3.4 Groups of users can be assigned permissions . 22 3.5 Running CVSNT as a nonprivileged user . 23 3.6 Running within a chroot jail . 23 3.7 Setting and changing passwords . 23 3.8 Repository administrators . 23 3.9 Read-only repository access . 23 3.10 Temporary directories for the server . 24 3.11 The CVSNT lockserver . 24 4 Starting a project with CVS 25 4.1 Setting up the files . 25 4.1.1 Creating a directory tree from a number of files . 25 4.1.2 Creating Files From Other Version Control Systems . 26 4.1.3 Creating a directory tree from scratch . 26 4.2 Defining the module . 26 5 Revisions 28 5.1 Revision numbers . 28 5.2 Versions, revisions and releases . 28 5.3 Assigning revisions . 28 5.4 Tags-Symbolic revisions . 29 5.5 Specifying what to tag from the working directory . 30 5.6 Specifying what to tag by date or revision . 31 5.7 Deleting, moving, and renaming tags . 31 5.8 Tagging and adding and removing files . 32 5.9 Alias tags . 32 5.10 Commit identifiers . 32 5.11 Sticky tags . 32 cvsnt--Concurrent Versions System (cvsnt) 2.8.01.7886 5 / 142 6 Branching and merging 34 6.1 What branches are good for . 34 6.2 Creating a branch . 34 6.3 Accessing branches . 35 6.4 Branches and revisions . 36 6.5 Magic branch numbers . 36 6.6 Merging an entire branch . 37 6.7 Merging from a branch several times . 38 6.8 Merging differences between any two revisions . 38 6.9 Merging can add or remove files . 39 6.10 Merging and keywords . ..