Commit Graph

216 Commits (23b55992446887ea8100766c95008292c9b8f311)

Author SHA1 Message Date
Abhijeet Kasurde dd6532b29a
Add limit for new password in gitlab_user (#33374)
Fixes: #29399

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-01 12:38:44 +05:30
Robert de Bock 81ea114bff Update github_release.py (#33390)
Documentation fix. The module "github" does not exist.
2017-11-29 19:50:13 +00:00
Dag Wieers 91ce5c70d3
Fix duplicate type keyword 2017-11-06 14:10:17 +01:00
Yadnyawalkya Tale fcab13a668 PEP8 fixes: Ansible source_control module (#32323)
* PEP8 fixes: Ansible source_control module

* Some more cleanup changes

* More cleanups

* Fix copyright statement
2017-11-06 14:00:33 +01:00
Martin Krizek e3a847a142
git: fix archive when update is set to no (#31829) 2017-10-31 13:56:40 +01:00
Dag Wieers 16bbc19674
subversion: PEP8 compliancy and doc fixes (#30909)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:09:00 +01:00
Martin Krizek c02173880a git: remove duplicate ssh_wrapper cleanup (#31827) 2017-10-19 21:03:27 +02:00
Abhijeet Kasurde a047fe0e4c Correct usage for shutil.rmtree (#31541)
* Correct usage for shutil.rmtree

Fix adds correct usage of shutil.rmtree in git module

Fixes: #31225

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Include archive tests so they get run

* Use new include syntax

* Cleanup syntax on git tests

- use multi-line YAML
- remove unneeded {{ }} around vars in conditionals
- remove unneeded quotes
- add task file name to task names for easier troubleshooting when things fail

* Make archive tests work for RHEL/CentOS 6

The older versions of Jinja2 in RHEL/CentOS 6 required assertion tasks using the map filter to be skipped.

The older version of git required gzip compression to be skipped on RHEL/CentOS 6.

* Account for ansible_distribution_major_version missing
2017-10-13 10:30:15 -04:00
Kevin Burke 434e9e1d8f Un-nest nested if statements (#19190)
Easier and clearer to write

if a and b:
    foo()

than

if a:
    if b:
        foo()
2017-10-13 08:32:59 -04:00
Brian Coca 6459bacb6b Revert "fix git wrapper (#29069)"
This reverts commit f8005d2737.

fix needs to be rethought as it applies to only newer git versions
and use of env shell breaks with non 'bourne compatible' shells
2017-10-04 12:55:57 -07:00
Yeuk Hon Wong ef25367353 Fixes #30073: Remove 'Consider hg command' warning. (#31159)
This PR addresses two issues:

1. The hg module was added to command module's check_command list,
so if someone runs hg directly from the command module, the command
module would warn the user "Consider using hg module rather than running hg".

We address this by removing hg from the list.

2. We added a new note to tell users push feature will be addressed
in issue #31156.
2017-10-02 23:33:13 +02:00
Laurent Coustet 17995f0e48 Remove unused variable in git module. (#28464) 2017-09-20 02:24:03 -04:00
Brian Coca f8005d2737 fix git wrapper (#29069)
* fix git wrapper

* fallback to bin/sh

* Use percent formatting as per sivel's review
2017-09-14 23:27:55 -04:00
Abhijeet Kasurde a2c8481395 Add testcases for github_issue (#26309)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-30 14:50:45 -04:00
Abhijeet Kasurde dca887a6dc Use correct variable from response in github_key (#25846)
Before fix, logic tries to access info from 're' library
which raises AttributeError.
Fix adds correct variable usage for accessing next/previous
search results from github api.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-30 14:35:42 -04:00
Nihlaeth e5ff8e3407 Don't remove comment from public key, and improve error message for duplicate keys (github_key) (#22282)
* improve error message for duplicate public keys

* don't consider self when searching for duplicates

* don't strip comment from key
2017-08-17 15:38:39 -04:00
Toshio Kuratomi f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Toshio Kuratomi 4109a82d0a remove wildcards and add boilerplate
* cloud/centurylink
* source_control
* cloud/google
* notification
* cloud/rackspace
* cloud/vmware
2017-07-29 14:13:30 -07:00
Arthur Burkart 90a42d1e53 Updates docs to match module behavior (#26658)
* Updates docs to match module behavior

* Updates docs to match module behavior

Updated using advice from jimi-c

* Removes snippet about git module before v1.8.3

At suggestion of robinro
2017-07-25 23:21:23 -07:00
Andreas Olsson 593297d7a2 Only use `git verify-tag` when verifying annotated tags (#26414)
* Only use `git verify-tag` when verifying annotated tags

The command `git verify-tag` only applies to annotated tags. When
verifying lightweight tags, which are more similar to non-moving
branches, one has to use `git verify-commit` instead.

Using ':' as a separator is appropriate since that is one of the
characters not allowed in a Git reference name.

See also https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html

* Improve testing of the Git module's gpg verification
2017-07-19 11:30:12 -04:00
Adrian Moisey 6ba49f42c2 Allow creation of github release tags (#25338)
* Allow creation of github release tags

* Reword description

* Prefer to use required_if
2017-07-14 14:57:56 -04:00
Andreas Olsson 42408a97ea Correct doc about the Git module verify_commit param
All that is required to verify the signature is that the matching
public key is present in the remote user's keyring. There is no need
for GnuPG to explicitly trust the authenticity of the key.

Not Ansible specific, but rather the behavior of the `git verify-commit`
and the `git verify-tag` command line invocations.
2017-07-03 16:45:05 -04:00
Andreas Olsson 05dc76f3b2 In the git module let ssh do its own host checking
There are too many possible special cases for Ansible to be able to
precheck known_hosts files without introducing all kinds of false
failures.

* Alternative known_hosts paths
* Alternative host name aliases
* ssh host certificates
* SSHFP + DNSSEC

Fixes #24860
2017-06-26 10:45:19 -07:00
Ali 484252b90f New Module: Add github_deploy_key module (source_control/github_deploy_key) (#24364)
* Added new module: github_deploy_key

added a new module for managing deploy keys for GitHub repositories

* Updated github_deploy_key module based on feedback

- added GPL header
- switched to using fetch_url instead of requests
- changed version to 2.4
- set no_log for otp and token arguments
- implemented check mode

* made github_deploy_key module PEP8 compliant
2017-06-19 11:13:27 +01:00
Abhijeet Kasurde 7348a613bb Correct usage of fail_json in hg module (#25847)
Fix adds correct usage for fail_json and also adds
testcases to verify this.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-18 22:28:33 +02:00
Abhijeet Kasurde b89cb95609 Fix spelling mistakes (comments only) (#25564)
Original Author : klemens <ka7@github.com>

Taking over previous PR as per
https://github.com/ansible/ansible/pull/23644#issuecomment-307334525

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-12 07:55:19 +01:00
Abhijeet Kasurde 65bd5c4d56 Refactor github_hook module (#24391)
* PEP8 fixes
* Refactoring for fetch_url call
* Removed un-used code

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-07 07:52:03 +02:00
Matthieu Simonin 8432ba80c1 Add the email confirmation option to gitlab_users (#25134)
`confirm` is an optional parameter ìn gitlab API[1].
It indicates whether the email of the user has to be confirmed.

[1]: https://docs.gitlab.com/ce/api/users.html#user-creation
2017-06-05 21:47:52 +02:00
Abhijeet Kasurde d4857ed6c4 Add Password for login method in github_release (#23661)
Fix allows user to specify username and password for
using github_release to perform various operations

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-19 08:49:05 +01:00
Abhijeet Kasurde e9672748cc Add archive option in git plugin (#23332)
* Add archive option in git plugin

This fix will add archive option in git plugin

Fixes https://github.com/ansible/ansible/issues/22943

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Update code as per code review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-15 10:46:25 -04:00
Abhijeet Kasurde a255cfd22a Check login_token for user before any operations (#23600)
Fix adds extra check if user is authorized or not while
using login_token.

Fixes https://github.com/ansible/ansible/issues/23033

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-09 13:52:13 +01:00
Dane Summers 4bd04c299b Fixes #23285 (#24291)
Makes subversion module --check fail when modified files are in
repository.
2017-05-04 10:08:39 -07:00
Abhijeet Kasurde 86966c75fa New module : github_issue (#23654)
Using github_issue module, user can retrive status of issue
listed on Github repository and depending upon status takes
various actions e.g., workarounds and downloading patches.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-04 12:16:32 +01:00
Robin Roth 0cf00db750 Make git module pep8 compliant (#24196) 2017-05-02 11:33:02 -05:00
Abhijeet 89fc098488 Update package installation warning (#23641)
Github_release requires github3.py==1.0.0a4, update warning
for the same.

Fixes https://github.com/ansible/ansible/issues/23626

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-04-16 07:10:36 -04:00
Chulki Lee 99ef1f3a9f git: git reset with branch
`git reset <ref>` can be ambiguous and fail to switch to the correct branch.
To avoid it, specify branch as well.
2017-04-04 10:45:04 -07:00
Miyurz 1ea1becf23 Fixes bug https://github.com/ansible/ansible/issues/22455 - Git reset… (#22502)
* Fixes bug https://github.com/ansible/ansible/issues/22455 - Git reset fails when file with the name 'origin' is present in the repository

* #22455 Integration test for git module to test if it clones a repository with a file named origin

* Fixed yaml errors for test/integration/roles/test_git_clone/tasks/main.yml

* Removed the newly added target git and moved the code to test/integration/targets/git

* Reorganised code structure as per comments

* Fixed playbook name

* Added code that didn't make it to the playbook before.

* No longer need git.yml

* Remove non tasks specific code from tasks file and use existing variables

* Removed msg var from the vars.yml
2017-03-28 08:41:25 -04:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Robin Schneider bbc6af6749 Fix use of unauthenticated connection examples in git module docs
Ref: https://git-scm.com/book/ch4-1.html#The-Git-Protocol
2017-03-22 10:26:48 -04:00
Toshio Kuratomi eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
Robin Roth 3afc993f3a Fix git clone tag with depth=1
* Fixes #21316, add testcase based on this
* Add option `--branch NAME` to git clone command in case of branch or
tag in combination with depth=1
  * This option should work back to at least git 1.8 and thus on all
  supported distributions
* Provide better warning if depth is dropped
2017-03-02 14:11:50 -08:00
Nihlaeth 43b8debf9b fix unquoted dict key (#22105) 2017-03-01 11:42:56 +00:00
Aliaksandr Kharkevich 7bc7f13856 Add validate_certs options to gitlab_user and gitlab_group modules (#21415) 2017-02-20 10:43:36 +01:00
Dag Wieers f824b2ce8d Avoid having module documentation links to itself (#21329)
* Avoid having module documentation links to itself

A lot of modules use M(own_module) in their documentation causing a link
in the documentation to itself.

* Make note more clear now
2017-02-13 14:02:34 +00:00
Matt Martz 829c0b8f62 Update validate-modules (#20932)
* Update validate-modules

* Validates ANSIBLE_METADATA
* Ensures imports happen after documentation vars
* Some pep8 cleanup

* Clean up some left over unneeded code

* Update modules for new module guidelines and validate-modules checks

* Update imports for ec2_vpc_route_table and ec2_vpc_nat_gateway
2017-02-02 11:45:22 -08:00
Matt Clay 10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
Matt Clay 95789f3949 PEP 8 whitespace cleanup. (#20783)
* PEP 8 E271 whitespace cleanup.
* PEP 8 W293 whitespace cleanup.
* Fix whitespace issue from recent PR.
2017-01-27 15:45:23 -08:00
Matt Clay 836e0b59d2 Fix git remote url change detection. (#20587)
* Fix git remote url change detection.

When comparing paths, unfrackgitpath must be called on both sides
of the comparison. Otherwise comparisons involving symlinks will
return incorrect results.

* Re-enable git test on OS X.

* Return None from unfrackgitpath when path is None.
2017-01-23 16:09:42 -08:00
Peter Nagy b4fb4420bb Specify in requirements one needs to have admin rights (#20455)
After much plumbing through the source code, python-gitlab and the Gitlab API I found out why I cannot update my ssh keys through this module - because it expects the user to have admin rights on the server. This could be made clearer in the requirements because the Gitlab API allows one to change his/her own profile, it's just that the module or the underlying library doesn't cover this use case.
2017-01-19 16:17:33 -08:00
Baptiste Mille-Mathias d1bd526426 Document git module return values (#19485)
* Document git module return values

* Document git module return values

* Remove duplicate and added more variables
2017-01-08 15:33:51 +00:00
Matthew 45c57618b3 Have AnsibleModule raise a failure of git is missing in git_config module (#19676) 2017-01-04 14:23:21 +00:00
tedder 15e12d2cf2 git ssh wrapper: py3-compatability with strings
Wrap the fh.write(str) in b() to ensure the string is of the proper type in py2/py3. Otherwise, the following error occurs when using its ssh_wrapper:

    An exception occurred during task execution. The full traceback is:
    Traceback (most recent call last):
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 1049, in <module>
        main()
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 928, in main
        ssh_wrapper = write_ssh_wrapper()
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 330, in write_ssh_wrapper
        fh.write(template)
    TypeError: 'str' does not support the buffer interface
2017-01-03 22:09:12 -08:00
Rob Cutmore 1da6a67c50 Add tests for Git remote URL changes (#16893)
* Update Git tests for set remote URL changes
* Git: report changed when needed in check mode
2016-12-22 13:46:47 -08:00
Robin Roth afca957396 Fix UnboundLocalError remote_head in git (#19057)
* Fix UnboundLocalError remote_head in git

Fixes #5505

The use of remote_head was a leftover of #4562.
remote_head is not necessary, since the repo is unchanged anyway and
after is set correctly.

Further changes:
* Set changed=True and msg once local_mods are detected and reset.
* Remove need_fetch that is always True (due to previous if) to improve
clarity
* Don't exit early for local_mods but run submodules update and
switch_version

* Add test for git with local modifications
2016-12-14 08:36:15 -08:00
Kevin Burke 114e3cb7a4 Fix typos in git.py (#19186) 2016-12-11 17:17:05 +01:00
Fabio Alessandro Locati a8fa008bbe Remove unused quotes - source_control/github_hooks.py (#19159) 2016-12-10 09:23:19 -05:00
Fabio Alessandro Locati 21940f8c8e Remove unneeded quotes - source_control/bzr.py (#18825) 2016-12-09 08:48:15 -05:00
Fabio Alessandro Locati 2b47246e94 Native YAML - source_control/gitlab_user (#19053) 2016-12-09 05:49:00 -05:00
Fabio Alessandro Locati ba22514d47 Native YAML - source_control/gitlab_group (#19054) 2016-12-09 05:48:33 -05:00
Fabio Alessandro Locati 3fa1ddc9db Native YAML - source_control/gitlab_project (#19062)
* Native YAML - source_control/gitlab_project

* Use example domain as for RFC2606
2016-12-09 05:44:43 -05:00
James Cammarata 011ea55a8f Relocating extras into lib/ansible/modules/ after merge 2016-12-08 11:35:18 -05:00
Toshio Kuratomi 7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Fabio Alessandro Locati 1c3aeb5cb7 Call main in conditional way - source_control 2016-12-08 11:25:35 -05:00
Fabio Alessandro Locati 18d022d808 Unquote urls in YAML - source_control (#5795) 2016-12-08 11:25:34 -05:00
David Wittman cc334a078b Set IdentitiesOnly=yes when using key_file (#5682)
Sets the SSH option `IdentitiesOnly=yes` in the SSH wrapper when a
`key_file` is provided to the git module. This option ensures that
the provided key is used. Otherwise, the system's ssh-agent could
provide undesired identities when connecting.

From ssh_config(5):

> Specifies that ssh(1) should only use the authentication identity and
> certificate files explicitly configured in the ssh_config files or
> passed on the ssh(1) command-line, even if ssh-agent(1) or a
> PKCS11Provider offers more identities. The argument to this keyword
> must be “yes” or “no”. This option is intended for situations where
> ssh-agent offers many different identities. The default is “no”.
2016-12-08 11:25:33 -05:00
Rob Cutmore 6a3969ca6b Git: indicate if remote url was changed or not (#5677) 2016-12-08 11:25:32 -05:00
Sam Doran ad6999e2eb Change example syntax on subversion module 2016-12-08 11:25:31 -05:00
Sam Doran 8a1caba407 Change example syntax on hg module 2016-12-08 11:25:31 -05:00
Sam Doran 1c801ac574 Change example syntax on git module 2016-12-08 11:25:30 -05:00
Fahri Cihan Demirci 1ecb63f0e0 Fix String Type for Python 3 Branch Comparison
* Use the `to_native` conversion method to convert a command output to the
  appropriate form when looking for branch names in the command output,
  therefore avoiding a `TypeError` in Python 3.
2016-12-08 11:25:24 -05:00
Toshio Kuratomi e7fcfa981e Remove the yaml dep from the git module 2016-12-08 11:25:23 -05:00
Toshio Kuratomi fad760dc7a Fix git for py3
Comparing to the output of run_command() needs to use native strings

Also fix imports: We were relying on them coming from the import of
basic.  A few (like yaml) weren't imported at all.
2016-12-08 11:25:23 -05:00
Robin Roth 5446e6639f Fix git failure for use of depth with version (#5135)
* Fixes #5108
* before module fails with "fatal: A branch named 'STABLE' already
  exists." when depth is used on a fresh clone with a non-HEAD branch
2016-12-08 11:25:22 -05:00
Matthew Jones 107a473dd8 Add separate checkout and update parameters (#5306)
* Add separate checkout and update parameters

This brings the svn module in line with the git module for controlling
individual update and checkout functionality based on whether the
directory exists or not.

It also allows specifying `no` for both to pull the remote revision
without performing a checkout

* Update version-added for new parameters
2016-12-08 11:25:22 -05:00
Matthew Jones 97bf5b84e3 Add separate clone parameter (#5307)
* Add separate clone parameter

This brings the hg module in line with the git module for controlling
individual update and checkout functionality based on whether the
directory exists or not.

It also allows specifying `no` for both to pull the remote revision
without performing a checkout

* Reflect the right added ver for the hg clone arg
2016-12-08 11:25:22 -05:00
Jamie Evans 606ac78a20 verify both tags and commits (#2654)
This fixes a bug where the module fails to verify tags.  I added a conditional statement in `verify_commit_sign()` that checks if `version` argument is a tag, if so, use `git verify-tag` instead.
2016-12-08 11:25:21 -05:00
Michael Scherer f9478c7618 Make subversion module work on python 3
In python 3, filter return a iterator and so result in this traceback:

    Traceback (most recent call last):
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 264, in <module>
        main()
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 243, in main
        local_mods = svn.has_local_mods()
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 178, in has_local_mods
        return len(filter(regex.match, lines)) > 0
    TypeError: object of type 'filter' has no len()
2016-12-08 11:25:21 -05:00
Michael Scherer 3b2b33bf29 Do not leak the subversion password in log (#5200) 2016-12-08 11:25:20 -05:00
John R Barker 25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
Toopy 74be5a40f9 Fix git get_diff TypeError when fetch (#4881) 2016-12-08 11:25:12 -05:00
Robin Roth 2df69fb5d8 Speedup git module on clone and pull (#4562)
* remove redundant if submodules_updated

* speed up git by reducing remote commands

* run fetch only once
* run ls-remote less
  * don't run ls-remote if one would run fetch anyhow
* remove unnecessary remote_branch check in clone
  * kept if depth and version given

* fix fetch on old git versions
2016-12-08 11:25:04 -05:00
Toshio Kuratomi 45846127c5 to_text, to_bytes, and to_native now have surrogate_or_strict error handler (#4630)
On python3, we want to use the surrogateescape error handler if
available for filesystem paths and the like.  On python2, have to use
strict in these circumstances.  Use the new error strategy for to_text,
to_bytes, and to_native that allows this.
2016-12-08 11:24:57 -05:00
Anton Onufriev f5f1062d72 Remove colors from git-branch output for correct local search (#4545)
We got an error while switching on existent local branch
because git module can not find branch in function get_branches
if we have color.branch=always in git config.
2016-12-08 11:24:54 -05:00
Michael Scherer ee5a48b84d Port the module to run on python 3 (#4496)
One of the usual issue is that run_command return bytes,
so we have to adapt the string to either be bytes too,
or convert to string.

This result into that kind of traceback:

    Traceback (most recent call last):
      File \"/tmp/ansible_ej32yu2w/ansible_module_git.py\", line 1009, in <module>
        main()
      File \"/tmp/ansible_ej32yu2w/ansible_module_git.py\", line 873, in main
        git_version_used = git_version(git_path, module)
      File \"/tmp/ansible_ej32yu2w/ansible_module_git.py\", line 788, in git_version
        rematch = re.search('git version (.*)$', out)
      File \"/usr/lib64/python3.5/re.py\", line 173, in search
        return _compile(pattern, flags).search(string)
    TypeError: cannot use a string pattern on a bytes-like object

Another issue is filter being a object instead of a list.
2016-12-08 11:24:54 -05:00
Robin Roth ccddeb8cdc Clarify that refspec is needed to checkout a git hash (#4564)
fixes #1531
2016-12-08 11:24:54 -05:00
Toshio Kuratomi b7522c5a1c Fix hg for python3 (#4528)
* Remove import of unused ConfigParser (ConfigParser has been renamed in py3)
* When retrieving version, normalize to a native string
2016-12-08 11:24:53 -05:00
jctanner c73f9d0492 git: add a umask parameter (#4473)
Sources #10504
Fixes #10279
2016-12-08 11:24:51 -05:00
jctanner 53a0a64bda git: set the file:// protocol if needed and refactor HEAD parser (#4434)
* make HEAD parsing more robust
* Fail the module for any splitter errors
* fix combining depth and version on filepath urls by prepending file://

Addresses #907
2016-12-08 11:24:50 -05:00
Timmo Verlaan 159918a8ef Determine branch name more reliable (#907)
* Made some changes to determine branch name more reliable (it may contain slashes now).

* Determination of branch name more reliable, as per comment on PR #907
2016-12-08 11:24:50 -05:00
jctanner 7e65315d92 git: Use a local copy of unfrackpath to avoid using ansible.lib (#4426)
Fixes #4425
2016-12-08 11:24:50 -05:00
jctanner c60954605b git: If force=yes, apply --force to submodule updates to overwrite local changes (#4415)
Fixes #238
2016-12-08 11:24:50 -05:00
Rob Cutmore 09b06a601c Git: Determine if remote URL is being changed (#4243)
* Git: Determine if remote URL is being changed

Ansible reported there were no changes when only the remote URL for a
repo was changed. This properly tracks and reports when the remote URL
for a repo changes.

Fixes #4006

* Fix handling of local repo paths

* Git: Use newer method for fetching remote URL

* Git: use ls-remote to fetch remote URL

Using ls-remote to fetch remote URL is supported in earlier versions
of Git compared to using remote command.

* Maintain previous behavior for older Git versions

Previously whether or not the remote URL changed was not factored
into command's changed status. Git versions prior to 1.7.5 lack the
functionality used for fetching a repo's remote URL so these versions
will update the remote URL without affecting the changed status.
2016-12-08 11:24:50 -05:00
jctanner 634b1024d6 git: save changed submodules in check and non-check mode (#4392) 2016-12-08 11:24:49 -05:00
Dag Wieers 4ee9cc4b3f Add diff mode support to git module (#3364)
* Add diffmode support to git module

This patch adds missing diffmode support to the git module.

* Remodel get_diff() and calls to it

As proposed by @abadger

* Ensure we fetch the required object before performing a diff

Also we handle the return code ourselves, so don't leave this up to run_command().
2016-12-08 11:24:49 -05:00
Zoltán Müllner ac561772ea Revert "Reset all locale environment variables before running svn commands" (#4358)
* Revert "Reset all locale environment variables before running svn commands"

This reverts commit 99456fbc9851209f4482cdf6c246806ba1e9fbff.

* Reset locale environment variables before running svn commands
2016-12-08 11:24:48 -05:00
Robin Roth 5d928ca13c Fix git shallow update (#3912)
* remove unused variables

* fetch branch name instead of HEAD

fix #3782, which was introduced by f1bacc1d3f9578f26d4ae2f66112cbb2509a7fe8

* disable git depth option for old git versions

fixes #3782
git support for `--depth` did not fully work in old git versions (before 1.8.2)
fall back to full clones/fetches on those versions

* raise required git version to 1.9.1 for depth option

* use correct depth argument in switch_version
2016-12-08 11:24:41 -05:00
Toshio Kuratomi eadef56a06 Add comment 2016-12-08 11:24:38 -05:00
Marius Gedminas 3a8a11d85f git: fix change testing when version is HEAD (#3025)
When `version` is not specified, it defaults to "HEAD".  "HEAD" is not a
remote tag, and it's not listed in the output of get_branches(), so we'd
keep repo_updated at the default value (None) and then return early with
changed=True in --check mode, even when before == after.

Fixes #3024.
2016-12-08 11:24:38 -05:00
Toshio Kuratomi b259c65b20 Revert "Fix git shallow update (#3794)" -- Broke integration tests: https://app.shippable.com/runs/57599a7897ae890c00c2898d
This reverts commit c26eb1217fae8703a7b9cd8ae708051c58fc9273.
2016-12-08 11:24:36 -05:00