??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
 Udac@`sbddlmZmZmZeZidd6dgd6dd6ZdZd Zd Z dd l Z dd l Z dd l Z dd l Z dd lZdd lZdd lZdd lZdd lmZdd lmZmZddlmZmZddlmZmZdZd edZ dZ!dZ"dZ#dZ$ddZ%ddZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-d Z.d!Z/d"Z0d#Z1d$Z2ed%Z3d&Z4d'Z5d(Z6d)Z7ed*Z8d+Z9d,Z:d-Z;d.Z<d/Z=d0Z>d1Z?d2Z@eAd3kr^e@nd S(4i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatustcoret supported_bys5 --- module: git author: - "Ansible Core Team" - "Michael DeHaan" version_added: "0.0.1" short_description: Deploy software (or files) from git checkouts description: - Manage I(git) checkouts of repositories to deploy files or software. options: repo: description: - git, SSH, or HTTP(S) protocol address of the git repository. required: true aliases: [ name ] dest: description: - The path of where the repository should be checked out. This parameter is required, unless C(clone) is set to C(no). required: true version: description: - What version of the repository to check out. This can be the literal string C(HEAD), a branch name, a tag name. It can also be a I(SHA-1) hash, in which case C(refspec) needs to be specified if the given revision is not already available. default: "HEAD" accept_hostkey: description: - if C(yes), ensure that "-o StrictHostKeyChecking=no" is present as an ssh option. type: bool default: 'no' version_added: "1.5" ssh_opts: description: - Creates a wrapper script and exports the path as GIT_SSH which git then automatically uses to override ssh arguments. An example value could be "-o StrictHostKeyChecking=no" (although this particular option is better set via C(accept_hostkey)). version_added: "1.5" key_file: description: - Specify an optional private key file path, on the target host, to use for the checkout. version_added: "1.5" reference: description: - Reference repository (see "git clone --reference ...") version_added: "1.4" remote: description: - Name of the remote. default: "origin" refspec: description: - Add an additional refspec to be fetched. If version is set to a I(SHA-1) not reachable from any branch or tag, this option may be necessary to specify the ref containing the I(SHA-1). Uses the same syntax as the 'git fetch' command. An example value could be "refs/meta/config". version_added: "1.9" force: description: - If C(yes), any modified files in the working repository will be discarded. Prior to 0.7, this was always 'yes' and could not be disabled. Prior to 1.9, the default was `yes` type: bool default: 'no' version_added: "0.7" depth: description: - Create a shallow clone with a history truncated to the specified number or revisions. The minimum possible value is C(1), otherwise ignored. Needs I(git>=1.9.1) to work correctly. version_added: "1.2" clone: description: - If C(no), do not clone the repository even if it does not exist locally type: bool default: 'yes' version_added: "1.9" update: description: - If C(no), do not retrieve new revisions from the origin repository - Operations like archive will work on the existing (old) repository and might not respond to changes to the options version or remote. type: bool default: 'yes' version_added: "1.2" executable: description: - Path to git executable to use. If not supplied, the normal mechanism for resolving binary paths will be used. version_added: "1.4" bare: description: - if C(yes), repository will be created as a bare repo, otherwise it will be a standard repo with a workspace. type: bool default: 'no' version_added: "1.4" umask: description: - The umask to set before doing any checkouts, or any other repository maintenance. version_added: "2.2" recursive: description: - if C(no), repository will be cloned without the --recursive option, skipping sub-modules. type: bool default: 'yes' version_added: "1.6" track_submodules: description: - if C(yes), submodules will track the latest commit on their master branch (or other branch specified in .gitmodules). If C(no), submodules will be kept at the revision specified by the main project. This is equivalent to specifying the --remote flag to git submodule update. type: bool default: 'no' version_added: "1.8" verify_commit: description: - if C(yes), when cloning or checking out a C(version) verify the signature of a GPG signed commit. This requires C(git) version>=2.1.0 to be installed. The commit MUST be signed and the public key MUST be present in the GPG keyring. type: bool default: 'no' version_added: "2.0" archive: description: - Specify archive file path with extension. If specified, creates an archive file of the specified format containing the tree structure for the source tree. Allowed archive formats ["zip", "tar.gz", "tar", "tgz"] - This will clone and perform git archive from local directory as not all git servers support git archive. version_added: "2.4" separate_git_dir: description: - The path to place the cloned repository. If specified, Git repository can be separated from working tree. version_added: "2.7" gpg_whitelist: description: - A list of trusted GPG fingerprints to compare to the fingerprint of the GPG-signed commit. - Only used when I(verify_commit=yes). type: list default: [] version_added: "2.9" requirements: - git>=1.7.1 (the command line tool) notes: - "If the task seems to be hanging, first verify remote host is in C(known_hosts). SSH will prompt user to authorize the first contact with a remote host. To avoid this prompt, one solution is to use the option accept_hostkey. Another solution is to add the remote host public key in C(/etc/ssh/ssh_known_hosts) before calling the git module, with the following command: ssh-keyscan -H remote_host.com >> /etc/ssh/ssh_known_hosts." s # Example git checkout from Ansible Playbooks - git: repo: 'https://foosball.example.org/path/to/repo.git' dest: /srv/checkout version: release-0.22 # Example read-write git checkout from github - git: repo: git@github.com:mylogin/hello.git dest: /home/mylogin/hello # Example just ensuring the repo checkout exists - git: repo: 'https://foosball.example.org/path/to/repo.git' dest: /srv/checkout update: no # Example just get information about the repository whether or not it has # already been cloned locally. - git: repo: 'https://foosball.example.org/path/to/repo.git' dest: /srv/checkout clone: no update: no # Example checkout a github repo and use refspec to fetch all pull requests - git: repo: https://github.com/ansible/ansible-examples.git dest: /src/ansible-examples refspec: '+refs/pull/*:refs/heads/*' # Example Create git archive from repo - git: repo: https://github.com/ansible/ansible-examples.git dest: /src/ansible-examples archive: /tmp/ansible-examples.zip # Example clone a repo with separate git directory - git: repo: https://github.com/ansible/ansible-examples.git dest: /src/ansible-examples separate_git_dir: /src/ansible-examples.git sQ after: description: last commit revision of the repository retrieved during the update returned: success type: str sample: 4c020102a9cd6fe908c9a4a326a38f972f63a903 before: description: commit revision before the repository was updated, "null" for new repository returned: success type: str sample: 67c04ebe40a003bda0efb34eacfb93b0cafdf628 remote_url_changed: description: Contains True or False whether or not the remote URL was changed. returned: success type: bool sample: True warnings: description: List of warnings if requested features were not available due to a too old git version. returned: error type: str sample: Your git version is too old to fully support the depth argument. Falling back to full checkouts. git_dir_now: description: Contains the new path of .git directory if it's changed returned: success type: str sample: /path/to/new/git/dir git_dir_before: description: Contains the original path of .git directory if it's changed returned: success type: str sample: /path/to/old/git/dir N(t LooseVersion(t AnsibleModuletget_module_path(tbt string_types(t to_nativetto_textcC`stjj|r)|jdd|n|rtjj|d}yQtj||t|d}|jd|WdQX||d<||d si(RRERxtlisttfilterRy( RRIRrRRKRLRMRNRO((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pythas_local_modss  cC`s&d|f}|j|dtd|S(s Resets the index and working tree to HEAD. Discards any changes to tracked files in working tree since that commit. s%s reset --hard HEADRRA(RER(RIRRrRK((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytresets c  C`s|d krid|d6S||krt||} t||||||||d| d|||f} |j| d|\} } } | dkr| ri| d6S| dkrid||fd6S| rid||| fd6Sid ||fd6SniS( s* Return the difference between 2 versions s>> Newly checked out %stpreparedR(s %s diff %s %sRAis*>> No visual differences between %s and %ss5>> Failed to get proper diff between %s and %s: >> %ss.>> Failed to get proper diff between %s and %sN(R+RRRE(RRIRrRR3RRtbeforetafterRRKRLR|R%((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytget_diffs  %  c C`st}d}t}||jdkr.t}n2|dtjj|jdkrZt}n|}|dkr|rd||f} qt|||||} d||| f} nft|||||rd|||f} n8t |||||rt}d|||f} n|S|j | dtd|\} } } t | d krx|j d d |d | d | d| nt | } |rxO| jdD];}|j|dr|} Pq|j|r|} qqWn| jd}|S(NRsfile://Rqs%s ls-remote %s -h HEADs %s ls-remote %s -h refs/heads/%ss %s ls-remote %s -t refs/tags/%s*RRAiRs*Could not determine remote revision for %sRMRNRLs s^{}i(RR+RJRRRR>tget_head_branchRRRERyRR R0tendswith(RIRRrR{R3RtcloningRAttagRKt head_branchRLR|R%trev((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytget_remote_head.s@ #  $) c C`s[d|||f}|j|dtd|\}}}t|dd|krStStSdS(Ns%s ls-remote %s -t refs/tags/%sRRAterrorstsurrogate_or_strict(RERR R( RIRRrR3R{RKRLR|R%((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyR[s $c C`sg}d|f}|j|d|\}}}|dkr`|jdd|d|d|nx9|jdD](}|jrp|j|jqpqpW|S( Ns%s branch --no-color -aRAiRs-Could not determine branch data - received %sRMRNs (RERR0RzRH( RIRRrtbranchesRKRLR|R%RQ((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyt get_branchesds  # c C`sg}|ddddg}|j|d|\}}}|dkrh|jdd|d |d |nxct|jd D]L}|jr~|jjd \} } | d kr|j| qq~q~W|S(Ns for-each-refs refs/tags/s--formats%(objecttype):%(refname:short)RAiRs*Could not determine tag data - received %sRMRNs t:R(RERR R0RzRH( RIRRrttagsRKRLR|R%RQttagtypettagname((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytget_annotated_tagsps #  c C`s[d|||f}|j|dtd|\}}}t|dd|krStStSdS(Ns %s ls-remote %s -h refs/heads/%sRRARR(RERR R( RIRRrR3R{RKRLR|R%((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyR~s $cC`sHt|||}d|}||kr,tSd||kr@tStSdS(Ns%ss* %s(RRR(RIRRrtbranchRtlbranch((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytis_local_branchs  cC`s^t|||}xE|D]=}|jdrd|ksRd|ksRd|krtSqWtS(Ns* s no branchs detached froms detached at(RRGRR(RIRRrRR((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytis_not_a_branchs  3cC`s|r|}ntjj|d}tjj|rt|d}|j}WdQX|jjdd\}}|rtdntjj |r|}n"tjj|jdd|}tjj |std|qn|S(Ns.gitR'sgitdir: is..git file has invalid git dir reference formatis%s is not a directory( RRRtisfileRtreadR1R0t ValueErrortisabstisdir(RrRt repo_pathtgitfiletdatat ref_prefixtgitdir((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyt get_repo_paths  "c C`syt||}Wn5ttfk rJ}|jdddt|nXtjj|d}t|||rtjj|dd|d}nt ||d|dt }|S( sN Determine what branch HEAD is associated with. This is partly taken from lib/ansible/utils/__init__.py. It finds the correct path to .git/HEAD and reads from that file the branch that HEAD is associated with. In the case of a detached HEAD, this will look up the branch in .git/refs/remotes//HEAD. RscCurrent repo does not have a valid reference to a separate Git dir or it refers to the invalid pathtdetailsRqtrefstremotesRR4( RRRRRRRRRR;R( RIRRrR3RRR%R2R((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyRs !cC`sS|dd|g}|j|d|\}}}|dkr@dSt|jdS(s%Return URL of remote source for repo.s ls-remotes --get-urlRAis N(RER+R R1(RIRRrR3tcommandRLR|R%((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytget_remote_urls  c C`st||||}||ks9t|t|kr=tS|dd||g}|j|d|\}}} |dkrd||f} |jdd| || fn|dk S( s" updates repo from remote sources R3sset-urlRAisset a new url %s for %sRsFailed to %s: %s %sN(RR@RRERR+( RIRRRrR3t remote_urlRRLR|R%tlabel((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytset_remote_urls$  c C`sHt|||||g} d} |dg} g} |r5t||||}|re| j|n|dkr| j|nt|||||r||kr| jd||fn| jd|||fn4t|||||r| jd|d|n| r5| jdt|gq5n| sC| r|rXd d g} nE| td krz| jd n#| j| | |gfd g} |r| j|qn| j|g| j| | | fxd| D]\\}}|j|d |\}}}|dkr|j dd|||fd|qqWdS(s" updates repo from remote sources s download remote objects and refsRRqs+refs/heads/%s:refs/heads/%ss!+refs/heads/%s:refs/remotes/%s/%ss +refs/tags/s :refs/tags/s--depths+refs/heads/*:refs/heads/*s+refs/tags/*:refs/tags/*s1.9s--tagsRAiRsFailed to %s: %s %sRKN( RRRHRRRRRRER(RIRRRrR{R3RRRRtcommandst fetch_strt fetch_cmdtrefspecst currentheadRRRLR|R%((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyRsD     cC`st}tjjtjj|ds+|Sttjj|dd}xv|D]n}| rP|jjdrP|jdddj}tjjtjj||dst }qqPqPW|s t |||} |dd|d g} |j | d t d |\} } } | d kr:|j d d| | n|r}d}t |||d||f}| |krt }qq |ddg} |j | d t d |\} } } | d kr|j d d| | nx1| j D] }|d dkrt }PqqWn|S(Ns .gitmodulesR'Rt=is.gitRvRwRRRAiRsFailed to fetch submodules: %stmasters%s/%sRs'Failed to retrieve submodule status: %sR)(RRRRRRRzRGR0RRRERRx(RIRR3ttrack_submodulesRrtchangedtgitmodules_fileRQRtbeginRKRLR|R%R{R((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytsubmodules_fetch%s:! $$   $  c C`st|||}tjjtjj|ds7dS|ddg}|j|dtd|\}}} d|kr|r|dd d d d g}n|dd d d g}|r|jd n|j|d|\}}} |dkr|jdd|| n||| fS(s init and update any submodules s .gitmodulesiR(RvtsyncRRAR3tupdates--inits --recursives--remotes--forceRs$Failed to init/update submodules: %s(iR(R(( RTRRRRRERRHR( RIRRrRtforceRJRKRLR|R%((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytsubmodule_updateRs!$ c C`sd||f}|d|||f7}d||||f}|j|d|\}} } |dkr|jdd|d| d | d |nd S( sset refs for the remote branch version This assumes the branch does not yet exist locally and is therefore also not checked out. Can't use git remote set-branches, as it is not available in git 1.7.1 (centos6) s+refs/heads/%s:refs/heads/%ss" +refs/heads/%s:refs/remotes/%s/%ss%s fetch --depth=%s %s %sRAiRs&Failed to fetch branch from remote: %sRMRNRLN(RER( RIRRrR3R{Rt branchrefRKRLR|R%((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytset_remote_branchis  c C`s[d}|dkrt||||} |jd|| fd|\} } } | dkr|jdd| d| d | d | nd ||| f}nt|||||r|rt|||| rt||||||nt||||sd ||||f}q|jd||fd|\} } } | dkru|jdd|d| d | d | nd |||f}nd||f}|j|d|\} } }| dkr/|dkr|jdd|d| d |d | d|q/|jdd| d| d |d | d|n|rNt|||||n| | |fS(NR(Rqs%s checkout --force %sRAiRsFailed to checkout branch %sRMRNRLs%s reset --hard %s/%s --s%s checkout --track -b %s %s/%ss%s reset --hard %s/%ssFailed to checkout %sRK(RRERRRRR(RIRRrR3R{RRRRKRRLR|R%tout1terr1((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytswitch_versionxs8 ( ( )  c C`s|t|||kr!d}nd}d|||f}|j|d|\}}} |dkr|jdd|d|d | d |n|rt| } | |kr|jdd | d|d | d |qn||| fS( Ns verify-tags verify-commits%s %s %s --rawRAiRs1Failed to verify GPG signature of commit/tag "%s"RMRNRLsFThe gpg_whitelist does not include the public key "%s" for this commit(RRERtget_gpg_fingerprint( RIRRrR{Rtgit_subRKRLR|R%t fingerprint((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyRs  )  ,cC`s`xY|jD]K}|j}|ddkr5q nt|dkrMdnd}||SWdS(sReturn a fingerprint of the primary key. Ref: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=blob;f=doc/DETAILS;hb=HEAD#l482 itVALIDSIGi iN(RxR0Ry(toutputRQRtdata_id((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyRs  cC`shd|}|j|\}}}|dkr2dStjdt|}|sTdSt|jdS(s#return the installed version of gits %s --versionisgit version (.*)$N(RER+RRR Rtgroups(RIRRKRLR|R%trematch((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyRs  c C`ssd||||f}|j|d|\}}} |dkrf|jdddd||| fn||| fS(s. Create git archive in given source directory s%%s archive --format=%s --output=%s %sRAiRs#Failed to perform archive operationRsLGit archive command failed to create archive %s using %s directory.Error: %s(RER( RIRRrtarchivet archive_fmtR{RKRLR|R%((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pyt git_archives cC`sidd6dd6dd6dd6}tjj|\}} |j| d} | dkru|jd d |d d n|jd djdd} tjj|rt j } tjj | | } | d| }t ||||| |t j||r8|jdtytj| Wqtk r4qXqy1tj||tj| |jdtWqtk r}|jd d||fd dt|qXn)t ||||| ||jdtdS(s8 Helper function for creating archive using git_archive tzips.zipstar.gzs.gzttars.tarttgzs.tgzRs8Unable to get file extension from archive file name : %sRsoPlease specify archive as filename with extension. File extension can be one of ['tar', 'tar.gz', 'zip', 'tgz']R*is.gitR(t.RsFailed to move %s to %su Error occurred while moving : %sN(RRtsplitextRlR+RR0R/RRZtmkdtempRRtfilecmptcmpRRRtrmtreeRRRR(RIRRrRR{RRtall_archive_fmtt_t archive_extRt repo_namettempdirtnew_archive_destt new_archivete((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytcreate_archives>         c"1C`s tdtdtdddtdtddgd td d d td d dtd ddtd ddtd ddddtd ddddtd ddddtd ddddtd ddddtd gdddtd ddddtd ddddtdtd ddtdtd ddddtd dddd td dddd!td dddd"td ddd#d$tddd%tddd&dFgd't}|jd}|jd}|jd }|jd }|jd}|jd}|jd}|jd}|jd} |jd} |jd} |jd} |jd} |jdp|jd(t}|jd}|jd}|jd"}|jd$}|jd%}td)td*t}|jdr-|dk r$d+|kr*|d,7}q*q-d+}n|dk rt|t s[|j d-d.nyt |d/}Wn7t k r|j d-d0d1t tjd2nXtj|ntjj|jd3rd4tjj|}ntd5d6d7d6d8d6d9d6|_|r+tjj|}nd}| rQ| rQ|j d-d:n|r%tjj|}ylt|| }|rtjj|r||krt|d)<|jst||||||}qnWn5ttfk r }|j d-d;d1t|nXtjj|d<}nt }t!||||j"d|t#||}|dk r|t$d=kr|d*j%d>d}n|jd }|jd!}|j&d?dt}|rtjj| s| r| r|js| rt'|||||| }|j&d)td@||j(rxt)||||||| |d?|d@ }|rx||dARGtrun_command_environ_updateR=tabspathRRt check_modeR&RRRRRgRptadd_cleanup_fileRRRHRRt_diffRt exit_jsonRRuRRRRR@RRRRR("RRrRR{R3RRRRt allow_cloneRRRRRIRnRoR RRRt gitconfigRR%RmRR Rt local_modst remote_headRRRtsubmodules_updated((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytmains>                          $ $       ' ,4   - & ,%"  & , t__main__(Bt __future__RRRRt __metaclass__tANSIBLE_METADATAt DOCUMENTATIONtEXAMPLEStRETURNRRRRFR]RRRZtdistutils.versionRtansible.module_utils.basicR R tansible.module_utils.sixR R tansible.module_utils._textR RR&R+RR;R@RTRgRpRuRRRRRRRRRRRRRRRRRRRRRRRRRRR,t__name__(((sF/usr/lib/python2.7/site-packages/ansible/modules/source_control/git.pytsn   -!            #   ;  -      : -   )    2