From owner-freebsd-questions@FreeBSD.ORG Fri Jun 1 19:27:58 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 46C7116A469 for ; Fri, 1 Jun 2007 19:27:58 +0000 (UTC) (envelope-from mkhitrov@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.237]) by mx1.freebsd.org (Postfix) with ESMTP id 097BF13C4B9 for ; Fri, 1 Jun 2007 19:27:57 +0000 (UTC) (envelope-from mkhitrov@gmail.com) Received: by nz-out-0506.google.com with SMTP id 14so558312nzn for ; Fri, 01 Jun 2007 12:27:57 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=r+NW4D+QQACw7S/WE12CbosSIXYl+xu9aIRk1jtjL6pvDqLPpuPeI5vTbPPoIAM/wXF64vW6+MqChmz0ZK+jg0nkNtLlqavArgXXzSRByqjL7AG3cZJqLKZldi5wVSiEgmmVbbjY1KHdweSoxqoiFHOdPtxC8Nkv5mE2NW7iVFg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=nWUQvij8TG8T6s5HT1Z9wA0JUX7QTBIXtvLwz8vFhXAtgyb9yuwT8oBRVHUsRtQhhR4aSCJY382jeov21JwD9WHHfS+IdGCyGq61yNR7OsWiOUgAO9hkODXEGZDDF1Fd0dodxMQIT8vP0qF0mrhmxPUrN/eeb/Hgo4OzSioHcbw= Received: by 10.143.32.4 with SMTP id k4mr104546wfj.1180726077144; Fri, 01 Jun 2007 12:27:57 -0700 (PDT) Received: by 10.142.254.1 with HTTP; Fri, 1 Jun 2007 12:27:57 -0700 (PDT) Message-ID: <26ddd1750706011227g224eaa1dh93233400c704595e@mail.gmail.com> Date: Fri, 1 Jun 2007 15:27:57 -0400 From: "Maxim Khitrov" To: freebsd-questions@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Recommendations for config file revision control X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2007 19:27:58 -0000 Hi everyone, I'm currently setting up a new server, and I'd like to keep track of all changes made to various config files (in /etc, /usr/local/etc, and a few other places perhaps). My first thought was to setup a subversion server which would contain the partial directory structure that matches that of the server's starting at /. It would contain versioned copies of all the configuration files that I want to keep track of in their appropriate locations. What I would do then is write a hook for subversion that will issue an automatic export command (don't want .svn directories everywhere) every time a commit is made to the repository. So to edit some configuration file I would first checkout a working copy of the repository to some other location, make the change and commit it. The server would be automatically updated with the new file and I would be able to keep track of every change. This seems like a decent strategy to me, but before I go off writing the scripts and setting up the server I wanted to ask what you guys might be using to keep track of the server configuration (backups don't count)? Is there an easier way of doing the same thing, for example, eliminating the need to do a working copy checkout first? Perhaps a way to monitor certain files for changes, and automatically commit them every time a change is saved. I'd be glad to hear any suggestions you might have in this regard. If possible, I'd like all the versioned files to contain an id string, so that it's easy to determine when the file was last changed and by whom, but this is optional. For the most part I just need a way of going back to previous versions. Thanks, Maxim Khitrov