madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

do not set g+s on repos
[puppet/modules/git.git] / README
1 puppet module: git
2 ==================
3
4 Author:    martin f. krafft <madduck@madduck.net>
5 Copyright: © 2010 martin f. krafft
6 Licence:   Artistic Licence 2.0
7
8 This module provides basic management of Git repositories. This is mainly done
9 with two definitions:
10
11 git::repository — maintain repositories
12 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13   git::repository { "/path/to/local/repo":
14     url      => "git://server/repo.git",  [required]
15     remote   => "origin",                 [default: origin]
16     branch   => "master",                 [default: master]
17     ref      => "master",                 [default: $branch]
18     owner    => "root",                   [default: root]
19     group    => "root",                   [default: root]
20     shared   => false,                    [default: false]
21     rebase   => false                     [default: false]
22   }
23
24   This would cause puppet to clone the repository at $url into the local path,
25   naming the remote "origin" and checking out "master" as the main branch. The
26   repository would be owned by root:root, and not shared (man git-init).
27
28   Subsequent runs would cause the "origin/master" branch to be fetched and
29   merged into the local "master" branch, using git pull without --rebase.
30
31   Finally, the specified ref would be checked out. For instance, you could set
32   this to a tag to pin the repository to this tag. Note that during the pull
33   operation, HEAD will be checked out and the repository brought back to the
34   tag only after the pull has completed.
35
36   No functionality exists to remove a repository. Use the file type for that.
37
38 git::config — maintain git-config(1) settings
39 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40   git::config { "/path/to/local/repo::user.email":
41     value  => "foo@bar.com",
42     ensure => present
43   }
44
45   If $repository and $option are not given, they are parsed from the resource
46   title, using '::' as delimiter.
47
48   If $repository is either "global" or "system", the git-config call will
49   affect the user's configuration (~/.gitconfig) or the system's configuration
50   (/etc/gitconfig) respectively. See git-config(1).
51
52 TODO
53 ====
54 - multiple branches (why?)