####################################################################### ### CVS for dummies ^W solene, sdk, ####################################################################### About this file: Hello new porter and welcome to the OpenBSD community. This file will help you with the first steps in the arcane world of CVS. If something goes wrong - don't worry and reach out to your mentor, porters on ICB or hackers@. This file contains information about different tasks that may be required to perform when updating or importing ports. # CHANGING / UPDATING A PORT # ========================== Mark new files: $ cvs add Remove files: $ rm $ cvs rm If there is a new directory, it needs an explicit "cvs add ". Directories can not be deleted in CVS, but they won't be checked out if they are empty. Don't be confused when you try to add a patches/ directory and CVS reports that it's already present. This happens, just add files back to it. Compare against cvs.openbsd.org: $ cvs -n -d cvs.openbsd.org:/cvs up -PdA Watch out for: > ? -> Missing files (forgot to cvs add) > U -> Files that would be fetched (forgot to cvs rm) Simulate your commit: $ cvs -n -d cvs.openbsd.org:/cvs commit This will show you what would be done on commit, however it won't show you files you forgot to rm/add. But it will catch conflicts. Commit files: $ cvs -d cvs.openbsd.org:/cvs commit files ... Or if you want to commit everything in $PWD $ cvs -d cvs.openbsd.org:/cvs commit files . PITFALL: The $OpenBSD$ IDs will be expanded on commit. This means the commit command needs write access to the local files to change these ID. If it can't do this (because you worked as root and committed as user) you will get a list of write errors and a diff will still show differences right after the commit. In this case: The commit is fine! Checkout the individual port directory again from cvs.openbsd.org to get the updated version. You can fix this by removing (or moving) the port directory and pulling it back from cvs.openbsd.org: $ mv .broken $ cvs -d cvs.openbsd.org:/cvs get -P -d ports// Then fix the files and commit. # COMMIT MESSAGE (PORT UPDATE) # ============================ Update [who takes MAINTAINER] ok # COMMIT MESSAGE (NEW PORT) # ========================= Import [who takes MAINTAINER] ok # COMMIT MESSAGES IN GENERAL # ========================== - List people who gave "ok" - Mention people who participated (writing the port, debugging, giving hints for solving a problem), like "thanks foo@ for the help", depending on the person this is more or less important, some people may feel hurt if you forget them. Not every commit message needs to be this extensive. Category Makefile changes often only only contain "add subdirectory