Commit Graph

51 Commits (c8eb47eefa8932e4861cdb9d5e1495063e4ed570)

Author SHA1 Message Date
James Cammarata df877f2e79 Check module_path permissions when creating ssh_wrapper for git
If the module directory is not writable/executable to the current user
(most likely because of a sudo to a non-root user), the ssh_wrapper
will be created in the default location for mkstemp() calls. To facilitate
the deletion of these new files, a new mechanism for cleaning up files
created by the module was also added.

Fixes #7375
11 years ago
Chad Nelson ef1a8e4cdd Only update submodules when recursive is true 11 years ago
James Tanner 1c9950678a Addresses #6750 Use --help instead of - 11 years ago
James Tanner cca028187e Fixes #6750 Check git subcommand for --remote and expose errors 11 years ago
Oleg A. Mamontov 933fb349f1 Fixed cwd for submodules update 11 years ago
Michael DeHaan c308b98742 Merge branch 'intellectronica/non-recursive-git' of git://github.com/intellectronica/ansible into devel
Conflicts:
	library/source_control/git
11 years ago
addshore 11895fa437 Add --remote to git submodule_update
This simply adds --remote to the git submodule update command.
This means that if a branch is defined in .gitmodules then we should track said branch when updating.
11 years ago
James Tanner 5f428041db Fixes #6582 Re-add regex to ignore untracked files that were never tracked 11 years ago
James Tanner 67517e96d3 Fixes #6567 put the git wrapper script in the module temp dir 11 years ago
andreaskern a57581e1e7 add param to note example for ssh-keyscan
hostnames in the known hosts file are typically stored as Hashed values, calling 'ssh-keyscan' with '-H' changes to output to the Hashed format so that the known_hosts file looks more consistent
11 years ago
patrickheeney fae36165a2 Fix documentation for accept_hostkey 11 years ago
Patrick Smith 4173608b58 git: Execute git commands in `dest` directory 11 years ago
James Tanner ba0fec4f42 Force command action to not be executed by the shell unless specifically enabled 11 years ago
Jesse Keating 4593e3c357 Make sure requested version tag gets downloaded
There is a subtle bug in how the git module currently works. If the
version you request is a tag name, and you've already got the repo
cloned, and the tag name is a new tag, but refers to the already checked
out working copy, the git module would exit early without change. This
is bad as it means the new tag ref was not fetched and could not be used
in later tasks.

This change will check if the version is a remote tag, and if the tag
doesn't exist locally. If that is true, it'll do a fetch.

