summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-11-15 17:03:23 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-11-16 09:57:53 -0500
commit12684bada59c9ddc08165dad757682514b54634c (patch)
tree17fcba524c1ce6f157a3c93e3a9a77b5d1fa9d6f /doc
parenta6a29aa01744cc893741ddf558f415b7c705d3f6 (diff)
downloadbcfg2-12684bada59c9ddc08165dad757682514b54634c.tar.gz
bcfg2-12684bada59c9ddc08165dad757682514b54634c.tar.bz2
bcfg2-12684bada59c9ddc08165dad757682514b54634c.zip
Git: Added ability to update to a specific tree-ish
Diffstat (limited to 'doc')
-rw-r--r--doc/server/plugins/version/git.txt35
1 files changed, 32 insertions, 3 deletions
diff --git a/doc/server/plugins/version/git.txt b/doc/server/plugins/version/git.txt
index b3c469d6c..3f7ab9d9b 100644
--- a/doc/server/plugins/version/git.txt
+++ b/doc/server/plugins/version/git.txt
@@ -20,9 +20,38 @@ it will include the current repository revision in the
reports/statistics.
Additionally, if the ``GitPython`` library is installed, the Git
-plugin exposes an additional XML-RPC method call, ``Git.Update``,
-which updates the working copy to the latest version in the remote
-origin.
+plugin exposes an additional XML-RPC method call, ``Git.Update``.
+With no arguments, ``Git.Update`` updates the working copy to the
+latest version in the remote tracking branch. If the current working
+copy doesn't have a remote tracking branch, then nothing is done.
+
+``Git.Update`` can also be given a single argument, the name of a git
+tree-ish (branch, tag, ref, commit, etc.) to check out. When this is
+done, the new working is updated as well.
+
+For example::
+
+ bcfg2-admin xcmd Git.Update master
+
+This checks out the ``master`` branch and updates it to the latest
+data from the remote ``master`` (if applicable). If you then run::
+
+ bcfg2-admin xcmd Git.Update
+
+This updates to the latest remote data without changing branches.
+Then::
+
+ bcfg2-admin xcmd Git.Update dd0bb776c
+
+This checks out the specified commit. Subsequently::
+
+ bcfg2-admin xcmd Git.Update
+
+This does nothing, because the working copy is now in "detached HEAD"
+state, and there can be no remote tracking branch to update from.
+
+To put it another way, once you tell ``Git.Update`` which tree-ish to
+checkout, it stays on that tree-ish until you tell it otherwise.
Enabling the Git plugin
=======================