From 63a5b62dba190007634e1e0f2f834057b63aeafd Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Thu, 18 Oct 2012 11:33:38 -0400 Subject: added Git.Update RMI, ability to base bcfg2 VCS repo at a different directory than the repo root --- doc/server/plugins/version/git.txt | 36 ++++++++++++++++++++--------------- doc/server/plugins/version/svn.txt | 30 +++++++++++++++++------------ doc/server/plugins/version/svn2.txt | 38 ------------------------------------- 3 files changed, 39 insertions(+), 65 deletions(-) delete mode 100644 doc/server/plugins/version/svn2.txt (limited to 'doc') diff --git a/doc/server/plugins/version/git.txt b/doc/server/plugins/version/git.txt index ea2f087ba..d4b9187fa 100644 --- a/doc/server/plugins/version/git.txt +++ b/doc/server/plugins/version/git.txt @@ -6,26 +6,32 @@ Git === -Why use the Git plugin -====================== - -The Git plugin is useful if you would like to track changes to your bcfg2 -repository using a `Git `_ backend. Currently, -It enables you to get revision information out of your repository for +The Git plugin is useful if you would like to track changes to your +bcfg2 repository using a `Git `_ backend. It +enables you to get revision information out of your repository for reporting purposes. Once the plugin is enabled, every time a client checks in, it will include the current repository revision in the reports/statistics. -Future plans are to commit changes to the repo which are made by the -server (adding clients, ssh keys, etc). +If the ``dulwich`` library is installed, the Git plugin will use +that. If ``dulwich`` is not installed, but ``GitPython`` is, that +will be used instead. If neither is installed, then calls will be +made to the git command. + +If you plan to edit your git repository in-place on the Bcfg2 server +(which is probably not recommended), then you may want to avoid using +``dulwich``; it's sufficiently low-level that it may not present a +user-friendly git repository at all times. + +Additionally, the Git plugin exposes one XML-RPC method calls, +``Git.Update``, which updates the working copy to the latest version +in the remote origin. -How to enable the Git plugin -============================ +Enabling the Git plugin +======================= -The Git plugin uses `Dulwich `_ to -interface with git repositories. Therefore, you will need to install -Dulwich on the Bcfg2 server first. Once installed, simply add Git to -your plugins line in ``/etc/bcfg2.conf``:: +To enable the Git plugin, simply add it to your plugins line in +``/etc/bcfg2.conf``:: [server] - plugins = Base,Bundler,Cfg,...,Git + plugins = Bundler,Cfg,Metadata,...,Git diff --git a/doc/server/plugins/version/svn.txt b/doc/server/plugins/version/svn.txt index a23d4d35b..7166ee89d 100644 --- a/doc/server/plugins/version/svn.txt +++ b/doc/server/plugins/version/svn.txt @@ -7,22 +7,28 @@ Svn === The Svn plugin is useful if you would like to track changes to your -bcfg2 repository using a `Subversion `_ -backend. It deprecates the previous Subversion integration mentioned here -at ftp://ftp.mcs.anl.gov/pub/bcfg/papers/directing-change-with-bcfg2.pdf. +Bcfg2 repository using a `Subversion `_ +backend. -Currently, It enables you to get revision information out of your -repository for reporting purposes. Once the plugin is enabled, every time -a client checks in, it will include the current repository revision in -the reports/statistics. +As with the other Version plugins, the Svn plugin enables you to get +revision information out of your repository for reporting +purposes. Once the plugin is enabled, every time a client checks in, +it will include the current repository revision in the +reports/statistics. -Future plans are to commit changes to the repo which are made by the -server (adding clients, ssh keys, etc). +Additionally, if the ``pysvn`` library is installed, the Svn plugin +exposes two XML-RPC method calls: -How to enable the Svn plugin -============================ +* ``Svn.Update`` updates the working copy to the latest version in the + repository. +* ``Svn.Commit`` commits any changes to the working copy back to the + repository. In order for this to work, the user Bcfg2 runs as must + be able to commit to the repository non-interactively. + +Enabling the Svn plugin +======================= Simply add Svn to your plugins line in ``/etc/bcfg2.conf``:: [server] - plugins = Base,Bundler,Cfg,..,Svn + plugins = Bundler,Cfg,Metadata,..,Svn diff --git a/doc/server/plugins/version/svn2.txt b/doc/server/plugins/version/svn2.txt deleted file mode 100644 index 021ae4fd2..000000000 --- a/doc/server/plugins/version/svn2.txt +++ /dev/null @@ -1,38 +0,0 @@ -.. -*- mode: rst -*- - -.. _server-plugins-version-svn2: - -==== -Svn2 -==== - -The Svn2 plugin is useful if you would like to track changes to your -bcfg2 repository using a `Subversion `_ -backend. It is a rewrite of the Svn plugin using the -`pysvn `_ api. - -Currently, it enables you to get revision information out of your -repository for reporting purposes. Once the plugin is enabled, every time -a client checks in, it will include the current repository revision in -the reports/statistics. If any changes are made from the bcfg2-server, -the plugin will commit them back into the repositroy. For example, -``/usr/sbin/bcfg2-admin pull client Path /some/file`` will update the -servers repository and commit the changes into svn. - -How to enable the Svn2 plugin -============================= - -Simply add Svn2 to your plugins line in ``/etc/bcfg2.conf``:: - - [server] - plugins = Base,Bundler,Cfg,..,Svn2 - -Auto Commit feautre -=================== - -Svn2 adds the ability to commit changes back into the repository. In -order for this feature to work the repository should already be under version -control and the user the bcfg2-server runs as must be able to commit without -any interaction. For example, a file base repository url -(``file:///path/to/repo``). - -- cgit v1.2.3-1-g7c22