The activity could still be seen as not a change, because the working
copy won't be updated, if the new tag refers to the already checked out
copy, but that's not different than before and can be fixed as a more
comprehensive overhaul of tracking change in the git module.
11 years ago
Michael Porter 8ccbf13a13 (#5822) Use `mkstemp` to open a temporary file (as NamedTemporaryFile doesn't take a `delete` argument in Python < 2.6) 11 years ago
James Tanner 3ec043ec17 Fixes #5750 Fail on missing ~/.ssh and ignore accept_hostkey if stricthoskeychecking is off 11 years ago
James Tanner 86ba8f4dff Fix git module parameters to conform to code standards 11 years ago
James Tanner 18050d50ec Fixes #4108 Add sshopts and keyfile parameters to the git module 11 years ago
James Tanner eeee1e1c5a Set accept_hostkey to False by default in the git module and fail
early if the key is unknown
11 years ago
James Tanner 8665b0638a Add an "accept_hostkey" parameter to the git module to help automatically
accept hostkeys for git repos and prevent task hangs when the key is unknown
11 years ago
James Tanner 6000d636b3 Fixes #5023 Convert all modules to use new snippet import pattern 11 years ago
Tom Berger 79f3c56ddd Add a `recursive` option to the git command.
Make it possible to clone without submodules by setting
recursive to no. Default is yes, so no change is needed
in existing plays.
11 years ago
James Tanner 5c1fbcc9d2 Addresses #5036 fix typo in git module 11 years ago
James Tanner d950a3d1b5 Fixes 5036 add missing parameter to git module function call 11 years ago
jctanner ad5012f930 Merge pull request #4691 from cg-soft/git-bare-ref-repo-support
Add support for bare git reference repos
11 years ago
Michael DeHaan 337b6ce642 Fix documentation formatting. 11 years ago
Michael DeHaan 6d16f85b30 Suggest keyscan for github/other SCM hanging. 11 years ago
Christian Goetze f41d4ac390 Add support for bare git reference repos
This adds two parameters to the git module:

  bare (boolean)
    Indicates this is to be a bare repositori

  reference (string)
    Indicates the path or url to the reference repo.
    Check out the "--reference" option in the "git clone"
    man page

Added appropriate tests.
11 years ago
Yap Sok Ann 8519d586ba git: Don't add --branch while cloning if the version is a SHA-1 hash. 11 years ago
Yap Sok Ann 9f8cdac0aa git: Handle network problem when running `git ls-remote`. 11 years ago
Yap Sok Ann a53e7045a6 git: Always return the before/after revisions, even in check mode.
The return values from check mode and non-check mode should match in all cases,
except when a SHA-1 hash is used as version, as there is no way to check if it
is a valid hash using `git ls-remote`.

Also, to accomodate this change, the force flag for the reset function has been
removed so that we can do the checking in main.
11 years ago
Yap Sok Ann b9558828e8 git: Make function get_remote_head usable when cloning.
This allows the module to return the before/after revisions in all cases.
11 years ago
Yap Sok Ann 2ad4d77c9a git: Remove unnecessary return code checking.
The functions either return rc=0 or call fail_json themselves.
11 years ago
Yap Sok Ann 9af05f4d2f git: Full length SHA-1 in, full length SHA-1 out.
This removes ambiguity at the expense of slight backward incompatibility.
11 years ago
James Tanner b98ab745f1 fix docstring indentation on scc modules 11 years ago
Skylar Saveland 5243bd5fa3 executable option to git module 11 years ago
James Cammarata 7bd8c18fa7 Merge branch 'gitfix' of https://github.com/johanwiren/ansible into johanwiren-gitfix 11 years ago
Johan Wirén dcd556b92f Fixed so that we no longer check with the remote if a checkout already is at the desired sha version. 11 years ago
Drew Blas 9ede377380 Added git disclaimer about dealing with ssh host checking
This disclaimer already exists in library/source_control/hg but not here.  It affects both and was discussed awhile back on: https://groups.google.com/forum/#!msg/ansible-project/q9G9xIdsRxo/XJhQzuS-qSoJ  However no PR was ever sent to fix the doc.
11 years ago
Petr Svoboda d9576b3529 Tidy up fix of git module traceback 11 years ago
Petr Svoboda 2d5b942ffe Fix traceback in git module when version checkout fails
"UnboundLocalError: local variable 'branch' referenced before assignment" is
raised in git, line 282, in switch_version.

Exception is raised when version is not branch and version checkout fails.
E.g. when version is nonexistant commit.
11 years ago
Michael DeHaan 32d5038d72 Don't add --version HEAD parameter is already HEAD, some versions of git don't like this. 12 years ago
James Laska 95a22338a2 Resolve incompatability between depth and version
Git is unable to checkout the specified `version` when the repository is
cloned with a reduced history (`depth`).  However, if the repository is
already cloned, subsequent git module calls will update the repository
(default update=True), then properly checkout the specified `version`.
To allow the initial call to properly clone the specified `version`, at
the specified `depth`, this patch adds the `--branch` parameter when
cloning the repository.
12 years ago
Matt Spaulding 871f781ec7 Fix git submodule update when version specified 12 years ago
Stephen Fromm 76d848331f Add submodule support to git module
This does two things:
* add --recursive option to git clone command in clone().  This will
  initialize all submodules when cloning a remote repository.
* Add submodule_update() and call that from fetch().  submodule_update()
  calls two git commands iff the file .gitmodules exists in the
  repository:
  * 'git submodule sync' - synchronizes the submodules' remote URL
    configuration setting to the value in .gitmodules.
  * 'git submodule update --init --recursive' - initialize and update
    registered submodules to the commit specified in the index of the
    containing repository.

If a repository was cloned without --recursive, submodule_update() will
ensure that the submodules are initialized and updated.
12 years ago
Jan-Piet Mens 5c69918d53 DOCS: standardize on EXAMPLES (a.k.a. Docs-JumboPatch JetLag Edition)
Migrated all examples: in DOCUMENTATION=''' string to standalone EXAMPLES=''' string
  Added deprecation warning to moduledev.rst and remove deprecated example from it
  Fixed up a few typos and uppercased some acronyms.
  add consistency to how EXAMPLES are formatted
12 years ago
Benjamin Schwarze a0c89e742e remove unused git function is_current_branch (looks like it returns always True anyway which might be wrong) 12 years ago
Benjamin Schwarze 3cae9d6d0d use module.get_bin_path('git', True) once and pass git_path to functions 12 years ago
Stoned Elipot c9f268ac48 Fix typo in git module documentation preventing it to be processed by ansible-doc 12 years ago
Jesse Keating f645d27f5e Add an update option to the git module
This will allow just making sure the repo exists w/out actually making
any chnages to it. Useful if you're going to run a play repeatedly
against a host that might have active development going on in the
repository (think initial bootstrap of a developers system, and
continued playbook runs to work on other projects).
12 years ago