I am just now moving a project to CVS, and would like some suggestions. I'm really just asking for your experiences in what works and what doesn't. I appreciate any input!
I have a project that combines custom software, FreeBSD, and some software initially grabbed from FreeBSD ports. (We use the FreeBSD ports version because any FreeBSD-patches to the software have been done for us.) We do not use new versions of any software from ports unless we do thorough testing--we would rather keep to a single version of each software so that we know about the bugs, specific implementation, etc. In addition, we customize some ports packages, so grabbing the latest and greatest isn't beneficial. The proposed CVS layout that I have so far is as follows: projectname/kernel projectname/tools/X projectname/tools/Y projectname/tools/Z projectname/userinterface projectname/component/softwareX projectname/component/softwareY projectname/component/softwareZ ... Anything under projectname/tools/ is custom. In addition, various software under projectname/component/ may be custom developed, customized from ports, or customized from downloaded source. By 'component' I mean to imply that this software works together in some fashion to deliver a service, or is in some way a core component of the software. projectname/kernel/ is a customized FreeBSD kernel. In my mind, we have three types of software to worry about: 1. custom developed - goes into CVS just like any custom software package being developed. 2. customized, existing software - if we are grabbing the software from ports should we just check that into CVS like we would with any other customized source? I would say that we are relying on 20-30 ports packages (we only need a few services, but the dependencies grab a lot of other software). So in this case we need to check in 20-30 source packages? If we decide to grab a new release from ports we would just check that in on top of the existing source? Should we consider a special directory for this? projectname/kernel projectname/tools/X projectname/tools/Y projectname/tools/Z projectname/component/softwareX projectname/component/softwareY projectname/component/softwareZ projectname/freebsd-ports/softwareX projectname/freebsd-ports/softwareY projectname/freebsd-ports/softwareZ ... 3. non-customized, existing software We have some software that we use from ports, and we depend on specific versions. Should we just keep a copy of tgz in an archive outside of CVS, or should we insert this into CVS too? Often, we just install the software and then one of our tools creates a customized configuration for it. Should we be checking in the configuration files then? Our tools overwrite them anyway, and we aren't really customized the configuration files by hand. _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
