Commit graph

170 commits

Author SHA1 Message Date
Toshio Kuratomi
ee324fc3ad Make documentation clear about update=no vs clone=no 2014-12-19 08:55:41 -08:00
Rohan McGovern
cf85047284 git: add 'refspec' argument
This argument may be used to fetch additional refs beyond the default
refs/heads/* and refs/tags/*.  Checking out GitHub pull requests or Gerrit
patch sets are two examples where this is useful.

Without this, specifying version=<sha1> with a SHA1 unreachable from any
tag or branch can't work.
2014-12-19 13:13:08 +10:00
Rohan McGovern
c242de1a39 git: clean up "fetch" method
De-duplicate repetitive code checking the exit code.

Include the stdout/stderr of the failed process in all cases.

Remove the returned values because no caller uses them.

Combine git commands where possible.  There is no need to fetch branches
and tags as two separate operations.
2014-12-19 13:13:08 +10:00
Toshio Kuratomi
dfe7f6c6d6 Probably would make clone a 1.9 feature rather than 1.8.3 2014-12-17 13:45:49 -08:00
Toshio Kuratomi
b650ad1671 Make git's update parameter revert to its old behaviour and add new clone parameter to take its place.
Fixes #426
Fixes https://github.com/ansible/ansible/issues/8630
2014-12-17 13:45:49 -08:00
Toshio Kuratomi
f87afc090c Merge pull request #158 from ajsalminen/git_dereference_annotated_tag
[git] Find the actual commit annotated tags refer to instead of the tag object.
2014-12-15 15:16:53 -08:00
Toshio Kuratomi
7af2d3f5f7 Merge pull request #92 from astorije/expand_user_git_key_file
Expand the user home folder in the key_file argument of the git module
2014-12-15 13:38:18 -08:00
Toshio Kuratomi
7350d2cc7f Add error message from git to message returned from ansible
Fixes #81
2014-12-15 13:34:03 -08:00
Michael Scherer
fa46f3c269 Fix #370, by allowing to export over a existing repository
This requires to use force=True
2014-12-13 22:07:41 +01:00
Michael Scherer
ccfdff4f00 Make force parameter work for export operation
The default is changed from 'yes' to 'no' to follow
subversion behavior (ie, requiring explicit confirmation
to erase a existing repository). Since that was not working before
cf #370 and since the option was ignored before and unused, this
should be safe to change.
2014-12-13 22:05:40 +01:00
Toshio Kuratomi
375025d2e3 Change git update param documentation to match reality 2014-12-09 09:02:05 -08:00
Toshio Kuratomi
2493dda4e5 Before pulling submodules from repos add ssh hostkeys for those submodules
Fixes #9655
2014-12-09 08:20:57 -08:00
Toshio Kuratomi
050a462b2a Fix git mod so that we switch to the desired version even if it was previously downloaded 2014-12-08 22:08:50 -08:00
Toshio Kuratomi
b326201a65 Some cleanups to the git module 2014-12-08 22:08:25 -08:00
Toshio Kuratomi
41559311d8 Fix cornercase tracebaxk when detecting whether submodules changed 2014-11-25 16:03:52 -08:00
Toshio Kuratomi
c46f39f044 Fix git module checking out correct version after initial clone
Fixes #313
2014-11-19 12:30:24 -08:00
Toshio Kuratomi
63e81cfc2e Fix git module handling of the recursive flag
Fixes: #169
2014-10-28 17:57:37 -04:00
Toshio Kuratomi
9fe5c2af2d Update desctiprion, parameter name, and default value as discussed in #55 2014-10-28 15:10:10 -04:00
Toshio Kuratomi
785762efe8 Merge pull request #55 from bibliotechy/add-track-submodule-branches-parameter
Add track submodule branches parameter
2014-10-28 15:03:57 -04:00
CptLausebaer
617eed6556 correct requirement of parameter dest
The parameter "dest:" is required, but it is documented as "required: false".
2014-10-21 18:51:13 +02:00
Antti Salminen
36b7287375 Find the actual commit annotated tags refer to instead of the tag object. 2014-10-07 22:00:20 +03:00
Nate Coraor
204a0dc131 Fix a few bugs and misbehavior in the hg module:
1. Don't pull when `dest` is already at the desired changeset.
2. Don't change the working copy when cleaning or pulling and a revision
   was specified.
3. Change the default for the `revision` param to match the behavior of
   hg.
2014-10-01 00:31:33 -04:00
Jérémie Astori
1e9680aa6b Fix #91: Expand user home folder for the key_file path of the git module 2014-09-30 23:04:54 -04:00
Chad Nelson
37ed9b19ef Chnge option name to track_submodule_branches.
Update documentation to reflect what the actual effect of the option.
2014-09-29 22:36:13 -04:00
Chad Nelson
30aae62e25 Give option on how git tracks submodules.
Allows user to decide if git submodule should track branches/tags or track commit hashes defined in the superproject.

Add track_branches parameter to the git module.

Defaults to track branches behavior.
2014-09-29 22:36:13 -04:00
Michael DeHaan
385a037cd6 package files 2014-09-26 11:05:47 -04:00
Michael DeHaan
c8e1a2077e file extensions! 2014-09-26 10:37:56 -04:00
Michael DeHaan
417309a626 Restructuring. 2014-09-26 10:13:26 -04:00
Michael DeHaan
73123b69fa Move modules into subdirectory. 2014-09-26 09:23:50 -04:00
James Cammarata
0257cb1201 Allow git repo queries without a clone when update=no
This commit also makes the dest parameter optional, unless update=yes
(the default), since it is not required for queries without an update.

Fixes #8630
2014-09-17 02:05:29 -05:00
Devin Austin
8c72247c1e updated git module documentation
Clarified key_file option for the git module, since it requires the user to specify a private key, not a public key.
2014-09-16 11:05:37 -06:00
Michael DeHaan
1194a4ee11 Documentation simplification for git module parameter 2014-07-11 08:44:29 -04:00
James Cammarata
9acf2454d4 Merge branch 'git_fix' of https://github.com/pkit/ansible into pkit-git_fix 2014-06-20 12:47:21 -05:00
James Cammarata
c76535d911 Cleanup subversion module documentation in regards to export 2014-05-27 16:20:10 -05:00
James Cammarata
b4911dcc59 Make sure export param for subversion module is checked as a boolean
Fixes #7548
2014-05-27 14:09:50 -05:00
Aleksey Khudyakov
ac6792356c Fix typo requird -> required 2014-05-24 00:10:46 +11:00
James Cammarata
31250905e9 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
2014-05-14 21:22:22 -05:00
Chad Nelson
6aac9538a8 Only update submodules when recursive is true 2014-04-17 09:34:36 -04:00
Constantine Peresypkin
1c6c7716fd fix issue #6932
add `git remote set-url` before fetch to set the remote repo to the new url, if provided
2014-04-10 14:13:23 +03:00
James Cammarata
973b29e624 Fix incorrect version_added value in docstring for subversion export param 2014-04-08 10:26:12 -05:00
James Tanner
b65857b4de Addresses #6750 Use --help instead of - 2014-04-03 15:26:48 -04:00
James Tanner
a2307bf2fc Fixes #6750 Check git subcommand for --remote and expose errors 2014-04-03 15:21:54 -04:00
Gael Pasgrimaud
9ca9f270d9 Fix a typo in the subversion module documentation 2014-04-03 14:34:43 +02:00
Oleg A. Mamontov
045eba960e Fixed cwd for submodules update 2014-04-02 13:21:26 +04:00
Michael DeHaan
12391a4ba9 Merge branch 'intellectronica/non-recursive-git' of git://github.com/intellectronica/ansible into devel
Conflicts:
	library/source_control/git
2014-03-28 17:49:02 -04:00
addshore
68f12aa995 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.
2014-03-28 13:01:39 -04:00
James Cammarata
98c62f6b1c Merge branch 'subversion_export' of https://github.com/maniaplanet/ansible into maniaplanet-subversion_export 2014-03-25 21:25:50 -05:00
James Tanner
69d40b861f Fixes #6582 Re-add regex to ignore untracked files that were never tracked 2014-03-19 15:42:40 -04:00
James Tanner
6c8980c1a4 Fixes #6567 put the git wrapper script in the module temp dir 2014-03-19 10:30:10 -04:00
andreaskern
2385b28de5 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
2014-03-18 17:24:56 +01:00
patrickheeney
4bc663092f Fix documentation for accept_hostkey 2014-03-13 07:58:12 -07:00
Michael DeHaan
349063743f Some more run_command updates. 2014-03-12 17:04:34 -04:00
Patrick Smith
0f9cb7a24f git: Execute git commands in dest directory 2014-03-12 13:28:39 -04:00
James Cammarata
c68be8b418 Remove validate_certs parameter from fetch_url calls 2014-03-12 10:31:01 -05:00
James Tanner
fc33860e5d Force command action to not be executed by the shell unless specifically enabled 2014-03-10 16:13:30 -05:00
James Cammarata
a1b1182662 Validate SSL certs accessed through urllib*
* Adds another module utility file which generalizes the
  access of urls via the urllib* libraries.
* Adds a new spec generator for common arguments.
* Makes the user-agent string configurable.

Fixes #6211
2014-03-10 16:06:52 -05:00
Chris Church
0e955832d7 Pass svn arguments as a list of strings instead of using string substition to ensure all parameters are escaped properly. 2014-02-26 22:23:26 -05:00
James Cammarata
e67c08b37f Merge branch 'git_version_tags' of https://github.com/j2sol/ansible into j2sol-git_version_tags 2014-02-25 13:05:29 -06:00
James Cammarata
a6d92bf4b7 Merge branch 'devel' of https://github.com/calebbrown/ansible into calebbrown-devel 2014-02-17 15:38:56 -06:00
Baptiste Lafontaine
d2125192b2 Adding example for svn export 2014-02-10 15:04:17 +01:00
Jesse Keating
c6f4d4328b 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.
2014-02-07 14:13:04 -08:00
Michael Porter
6f685e45dc (#5822) Use mkstemp to open a temporary file (as NamedTemporaryFile doesn't take a delete argument in Python < 2.6) 2014-01-30 19:39:39 -05:00
James Tanner
dc51bb5389 Fixes #5750 Fail on missing ~/.ssh and ignore accept_hostkey if stricthoskeychecking is off 2014-01-28 11:49:35 -05:00
James Tanner
859128da0a Fix git module parameters to conform to code standards 2014-01-23 16:44:17 -05:00
James Tanner
07f9733e96 Fixes #4108 Add sshopts and keyfile parameters to the git module 2014-01-23 16:22:43 -05:00
Caleb Brown
d18c27fe76 Fix a bug in "hg" module so that pull is not set to a version.
There is a bug in the `hg` module where if a `tag` is used it won't
properly be able to update to it.

This problem is exhibited on repository where a tag is moved from an
older commit to a newer commit.
2014-01-23 15:56:36 +11:00
René Moser
587103e564 subversion: use LANG=C to prevent regex failures
Fixes bug GH-5549.
2014-01-15 10:05:31 +01:00
jctanner
a2489ac83c Merge pull request #5141 from kisielk/hg
hg module: Don't modify hgrc when running purge
2014-01-14 10:24:37 -08:00
James Tanner
13ce8728de Set accept_hostkey to False by default in the git module and fail
early if the key is unknown
2014-01-11 11:02:01 -05:00
James Tanner
24eba74edd 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
2014-01-11 10:36:45 -05:00
Baptiste Lafontaine
7cc911f7ba Adding 'export' option to subversion module (to export instead of checkout) 2013-12-13 09:51:55 +01:00
Kamil Kisiel
8aff264216 Don't modify hgrc when running purge 2013-12-02 23:50:33 -08:00
James Tanner
38edad70ac Fixes #5023 Convert all modules to use new snippet import pattern 2013-12-02 15:11:23 -05:00
Tom Berger
840859202d 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.
2013-12-02 09:41:07 -05:00
James Tanner
b97976d720 Addresses #5036 fix typo in git module 2013-11-25 09:55:05 -05:00
James Tanner
1ead99204d Fixes 5036 add missing parameter to git module function call 2013-11-25 09:51:07 -05:00
Michael DeHaan
55a48aacc3 Changelog updates and a few module renames. vpc -> ec2_vpc, githooks -> github_hooks, blacklist -> kernel_blacklist. These are all new in 1.4 so safe to change. 2013-11-18 18:28:21 -05:00
James Tanner
68c9fe3833 Fix copyright section in githooks module 2013-11-14 14:49:10 -05:00
jctanner
a4bd206f09 Merge pull request #4691 from cg-soft/git-bare-ref-repo-support
Add support for bare git reference repos
2013-11-14 10:39:57 -08:00
James Tanner
d2df80788d Quote docstring in githooks module 2013-11-14 13:20:17 -05:00
jctanner
51a6ed8657 Merge pull request #4731 from pcgentry/devel
new githooks module
2013-11-14 10:17:39 -08:00
Michael DeHaan
8687525d18 Fix documentation formatting. 2013-10-31 20:00:11 -04:00
Michael DeHaan
50ef750a25 Suggest keyscan for github/other SCM hanging. 2013-10-31 18:00:24 -04:00
Christian Goetze
c25d7e4165 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.
2013-10-31 10:56:14 -07:00
Phillip
22d679ffc5 adding the githooks module 2013-10-30 09:03:11 -05:00
Yap Sok Ann
e568c63108 git: Don't add --branch while cloning if the version is a SHA-1 hash. 2013-10-16 20:37:07 +08:00
Yap Sok Ann
d77276380f git: Handle network problem when running git ls-remote. 2013-10-16 20:37:07 +08:00
Yap Sok Ann
633438bfbb 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.
2013-10-16 20:37:07 +08:00
Yap Sok Ann
12c4bf51b8 git: Make function get_remote_head usable when cloning.
This allows the module to return the before/after revisions in all cases.
2013-10-16 20:37:07 +08:00
Yap Sok Ann
3ff0c6d50d git: Remove unnecessary return code checking.
The functions either return rc=0 or call fail_json themselves.
2013-10-16 20:37:06 +08:00
Yap Sok Ann
201ff02d1f git: Full length SHA-1 in, full length SHA-1 out.
This removes ambiguity at the expense of slight backward incompatibility.
2013-10-16 20:37:06 +08:00
Mads Weitling
f5c04e2ff4 Fix Hg.__init__(...) reading value from self.hg_path 2013-10-10 15:46:10 +00:00
Mads Weitling
f2f7060454 Fix 'hg module fails with: AttributeError: 'AnsibleModule' object has no attribute 'parames'' 2013-10-10 17:15:04 +02:00
James Tanner
1a9a6da4f7 fix docstring indentation on scc modules 2013-10-01 16:46:17 -04:00
Skylar Saveland
d7e5fcf30f add executable option to subversion module 2013-09-26 14:27:40 -07:00
Skylar Saveland
bb4619e716 add executable option to hg, refactor in doing so 2013-09-26 14:27:16 -07:00
Skylar Saveland
3f74c2d986 add executable option to bzr module, refactor in doing so 2013-09-26 14:26:46 -07:00
Skylar Saveland
198c4702bd executable option to git module 2013-09-26 14:15:28 -07:00
Steve Fox
cf0ffda163 Elaborate on capabilities of subversion module 2013-09-24 11:10:09 -05:00
James Cammarata
102833cca6 Merge branch 'gitfix' of https://github.com/johanwiren/ansible into johanwiren-gitfix 2013-08-22 15:30:58 -05:00