PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/proc/self/root/usr/share/emacs/26.1/lisp/vc/
Upload File :
Current File : //proc/self/root/usr/share/emacs/26.1/lisp/vc/vc-git.elc
;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\304\320&\210\310\321\312\313\322DD\323\316\324\304\325&\210\310\326\312\313\327DD\330\316\331\304\325&\210\310\332\312\313\333DD\334\304\305\316\335&\210\310\336\312\313\337DD\340\316\341\304\305&\210\310\342\312\313\343DD\344\316\345\304\325&\210\310\346\312\313\347DD\350\316\351\304\325&\207" [custom-declare-group vc-git nil "VC Git backend." :version "24.1" :group vc custom-declare-variable vc-git-diff-switches funcall function #[0 "\300\207" [t] 1] "String or list of strings specifying switches for Git diff under VC.\nIf nil, use the value of `vc-diff-switches'.  If t, use no switches." :type (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1="") string)) "23.1" vc-git-annotate-switches #[0 "\300\207" [nil] 1] "String or list of strings specifying switches for Git blame under VC.\nIf nil, use the value of `vc-annotate-switches'.  If t, use no switches." (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1#) string)) "25.1" vc-git-resolve-conflicts #[0 "\300\207" [t] 1] "When non-nil, mark conflicted file as resolved upon saving.\nThat is performed after all conflict markers in it have been\nremoved.  If the value is `unstage-maybe', and no merge is in\nprogress, then after the last conflict is resolved, also clear\nthe staging area." (choice (const :tag "Don't resolve" nil) (const :tag "Resolve" t) (const :tag "Resolve and maybe unstage all files" unstage-maybe)) vc-git-program #[0 "\300\207" [#2="git"] 1 #2#] "Name of the Git executable (excluding any arguments)." string vc-git-root-log-format #[0 "\300\207" [("%d%h..: %an %ad %s" "^\\(?:[*/\\| ]+ \\)?\\(?2: ([^)]+)\\)?\\(?1:[0-9a-z]+\\)..: \\(?3:.*?\\)[ 	]+\\(?4:[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)" ((1 'log-view-message) (2 'change-log-list nil lax) (3 'change-log-name) (4 'change-log-date)))] 1] "Git log format for `vc-print-root-log'.\nThis should be a list (FORMAT REGEXP KEYWORDS), where FORMAT is a\nformat string (which is passed to \"git log\" via the argument\n\"--pretty=tformat:FORMAT\"), REGEXP is a regular expression\nmatching the resulting Git log output, and KEYWORDS is a list of\n`font-lock-keywords' for highlighting the Log View buffer." (list string string (repeat sexp)) vc-git-commits-coding-system #[0 "\300\207" [utf-8] 1] "Default coding system for sending commit log messages to Git.\n\nShould be consistent with the Git config value i18n.commitEncoding,\nand should also be consistent with `locale-coding-system'." (coding-system :tag "Coding system to encode Git commit logs") vc-git-log-output-coding-system #[0 "\300\207" [utf-8] 1] "Default coding system for receiving log output from Git.\n\nShould be consistent with the Git config value i18n.logOutputEncoding." (coding-system :tag "Coding system to decode Git log output")] 8)
(defvar vc-git-history nil)
(defalias 'vc-git-revision-granularity #[0 "\300\207" [repository] 1])
#@14 

(fn FILES)
(defalias 'vc-git-checkout-model #[257 "\300\207" [implicit] 2 (#$ . 3516)])
#@55 Check whether FILE is registered with git.

(fn FILE)
(defalias 'vc-git-registered #[257 "\301!\211\205e\302\303!r\211q\210\304\305\306\307\310!\311\"\312$\216\313\314\"\3151G\316!\210\317\320\321\322\323%\210ed=\203A\317\324\325\322\326\323&\210\327 0\202I\210\313\211\205_\211GGV\205_\211\305GTO\330P\230)\266\202*\262\207" [process-file-side-effects vc-git-root generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 nil file-relative-name (error) cd vc-git--out-ok "ls-files" "-c" "-z" "--" "ls-tree" "--name-only" "HEAD" buffer-string ""] 11 (#$ . 3612)])
#@70 Convert from a string to an added/deleted/modified state.

(fn CODE)
(defalias 'vc-git--state-code #[257 "\300!\211\301=\203
\302\2022\211\303=\203\304\2022\211\305=\203!\306\2022\211\307=\204-\211\310=\2031\302\2022\311\207" [string-to-char 77 edited 65 added 68 removed 85 84 nil] 4 (#$ . 4266)])
(defvar vc-git--program-version nil)
(defalias 'vc-git--program-version #[0 "\206\301\302\303\"\211\203\304\305\"\203\306\307\"\202\310\211\262\207" [vc-git--program-version vc-git--run-command-string nil "version" string-match "git version \\([0-9.]+\\)\\(.windows.[0-9]+\\)?$" match-string 1 "0"] 4])
#@218 Convert CODE-LIST to a VC status.

Each element of CODE-LIST comes from the first two characters of
a line returned by 'git status --porcelain' and should be passed
in the order given by 'git status'.

(fn CODE-LIST)
(defalias 'vc-git--git-status-to-vc-state #[257 "\211\204\301\207\211:\203\247\211@A\211\204|\211\302\267\202&\303\202w\304\202w\305\202w\306\307\310\311#)\266\203\203:\305\202w\312\307\310\311#)\266\203\203N\313\202w\314\307\310\311#)\266\203\203b\315\202w\316\307\310\311#)\266\203\203v\317\202w\313\262\202\246\320\232\203\207\211:\204\213\313\202\246\211@\211\321\232\203\243A\211\204\235\304\202\236\313\262\202\244\313\262\207\313\207" [inhibit-changing-match-data up-to-date #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("!!" 26 "??" 30 "AD" 34)) ignored unregistered removed "^[ RD]+$" nil t string-match "^[ M]+$" edited "^[ A]+$" added "^[ U]+$" conflict "D " "??"] 11 (#$ . 4899)])
#@48 Git-specific version of `vc-state'.

(fn FILE)
(defalias 'vc-git-state #[257 "\300\301\302\303\304\305\306\307 \"\205\310\311\"BBBB\312\313#\211\204!\314\202+\315\316\317\320\321\322#\"!\207" ["status" "--porcelain" "-z" "--untracked-files" append version<= "1.7.6.3" vc-git--program-version ("--ignored") ("--") apply vc-git--run-command-string unregistered vc-git--git-status-to-vc-state mapcar #[257 "\211\300\301O\207" [0 2] 4 "\n\n(fn S)"] split-string "" t] 10 (#$ . 5909)])
#@59 Git-specific version of `vc-working-revision'.

(fn FILE)
(defalias 'vc-git-working-revision #[257 "\301\302\303!)\207" [process-file-side-effects nil vc-git--rev-parse "HEAD"] 3 (#$ . 6404)])
#@13 

(fn FILE)
(defalias 'vc-git--symbolic-ref #[257 "\301\302\"\206(\303\304\303\305\306#\307\302\205$\310\311\"\203#\312\313\"\202$#)\262\207" [process-file-side-effects vc-file-getprop vc-git-symbolic-ref nil vc-git--run-command-string "symbolic-ref" "HEAD" vc-file-setprop string-match "^\\(refs/heads/\\)?\\(.+\\)$" match-string 2] 8 (#$ . 6604)])
#@81 Return a string for `vc-mode-line' to put in the mode line for FILE.

(fn FILE)
(defalias 'vc-git-mode-line-string #[257 "\300\301\"\302!\206\211\303\304O\305\301\"\306\303\307#\306\303\310#\311\303\312OP\310\307\313Q%\207" [vc-working-revision Git vc-git--symbolic-ref 0 7 vc-default-mode-line-string get-text-property help-echo face propertize 4 "\nCurrent revision: "] 14 (#$ . 6972)])
#@80 compiler-macro for inlining `vc-git-extra-fileinfo-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo-p (and (memq (type-of cl-x) cl-struct-vc-git-extra-fileinfo-tags) t)) nil] 9 (#$ . 7381)])
(put 'vc-git-extra-fileinfo-p 'compiler-macro 'vc-git-extra-fileinfo-p--cmacro)
#@13 

(fn CL-X)
(defalias 'vc-git-extra-fileinfo-p #[257 "\301!>\205	\302\207" [cl-struct-vc-git-extra-fileinfo-tags type-of t] 3 (#$ . 7781)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put vc-git-extra-fileinfo-p side-effect-free error-free put vc-git-extra-fileinfo cl-deftype-satisfies] 5)
#@88 compiler-macro for inlining `vc-git-extra-fileinfo->old-perm'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo->old-perm--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo->old-perm (or (vc-git-extra-fileinfo-p cl-x) (signal 'wrong-type-argument (list 'vc-git-extra-fileinfo cl-x))) (aref cl-x 1)) nil] 9 (#$ . 8099)])
(put 'vc-git-extra-fileinfo->old-perm 'compiler-macro 'vc-git-extra-fileinfo->old-perm--cmacro)
#@225 Access slot "old-perm" of `(vc-git-extra-fileinfo (:copier nil) (:constructor vc-git-create-extra-fileinfo (old-perm new-perm &optional rename-state orig-name)) (:conc-name vc-git-extra-fileinfo->))' struct CL-X.

(fn CL-X)
(defalias 'vc-git-extra-fileinfo->old-perm #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 1] 5 (#$ . 8588)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-extra-fileinfo->old-perm side-effect-free t] 4)
#@88 compiler-macro for inlining `vc-git-extra-fileinfo->new-perm'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo->new-perm--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo->new-perm (or (vc-git-extra-fileinfo-p cl-x) (signal 'wrong-type-argument (list 'vc-git-extra-fileinfo cl-x))) (aref cl-x 2)) nil] 9 (#$ . 9139)])
(put 'vc-git-extra-fileinfo->new-perm 'compiler-macro 'vc-git-extra-fileinfo->new-perm--cmacro)
#@225 Access slot "new-perm" of `(vc-git-extra-fileinfo (:copier nil) (:constructor vc-git-create-extra-fileinfo (old-perm new-perm &optional rename-state orig-name)) (:conc-name vc-git-extra-fileinfo->))' struct CL-X.

(fn CL-X)
(defalias 'vc-git-extra-fileinfo->new-perm #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 2] 5 (#$ . 9628)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-extra-fileinfo->new-perm side-effect-free t] 4)
#@92 compiler-macro for inlining `vc-git-extra-fileinfo->rename-state'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo->rename-state--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo->rename-state (or (vc-git-extra-fileinfo-p cl-x) (signal 'wrong-type-argument (list 'vc-git-extra-fileinfo cl-x))) (aref cl-x 3)) nil] 9 (#$ . 10179)])
(put 'vc-git-extra-fileinfo->rename-state 'compiler-macro 'vc-git-extra-fileinfo->rename-state--cmacro)
#@229 Access slot "rename-state" of `(vc-git-extra-fileinfo (:copier nil) (:constructor vc-git-create-extra-fileinfo (old-perm new-perm &optional rename-state orig-name)) (:conc-name vc-git-extra-fileinfo->))' struct CL-X.

(fn CL-X)
(defalias 'vc-git-extra-fileinfo->rename-state #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 3] 5 (#$ . 10689)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-extra-fileinfo->rename-state side-effect-free t] 4)
#@89 compiler-macro for inlining `vc-git-extra-fileinfo->orig-name'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo->orig-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo->orig-name (or (vc-git-extra-fileinfo-p cl-x) (signal 'wrong-type-argument (list 'vc-git-extra-fileinfo cl-x))) (aref cl-x 4)) nil] 9 (#$ . 11253)])
(put 'vc-git-extra-fileinfo->orig-name 'compiler-macro 'vc-git-extra-fileinfo->orig-name--cmacro)
#@226 Access slot "orig-name" of `(vc-git-extra-fileinfo (:copier nil) (:constructor vc-git-create-extra-fileinfo (old-perm new-perm &optional rename-state orig-name)) (:conc-name vc-git-extra-fileinfo->))' struct CL-X.

(fn CL-X)
(defalias 'vc-git-extra-fileinfo->orig-name #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 4] 5 (#$ . 11748)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-extra-fileinfo->orig-name side-effect-free t] 4)
#@130 compiler-macro for inlining `make-vc-git-extra-fileinfo'.

(fn CL-WHOLE &cl-quote &key OLD-PERM NEW-PERM RENAME-STATE ORIG-NAME)
(defalias 'make-vc-git-extra-fileinfo--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\211\203D\211@\305>\203,\211AA\262\202\306>A@\203;\307\262\202\310\311@\"\210\202\210\312\313\314\307	\307				&	\207" [plist-member :old-perm :new-perm :rename-state :orig-name (:old-perm :new-perm :rename-state :orig-name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:old-perm :new-perm :rename-state :orig-name)" cl--defsubst-expand (old-perm new-perm rename-state orig-name) (cl-block make-vc-git-extra-fileinfo (record 'vc-git-extra-fileinfo old-perm new-perm rename-state orig-name))] 16 (#$ . 12304)])
(put 'make-vc-git-extra-fileinfo 'compiler-macro 'make-vc-git-extra-fileinfo--cmacro)
#@110 Constructor for objects of type `vc-git-extra-fileinfo'.

(fn &key OLD-PERM NEW-PERM RENAME-STATE ORIG-NAME)
(defalias 'make-vc-git-extra-fileinfo #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\211\203D\211@\305>\203,\211AA\262\202\306>A@\203;\307\262\202\310\311@\"\210\202\210\312\313%\207" [plist-member :old-perm :new-perm :rename-state :orig-name (:old-perm :new-perm :rename-state :orig-name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:old-perm :new-perm :rename-state :orig-name)" record vc-git-extra-fileinfo] 11 (#$ . 13194)])
(byte-code "\300\301\302\303#\300\207" [function-put make-vc-git-extra-fileinfo side-effect-free t] 4)
#@131 compiler-macro for inlining `vc-git-create-extra-fileinfo'.

(fn CL-WHOLE-ARG OLD-PERM NEW-PERM &optional RENAME-STATE ORIG-NAME)
(defalias 'vc-git-create-extra-fileinfo--cmacro #[1283 "\300\301\302\303\211\211				&	\207" [cl--defsubst-expand (old-perm new-perm rename-state orig-name) (cl-block vc-git-create-extra-fileinfo (record 'vc-git-extra-fileinfo old-perm new-perm rename-state orig-name)) nil] 15 (#$ . 13909)])
(put 'vc-git-create-extra-fileinfo 'compiler-macro 'vc-git-create-extra-fileinfo--cmacro)
#@115 Constructor for objects of type `vc-git-extra-fileinfo'.

(fn OLD-PERM NEW-PERM &optional RENAME-STATE ORIG-NAME)
(defalias 'vc-git-create-extra-fileinfo #[1026 "\300\301%\207" [record vc-git-extra-fileinfo] 10 (#$ . 14432)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put vc-git-create-extra-fileinfo side-effect-free t cl-struct-define vc-git-extra-fileinfo nil cl-structure-object record ((cl-tag-slot) (old-perm) (new-perm) (rename-state) (orig-name)) cl-struct-vc-git-extra-fileinfo-tags] 11)
#@45 Escape a file name if necessary.

(fn NAME)
(defalias 'vc-git-escape-file-name #[257 "\300\301\"\203\302\303\304\305#\302Q\207\207" [string-match "[\n	\"\\]" "\"" mapconcat #[257 "\211\300\267\202\301\207\302\207\303\207\304\207\305!\207" [#s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (10 6 9 8 92 10 34 12)) "\\n" "\\t" "\\\\" "\\\"" char-to-string] 3 "\n\n(fn C)"] ""] 6 (#$ . 14984)])
#@92 Return a string describing the file type based on its permissions.

(fn OLD-PERM NEW-PERM)
(defalias 'vc-git-file-type-as-string #[514 "\300\206\301\302\"\300\206\301\302\"\211\303\267\202f\304\267\202(\305\202j\306\202j\307\202j\305\202j\310\267\202:\311\202j\312\202j\313\202j\314\267\202L\315\202j\316\202j\317\202j\305\202j\320\267\202b\313\202j\317\202j\305\202j\321\322\"\211\203v\323\324\325#\202\201\326=\203\200\327\202\201\330\207" [lsh 0 -9 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (64 22 80 44 112 62 72 80 0 84)) #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (64 28 80 32 112 36)) nil "   (type change symlink -> file)" "   (type change subproject -> file)" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (64 50 112 54)) "   (type change file -> symlink)" "   (type change subproject -> symlink)" "   (symlink)" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (64 68 80 72)) "   (type change file -> subproject)" "   (type change symlink -> subproject)" "   (subproject)" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (80 90 112 94)) format "   (unknown type %o)" propertize face font-lock-comment-face 72 "/" ""] 9 (#$ . 15425)])
#@115 Return a string describing the copy or rename associated with INFO,
or an empty string if none.

(fn STATE EXTRA)
(defalias 'vc-git-rename-as-string #[514 "\211\205\301!>\204\302\303\304D\"\210\211\305H\211\203O\306\307\310=\203&\311\2021\312=\2030\313\2021\314\315\301!>\204C\302\303\304D\"\210\316H!\317R\320\321#\202P\322\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 3 propertize "   (" copy "copied from " added "renamed from " "renamed to " vc-git-escape-file-name 4 ")" face font-lock-comment-face ""] 11 (#$ . 16809)])
#@63 Format a permission change as string.

(fn OLD-PERM NEW-PERM)
(defalias 'vc-git-permissions-as-string #[514 "\300\203\203\301\302\"\303\"\304=\203\305\202'\301\303\"\304=\203&\306\202'\307\310\311#\207" [propertize logand logxor 73 0 "  " "+x" "-x" face font-lock-type-face] 7 (#$ . 17418)])
#@62 Pretty-printer for the vc-dir-fileinfo structure.

(fn INFO)
(defalias 'vc-git-dir-printer #[257 "\3028\211\203\303\202A@\3048\211\205'\305!>\204$\306\307\310D\"\210\211\311H\205=\305!>\204:\306\307\310D\"\210\304H\312\313\314\315\316\n8\203L\317\202M\320\"\321\322#\312\313\314\323	\"\321	\324\267\202h\325\202i\326\202i\327\330\331%\312\332\"\333\313\334@!\321\203\204\335\202\205\336\337\203\217\340\202\220\341\342	\330\331&	\343\n\n\"\344

\"\261\n\207" [cl-struct-vc-git-extra-fileinfo-tags vc-dir-filename-mouse-map 5 "" 2 type-of signal wrong-type-argument vc-git-extra-fileinfo 1 "  " propertize format "%c" 3 42 32 face font-lock-type-face "%-12s" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (up-to-date 96 missing 100)) font-lock-builtin-face font-lock-warning-face font-lock-variable-name-face mouse-face highlight vc-git-permissions-as-string "    " vc-git-escape-file-name font-lock-comment-delimiter-face font-lock-function-name-face help-echo "Directory\nVC operations can be applied to it\nmouse-3: Pop-up menu" "File\nmouse-3: Pop-up menu" keymap vc-git-file-type-as-string vc-git-rename-as-string] 23 (#$ . 17730)])
#@82 compiler-macro for inlining `vc-git-dir-status-state-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state-p (and (memq (type-of cl-x) cl-struct-vc-git-dir-status-state-tags) t)) nil] 9 (#$ . 18957)])
(put 'vc-git-dir-status-state-p 'compiler-macro 'vc-git-dir-status-state-p--cmacro)
#@13 

(fn CL-X)
(defalias 'vc-git-dir-status-state-p #[257 "\301!>\205	\302\207" [cl-struct-vc-git-dir-status-state-tags type-of t] 3 (#$ . 19370)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put vc-git-dir-status-state-p side-effect-free error-free put vc-git-dir-status-state cl-deftype-satisfies] 5)
#@87 compiler-macro for inlining `vc-git-dir-status-state->stage'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state->stage--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state->stage (or (vc-git-dir-status-state-p cl-x) (signal 'wrong-type-argument (list 'vc-git-dir-status-state cl-x))) (aref cl-x 1)) nil] 9 (#$ . 19697)])
(put 'vc-git-dir-status-state->stage 'compiler-macro 'vc-git-dir-status-state->stage--cmacro)
#@129 Access slot "stage" of `(vc-git-dir-status-state (:copier nil) (:conc-name vc-git-dir-status-state->))' struct CL-X.

(fn CL-X)
(defalias 'vc-git-dir-status-state->stage #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 1] 5 (#$ . 20186)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-dir-status-state->stage side-effect-free t] 4)
#@87 compiler-macro for inlining `vc-git-dir-status-state->files'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state->files--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state->files (or (vc-git-dir-status-state-p cl-x) (signal 'wrong-type-argument (list 'vc-git-dir-status-state cl-x))) (aref cl-x 2)) nil] 9 (#$ . 20644)])
(put 'vc-git-dir-status-state->files 'compiler-macro 'vc-git-dir-status-state->files--cmacro)
#@129 Access slot "files" of `(vc-git-dir-status-state (:copier nil) (:conc-name vc-git-dir-status-state->))' struct CL-X.

(fn CL-X)
(defalias 'vc-git-dir-status-state->files #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 2] 5 (#$ . 21133)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-dir-status-state->files side-effect-free t] 4)
#@97 compiler-macro for inlining `vc-git-dir-status-state->update-function'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state->update-function--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state->update-function (or (vc-git-dir-status-state-p cl-x) (signal 'wrong-type-argument (list 'vc-git-dir-status-state cl-x))) (aref cl-x 3)) nil] 9 (#$ . 21591)])
(put 'vc-git-dir-status-state->update-function 'compiler-macro 'vc-git-dir-status-state->update-function--cmacro)
#@139 Access slot "update-function" of `(vc-git-dir-status-state (:copier nil) (:conc-name vc-git-dir-status-state->))' struct CL-X.

(fn CL-X)
(defalias 'vc-git-dir-status-state->update-function #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 3] 5 (#$ . 22130)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-dir-status-state->update-function side-effect-free t] 4)
#@86 compiler-macro for inlining `vc-git-dir-status-state->hash'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state->hash--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state->hash (or (vc-git-dir-status-state-p cl-x) (signal 'wrong-type-argument (list 'vc-git-dir-status-state cl-x))) (aref cl-x 4)) nil] 9 (#$ . 22618)])
(put 'vc-git-dir-status-state->hash 'compiler-macro 'vc-git-dir-status-state->hash--cmacro)
#@128 Access slot "hash" of `(vc-git-dir-status-state (:copier nil) (:conc-name vc-git-dir-status-state->))' struct CL-X.

(fn CL-X)
(defalias 'vc-git-dir-status-state->hash #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 4] 5 (#$ . 23102)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-dir-status-state->hash side-effect-free t] 4)
#@124 compiler-macro for inlining `make-vc-git-dir-status-state'.

(fn CL-WHOLE &cl-quote &key STAGE FILES UPDATE-FUNCTION HASH)
(defalias 'make-vc-git-dir-status-state--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"\206\305A@\211\203H\211@\306>\2030\211AA\262\202\307>A@\203?\310\262\202\311\312@\"\210\202\210\313\314\315\310	\310				&	\207" [plist-member :stage :files :update-function :hash (nil (make-hash-table :test 'equal)) (:stage :files :update-function :hash :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:stage :files :update-function :hash)" cl--defsubst-expand (stage files update-function hash) (cl-block make-vc-git-dir-status-state (record 'vc-git-dir-status-state stage files update-function hash))] 16 (#$ . 23558)])
(put 'make-vc-git-dir-status-state 'compiler-macro 'make-vc-git-dir-status-state--cmacro)
#@104 Constructor for objects of type `vc-git-dir-status-state'.

(fn &key STAGE FILES UPDATE-FUNCTION HASH)
(defalias 'make-vc-git-dir-status-state #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"\206\305\306\307\310\"DA@\211\203M\211@\311>\2035\211AA\262\202\"\312>A@\203D\305\262\202\"\313\314@\"\210\202\"\210\315\316%\207" [plist-member :stage :files :update-function :hash nil make-hash-table :test equal (:stage :files :update-function :hash :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:stage :files :update-function :hash)" record vc-git-dir-status-state] 11 (#$ . 24459)])
(cl-struct-define 'vc-git-dir-status-state nil 'cl-structure-object 'record nil '((cl-tag-slot) (stage) (files) (update-function) (hash (make-hash-table :test 'equal))) 'cl-struct-vc-git-dir-status-state-tags 'vc-git-dir-status-state t)
#@44 

(fn STATE FILENAME FILE-STATE FILE-INFO)
(defalias 'vc-git-dir-status-update-file #[1028 "\301D\302!>\204\303\304\305	D\"\210\306H#\210\302!>\204,\303\304\305D\"\210\211\307\310\302	!>\204C\303\304\305D\"\210\307H\"I\207" [cl-struct-vc-git-dir-status-state-tags puthash type-of signal wrong-type-argument vc-git-dir-status-state 4 2 delete] 13 (#$ . 25337)])
(put 'vc-git-dir-status-update-file 'byte-optimizer 'byte-compile-inline-expand)
#@69 Process sentinel for the various dir-status stages.

(fn GIT-STATE)
(defalias 'vc-git-after-dir-status-stage #[257 "\301\302!>\204\303\304\305D\"\210\306Heb\210\302!>\204%\303\304\305D\"\210\307H\211\310\267\202\311 \2037\312\2028\313\262\202\314\262\315\316\301\317#\203\320\321\307!\322\"\321\306!\323\324\325\326\301\211%\327D\302!>\204r\303\304\305	D\"\210\330H#\210\302!>\204\210\303\304\305D\"\210\211\306\331\302	!>\204\237\303\304\305D\"\210\306H\"I\266\202@\202\314\262\315\332\301\317#\203\320\321\307!\322\"\321\306!\321\333!\334\232\203\321\335\202\322\336\324\325\211\301\211%\327D\302!>\204\360\303\304\305	D\"\210\330H#\210\302!>\204\303\304\305D\"\210\211\306\331\302	!>\204\303\304\305D\"\210\306H\"I\266	\202\260\202\314\262\315\337\301\317#\203\320\321\307!\322\"\321\306!\336\324\325\211\301\211%\327D\302!>\204`\303\304\305	D\"\210\330H#\210\302!>\204v\303\304\305D\"\210\211\306\331\302	!>\204\215\303\304\305D\"\210\306H\"I\266\202.\202\203\242\340\262\315\341\301\317\307$\203\321\307!\342\324\325\326\211\301\211%\327D\302!>\204\315\303\304\305	D\"\210\330H#\210\302!>\204\343\303\304\305D\"\210\211\306\331\302	!>\204\372\303\304\305D\"\210\306H\"I\266\202\242\202\315\341\301\317\307$\203\321\307!\343\324\325\326\211\301\211%\327D\302!>\2043\303\304\305	D\"\210\330H#\210\302!>\204I\303\304\305D\"\210\211\306\331\302	!>\204`\303\304\305D\"\210\306H\"I\266\202\202\203v\344\202w\345\262\315\346\301\317\307$\203\320\321\307!\322\"\320\321\306!\322\"\321\330!\206\227\321\347!\321\350!\206\240\321\351!\321\322!\211\203\276\352!\353=\203\323\324\325		\354	%\327D\302!>\204\323\303\304\305	D\"\210\330H#\210\302!>\204\351\303\304\305D\"\210\211\306\331\302	!>\204\303\304\305D\"\210\306H\"I\266\202\355\324\325\326\211\356%\327D\302!>\204-\303\304\305	D\"\210\330H#\210\302!>\204C\303\304\305D\"\210\211\306\331\302	!>\204Z\303\304\305D\"\210\306H\"I\266\323\324\325		\356	%\327D\302!>\204\206\303\304\305	D\"\210\330H#\210\302!>\204\234\303\304\305D\"\210\211\306\331\302	!>\204\263\303\304\305D\"\210\306H\"I\266\202\357!\324\325		\301\211%\327D\302!>\204\343\303\304\305	D\"\210\330H#\210\302!>\204\371\303\304\305D\"\210\211\306\331\302	!>\204\303\304\305D\"\210\306H\"I\266\266\202y\210\211\203:\302!>\2041\303\304\305D\"\210\306H\204:\301\262\302!>\204I\303\304\305D\"\210\211\307I\266\302!>\204_\303\304\305D\"\210\211\306I\266\203p\360!\202\257\302!>\204\303\304\305D\"\210\333H\301C\361\362\363\364\365\366!\367\"\350\370%\302!>\204\243\303\304\305	D\"\210\330H\"\210\211\242\262\301\"\207" [cl-struct-vc-git-dir-status-state-tags nil type-of signal wrong-type-argument vc-git-dir-status-state 2 1 #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (update-index 46 ls-files-added 61 ls-files-up-to-date 173 ls-files-conflict 299 ls-files-unknown 411 ls-files-ignored 520 diff-index 622)) vc-git--empty-db-p ls-files-added diff-index ls-files-unknown re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0	\\([^]+\\)" t string-to-number match-string 8 added record vc-git-extra-fileinfo 0 puthash 4 delete "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} \\([0-3]\\)	\\([^]+\\)" 3 "0" up-to-date conflict "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 3	\\([^]+\\)" ls-files-ignored "\\([^]*?\\)" unregistered ignored ls-files-up-to-date ls-files-conflict ":\\([0-7]\\{6\\}\\) \\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\(\\([ADMUT]\\)\\([^]+\\)\\|\\([CR]\\)[0-9]*\\([^]+\\)\\([^]+\\)\\)" 6 5 7 string-to-char 67 copy removed rename vc-git--state-code vc-git-dir-status-goto-stage maphash make-byte-code 514 "\300B\300\242B\240\207" vconcat vector [] "\n\n(fn KEY VALUE)"] 22 (#$ . 25811)])
#@18 

(fn GIT-STATE)
(defalias 'vc-git-dir-status-goto-stage #[257 "\301!>\204\302\303\304D\"\210\211\305H\306 \210\301!>\204$\302\303\304D\"\210\307H\211\310\267\202\246\203>\311p\312\313\314\315&\210\202\246\311p\312\316\317\314%\210\202\246\311p\312\320\321\322\323\315&\210\202\246\311p\312\320\321\322\323\315&\210\202\246\311p\312\320\321\322\323\315&\210\202\246\311p\312\320\321\324\325\326\327\315&\n\210\202\246\311p\312\320\321\324\330\325\326\327\315&\210\202\246\311p\312\331\332\321\333\334\315&	\210\210\335\336\337\340\341\342!\343\"\305$!\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 2 erase-buffer 1 #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (update-index 45 ls-files-added 73 ls-files-up-to-date 88 ls-files-conflict 103 ls-files-unknown 118 ls-files-ignored 135 diff-index 153)) vc-git-command async "add" "--refresh" "--" nil "update-index" "ls-files" "-z" "-c" "-s" "-o" "--directory" "--no-empty-directory" "--exclude-standard" "-i" "diff-index" "--relative" "-M" "HEAD" vc-exec-after make-byte-code 0 "\301\300!\207" vconcat vector [vc-git-after-dir-status-stage]] 15 (#$ . 29873)])
#@86 Return a list of (FILE STATE EXTRA) entries for DIR.

(fn DIR FILES UPDATE-FUNCTION)
(defalias 'vc-git-dir-status-files #[771 "\300\301\302\303\304\305&!\207" [vc-git-dir-status-goto-stage make-vc-git-dir-status-state :stage update-index :files :update-function] 11 (#$ . 31118)])
(defvar vc-git-stash-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\311#\210\301\313\314#\210\301\315\316#\210\301\317\320#\210\211\207" [make-sparse-keymap define-key [mouse-2] ignore [down-mouse-3] vc-git-stash-menu "" vc-git-stash-delete-at-point "=" vc-git-stash-show-at-point "
" "A" vc-git-stash-apply-at-point "P" vc-git-stash-pop-at-point "S" vc-git-stash-snapshot] 5))
(defvar vc-git-stash-menu-map (byte-code "\300\301!\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\211\207" [make-sparse-keymap "Git Stash" define-key [de] (menu-item "Delete Stash" vc-git-stash-delete-at-point :help "Delete the current stash") [ap] (menu-item "Apply Stash" vc-git-stash-apply-at-point :help "Apply the current stash and keep it in the stash list") [po] (menu-item "Apply and Remove Stash (Pop)" vc-git-stash-pop-at-point :help "Apply the current stash and remove it") [sh] (menu-item "Show Stash" vc-git-stash-show-at-point :help "Show the contents of the current stash")] 5))
#@12 

(fn DIR)
(defalias 'vc-git-dir-extra-headers #[257 "\301\302\303!!\304\216rq\210\305\306\307\"\210*rq\210\310 +\311 \312\313\211\211\314\315\"\203\221\316\317\"\262\301\302\303!!\320\216rq\210\305\321\322\323Q\"\210*rq\210\310 +\262\314\324\"\203]\316\325\"\262\203\201\301\302\303!!\326\216rq\210\305\321\327\330Q\"\210*rq\210\310 +\262\314\324\"\203\224\316\325\"\262\202\224\331\262\332\333\334\335#\332\334\336#\205\256\337\332\340\334\335#\332\334\336#Q\337\341\342\343\344!\"!\205\300\332\345\334\346#\341\342\347\344!\"!\205\321\332\350\334\346#\n\203\350\332\351\334\335\352%\353\354
\337#P\202\371\332\355\334\335\352%\332\356\352
\334\336%P\260\207" [standard-output get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] vc-git--out-ok "symbolic-ref" "HEAD" buffer-string vc-git-stash-list "Use M-x vc-git-stash to create stashes." nil string-match "^\\(refs/heads/\\)?\\(.+\\)$" match-string 2 #[0 "\301!\207" [standard-output kill-buffer] 2] "config" "branch." ".remote" "\\([^\n]+\\)" 1 #[0 "\301!\207" [standard-output kill-buffer] 2] "remote." ".url" "not (detached HEAD)" propertize "Branch     : " face font-lock-type-face font-lock-variable-name-face "\n" "Remote     : " file-exists-p expand-file-name ".git/BISECT_START" vc-git-root "Bisect     : in progress\n" font-lock-warning-face ".git/rebase-apply" "Rebase     : in progress\n" "Stash      :\n" help-echo mapconcat #[257 "\301\302\303\304\305\306\307\310&	\207" [vc-git-stash-map propertize face font-lock-variable-name-face mouse-face highlight help-echo "mouse-3: Show stash menu\nRET: Show stash\nA: Apply stash\nP: Apply and remove stash (pop)\nC-k: Delete stash" keymap] 11 "\n\n(fn X)"] "Stash      : " "Nothing stashed"] 20 (#$ . 32468)])
#@96 Return the existing branches, as a list of strings.
The car of the list is the current branch.
(defalias 'vc-git-branches #[0 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313\"\210eb\210\314\211m\204D\315\316!\203>\317\320!\321\230\2037\317\310!\262\202>\317\310!B\262\320y\210\202\237B\266\202*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--call t "branch" nil looking-at "^\\([ *]\\) \\(.+\\)$" match-string 1 "*"] 7 (#$ . 34317)])
#@30 Create a new Git repository.
(defalias 'vc-git-create-repo #[0 "\300\301\302\301\303$\207" [vc-git-command nil 0 "init"] 5 (#$ . 34878)])
#@83 Register FILES into the git version-control system.

(fn FILES &optional COMMENT)
(defalias 'vc-git-register #[513 "\300\211\211\203#\211@\301!\203\211B\262\202\211B\262A\266\202\202\210\2032\302\300\303\304\305\306&\210\211\205<\302\300\303\307$\207" [nil file-directory-p vc-git-command 0 "update-index" "--add" "--" "add"] 11 (#$ . 35022)])
(defalias 'vc-git-responsible-p 'vc-git-root)
#@13 

(fn FILE)
(defalias 'vc-git-unregister #[257 "\300\301\302\303\304\305\306&\207" [vc-git-command nil 0 "rm" "-f" "--cached" "--"] 9 (#$ . 35438)])
#@82 Toggle whether to add the "Signed-off-by" line at the end of
the commit message.
(defalias 'vc-git-log-edit-toggle-signoff #[0 "\300\301\302\"\207" [log-edit-toggle-header "Sign-Off" "yes"] 3 (#$ . 35595) nil])
#@110 Toggle whether this will amend the previous commit.
If toggling on, also insert its message into the buffer.
(defalias 'vc-git-log-edit-toggle-amend #[0 "\301\302\303\"\205[db\210n\204\304c\210\305\306\307!!\310\216\311\312\313\314\315\316\317&\210)rq\210\320 +c\210\212\321 \210\312y\210`\312y\322U\205X\323\324!\205X\325`S\"\326\313w\210`|\210\327\330\"\262\262)\207" [standard-output log-edit-toggle-header "Amend" "yes" "\n" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] vc-git-command 1 nil "log" "--max-count=1" "--pretty=format:%B" "HEAD" buffer-string rfc822-goto-eoh 0 looking-at "\n\\|\\'" buffer-substring-no-properties " \n" log-edit-set-header "Summary"] 8 (#$ . 35813) nil])
(defvar vc-git-log-edit-mode-map (byte-code "\300\301!\302\303\304#\210\302\305\306#\210\211\207" [make-sparse-keymap "Git-Log-Edit" define-key "" vc-git-log-edit-toggle-signoff "" vc-git-log-edit-toggle-amend] 5))
(defvar vc-git-log-edit-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [vc-git-log-edit-mode-hook variable-documentation put "Hook run after entering Log-Edit/git mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp vc-git-log-edit-mode-map definition-name vc-git-log-edit-mode] 4)
(defvar vc-git-log-edit-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [vc-git-log-edit-mode-abbrev-table vc-git-log-edit-mode-map variable-documentation put purecopy "Keymap for `vc-git-log-edit-mode'." boundp vc-git-log-edit-mode-syntax-table definition-name vc-git-log-edit-mode (lambda (#1=#:def-tmp-var) (defvar vc-git-log-edit-mode-syntax-table #1#)) make-syntax-table "Syntax table for `vc-git-log-edit-mode'." (lambda (#1#) (defvar vc-git-log-edit-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `vc-git-log-edit-mode'." derived-mode-parent log-edit-mode] 5)
#@303 Major mode for editing Git log messages.
It is based on `log-edit-mode', and has Git-specific extensions.

In addition to any hooks its parent mode might have run,
this mode runs the hook `vc-git-log-edit-mode-hook', as the final or penultimate step
during initialization.

\{vc-git-log-edit-mode-map}
(defalias 'vc-git-log-edit-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
)\331\332!\207" [delay-mode-hooks major-mode mode-name vc-git-log-edit-mode-map vc-git-log-edit-mode-syntax-table vc-git-log-edit-mode-abbrev-table make-local-variable t log-edit-mode vc-git-log-edit-mode "Log-Edit/git" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table run-mode-hooks vc-git-log-edit-mode-hook local-abbrev-table] 5 (#$ . 38086) nil])
#@36 

(fn FILES COMMENT &optional REV)
(defalias 'vc-git-checkin #[770 "@\206\305!\306!A\206\211\307!\232?	\n\310=\203#\202(	\206(\f\n\310=\2057\311!\312\313!)\314\315\316\317\320\205C\f\203R\321\322\323	!E\202U\321\324D\325\326\327\330\n\331!B\332\333!BF\"\203\201	\206s\f\334@\317#\210)\211A\262\211\262\244	\203\220\335\336D\202\221\337\244%\266\211\205\242\340!\205\242\341!*\207" [default-directory coding-system-for-write system-type locale-coding-system vc-git-commits-coding-system vc-git-root expand-file-name abbreviate-file-name windows-nt file-name-directory make-nearby-temp-file "git-msg" #[257 "\300\301\302\303\304!\305\"\306\307%\207" [make-byte-code 257 "\211\301\232\205\300C\207" vconcat vector ["yes"] 3 "\n\n(fn VALUE)"] 7 "\n\n(fn ARGUMENT)"] apply vc-git-command nil 0 "commit" "-F" file-local-name "-m" log-edit-extract-headers ("Author" . "--author") ("Date" . "--date") "Amend" "--amend" "Sign-Off" "--signoff" write-region "--only" "--" ("-a") file-exists-p delete-file] 22 (#$ . 39175)])
#@24 

(fn FILE REV BUFFER)
(defalias 'vc-git-find-revision #[771 "\304\305\211\306\307\310\311\312%\211\313\230\203\314\315!\"\202 \211\316\317O\262\320\316\304\321\322\2032\2023\323\324Q&+\207" [process-file-side-effects coding-system-for-read coding-system-for-write default-directory nil binary vc-git--run-command-string "ls-files" "-z" "--full-name" "--" "" file-relative-name vc-git-root 0 -1 vc-git-command "cat-file" "blob" "HEAD" ":"] 14 (#$ . 40249)])
#@59 Return the git ignore file that controls FILE.

(fn FILE)
(defalias 'vc-git-find-ignore-file #[257 "\300\301\302!\"\207" [expand-file-name ".gitignore" vc-git-root] 5 (#$ . 40733)])
#@27 

(fn FILE &optional REV)
(defalias 'vc-git-checkout #[513 "\300\301\302\303\206\n\304%\207" [vc-git-command nil 0 "checkout" "HEAD"] 8 (#$ . 40922)])
#@93 Revert FILE to the version stored in the git repository.

(fn FILE &optional CONTENTS-DONE)
(defalias 'vc-git-revert #[513 "\211\203\f\300\301\302\303\304%\207\300\301\302\305\306\304&\210\300\301\211\307\306\304&\207" [vc-git-command nil 0 "update-index" "--" "reset" "-q" "checkout"] 9 (#$ . 41082)])
#@64 Value of `compilation-error-regexp-alist' in *vc-git* buffers.
(defvar vc-git-error-regexp-alist '(("^ \\(.+\\) |" 1 nil nil 0)) (#$ . 41397))
#@150 Run COMMAND (a string; either push or pull) on the current Git branch.
If PROMPT is non-nil, prompt for the Git command to run.

(fn COMMAND PROMPT)
(defalias 'vc-git--pushpull #[514 "C\302!\303\304\305!\"	C\306C\203@\211\307\310\303\311	\242\"\303\312\242\242#\313#\314\315#\240\210\242@\240\210\242A@\240\210\211\242AA\240\210\316\317!\210\320\321\242	\242\242&\210rq\210\322\323\324\325\326\327\n\n\n\n\n%\330\"\331$!\210)\332!\266\204\207" [default-directory vc-git-program vc-git-root format "*vc-git : %s*" expand-file-name nil split-string read-shell-command "Git %s command: " "%s %s" vc-git-history " " t require vc-dispatcher apply vc-do-async-command vc-exec-after make-byte-code 0 "\306\307!\210\310\305!\210\303\242\311\300\242\311\304\242\203\312\313\304\242\311#\202\314\260\310\315!\210\301
\310\316!\210
\317\320\321\322\323\324\302!\325\"\326\327%\317F\211\207" vconcat vector [compile-command vc-compilation-mode git make-local-variable " " mapconcat identity "" compilation-directory compilation-arguments nil make-byte-code 257 "\300\207" vconcat vector [] 2 "\n\n(fn NAME-OF-MODE)"] 8 vc-set-async-update] 18 (#$ . 41547)])
#@146 Pull changes into the current Git branch.
Normally, this runs "git pull".  If PROMPT is non-nil, prompt
for the Git command to run.

(fn PROMPT)
(defalias 'vc-git-pull #[257 "\300\301\"\207" [vc-git--pushpull "pull"] 4 (#$ . 42739)])
#@146 Push changes from the current Git branch.
Normally, this runs "git push".  If PROMPT is non-nil, prompt
for the Git command to run.

(fn PROMPT)
(defalias 'vc-git-push #[257 "\300\301\"\207" [vc-git--pushpull "push"] 4 (#$ . 42981)])
#@85 Merge changes into the current Git branch.
This prompts for a branch to merge from.
(defalias 'vc-git-merge-branch #[0 "\302!\303\304\305!\"\306 A\307\310\311\235\204\312\305\313\"!\204\"\202%\311B\314\315$\316\317	\320C&\210rq\210\321\322!\210)\323!\207" [default-directory vc-git-program vc-git-root format "*vc-git : %s*" expand-file-name vc-git-branches completing-read "Merge from branch: " "FETCH_HEAD" file-readable-p ".git/FETCH_HEAD" nil t apply vc-do-async-command "merge" vc-exec-after #[0 "\300\301!\207" [vc-compilation-mode git] 2] vc-set-async-update] 11 (#$ . 43222)])
#@71 Return the list of files with conflicts in DIRECTORY.

(fn DIRECTORY)
(defalias 'vc-git-conflicted-files #[257 "\300\301\302\303$\211\205\304\305\306#\307\211\203>\211@\310\311\"\2037\312\313\"\312\314\"\315\235\2035\316	\"B\262\266A\266\202\202\262\207" [vc-git--run-command-string "status" "--porcelain" "--" split-string "\n" omit-nulls nil string-match "\\([ MADRCU?!][ MADRCU?!]\\) \\(.+\\)\\(?: -> \\(.+\\)\\)?" match-string 1 2 ("AU" "UD" "UA" "DU" "AA" "UU") expand-file-name] 11 (#$ . 43832)])
(autoload 'vc-resynch-buffer "vc-dispatcher")
#@59 Call "git add" if the conflict markers have been removed.
(defalias 'vc-git-resolve-when-done #[0 "\212eb\210\302\303\304\305#?\205?\306\304\307\310$\210	\311=\2034\312\313\314\315!\"!\2044\316\315!!\2044\306\304\307\304\317$\210\320\305\211#\210\321\322\323\305#)\207" [buffer-file-name vc-git-resolve-conflicts re-search-forward "^<<<<<<< " nil t vc-git-command 0 "add" unstage-maybe file-exists-p expand-file-name ".git/MERGE_HEAD" vc-git-root vc-git-conflicted-files "reset" vc-resynch-buffer remove-hook after-save-hook vc-git-resolve-when-done] 5 (#$ . 44409)])
#@48 Activate `smerge-mode' if there is a conflict.
(defalias 'vc-git-find-file-hook #[0 "\205.\302!\205.\212eb\210\303\304\305\306#)\205.\307\310\311#\210\312 \210	\203+\313\314\315\305\316$\210\317!\207" [buffer-file-name vc-git-resolve-conflicts vc-git-conflicted-files re-search-forward "^<<<<<<< " nil noerror vc-file-setprop vc-state conflict smerge-start-session add-hook after-save-hook vc-git-resolve-when-done local vc-message-unresolved-conflicts] 5 (#$ . 44991)])
(byte-code "\300\301\302\"\210\303\304\305\306\307DD\310\311\312\313\314&\207" [autoload vc-setup-buffer "vc-dispatcher" custom-declare-variable vc-git-print-log-follow funcall function #[0 "\300\207" [nil] 1] "If true, follow renames in Git logs for a single file." :type boolean :version "26.1"] 8)
#@391 Print commit log associated with FILES into specified BUFFER.
If SHORTLOG is non-nil, use a short format based on `vc-git-root-log-format'.
(This requires at least Git version 1.5.6, for the --graph option.)
If START-REVISION is non-nil, it is the newest revision to show.
If LIMIT is non-nil, show no more than this many entries.

(fn FILES BUFFER &optional SHORTLOG START-REVISION LIMIT)
(defalias 'vc-git-print-log #[1282 "\206	\305!\210\306rq\210\307\310\311\312\313\2054A?\2054@\2054\314\f@!?\2054\315C\n\205F\316\317\320\321\322\f@\"\323BBBB	\205R\324\321\325\f\"D\205ZC\326&%+\207" [coding-system-for-read vc-git-log-output-coding-system inhibit-read-only vc-git-print-log-follow vc-git-root-log-format vc-setup-buffer t apply vc-git-command async append ("log" "--no-color") file-directory-p "--follow" "--graph" "--decorate" "--date=short" format "--pretty=tformat:%s" ("--abbrev-commit") "-n" "%s" ("--")] 19 (#$ . 45779)])
#@31 

(fn BUFFER REMOTE-LOCATION)
(defalias 'vc-git-log-outgoing #[514 "\301!\210\302\303\304\305\306\307\310\311\312\313@\"\314\315\230\203\316\202 \317P&\207" [vc-git-root-log-format vc-setup-buffer vc-git-command async nil "log" "--no-color" "--graph" "--decorate" "--date=short" format "--pretty=tformat:%s" "--abbrev-commit" "" "@{upstream}" "..HEAD"] 15 (#$ . 46750) nil])
#@31 

(fn BUFFER REMOTE-LOCATION)
(defalias 'vc-git-log-incoming #[514 "\301!\210\302\303\304\303\305$\210\302\306\303\307\310\311\312\313\314\315@\"\316\317\f\320\230\203&\321\202(\fP&\207" [vc-git-root-log-format vc-setup-buffer vc-git-command nil 0 "fetch" async "log" "--no-color" "--graph" "--decorate" "--date=short" format "--pretty=tformat:%s" "--abbrev-commit" "HEAD.." "" "@{upstream}"] 16 (#$ . 47142) nil])
(defvar vc-git-log-view-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [vc-git-log-view-mode-hook variable-documentation put "Hook run after entering Git-Log-View mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp vc-git-log-view-mode-map definition-name vc-git-log-view-mode] 4)
(defvar vc-git-log-view-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [vc-git-log-view-mode-abbrev-table vc-git-log-view-mode-map variable-documentation put purecopy "Keymap for `vc-git-log-view-mode'." boundp vc-git-log-view-mode-syntax-table definition-name vc-git-log-view-mode (lambda (#1=#:def-tmp-var) (defvar vc-git-log-view-mode-syntax-table #1#)) make-syntax-table "Syntax table for `vc-git-log-view-mode'." (lambda (#1#) (defvar vc-git-log-view-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `vc-git-log-view-mode'." derived-mode-parent log-view-mode] 5)
#@534 Major mode derived from `log-view-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `vc-git-log-view-mode-map', `vc-git-log-view-mode-abbrev-table' and `vc-git-log-view-mode-syntax-table'

which more-or-less shadow log-view-mode's corresponding tables.

In addition to any hooks its parent mode might have run,
this mode runs the hook `vc-git-log-view-mode-hook', as the final or penultimate step
during initialization.

\{vc-git-log-view-mode-map}
(defalias 'vc-git-log-view-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
,=\204R\326
\325,C#\210\327!\210\330\f!\210
,\331\332!\210\306\333!\210\334\306\335!\210\336\306\337!\210-\340=\204\201.A@\202\202\341-\342>\203\225\307/\306\343!\210\344#\306\345!\210-\340=\204\255.A@\346.8BC\202\265\347\350BC\351\"%)\352\353!\207" [delay-mode-hooks major-mode mode-name vc-git-log-view-mode-map vc-git-log-view-mode-syntax-table vc-git-log-view-mode-abbrev-table make-local-variable t log-view-mode vc-git-log-view-mode "Git-Log-View" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table require add-log log-view-file-re "\\`a\\`" log-view-per-file-logs nil log-view-message-re long "^commit *\\([0-9a-z]+\\)" (short log-outgoing log-incoming) log-view-expanded-log-entry-function vc-git-expanded-log-entry log-view-font-lock-keywords 2 append ((1 'change-log-acknowledgment)) (("^Author:[ 	]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)" (1 'change-log-email)) ("^Author:[ 	]+\\([^<(]+?\\)[ 	]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" (1 'change-log-name) (2 'change-log-email)) ("^ +\\(?:\\(?:[Aa]cked\\|[Ss]igned-[Oo]ff\\)-[Bb]y:\\)[ 	]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)" (1 'change-log-name)) ("^ +\\(?:\\(?:[Aa]cked\\|[Ss]igned-[Oo]ff\\)-[Bb]y:\\)[ 	]+\\([^<(]+?\\)[ 	]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" (1 'change-log-name) (2 'change-log-email)) ("^Merge: \\([0-9a-z]+\\) \\([0-9a-z]+\\)" (1 'change-log-acknowledgment) (2 'change-log-acknowledgment)) ("^Date:   \\(.+\\)" (1 'change-log-date)) ("^summary:[ 	]+\\(.+\\)" (1 'log-view-message))) run-mode-hooks vc-git-log-view-mode-hook local-abbrev-table vc-log-view-type vc-git-root-log-format truncate-lines] 5 (#$ . 48846) nil])
#@137 Move to the log entry for REVISION.
REVISION may have the form BRANCH, BRANCH~N,
or BRANCH^ (where "^" can be repeated).

(fn REVISION)
(defalias 'vc-git-show-log-entry #[257 "eb\210\211\2055\300\301\302\"\303\304\305\306\"\203!\307\310\311\"!T\2024\305\312\"\2033\310\313\"GT\2024\303$\314 \210\207" [search-forward format "\ncommit %s" nil t string-match "~\\([0-9]\\)\\'" string-to-number match-string 1 "\\^+\\'" 0 beginning-of-line] 9 (#$ . 51417)])
#@17 

(fn REVISION)
(defalias 'vc-git-expanded-log-entry #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313\314\211\315\316\317F%\210eb\210m?\205<\320\321\314\313#\203:\322\323!\210\314y\210\202(\324 *\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 apply vc-git-command t nil "log" "-1" "--" re-search-forward "^  " replace-match "" buffer-string] 11 (#$ . 51892)])
#@160 Insert into BUFFER the history of FILE for lines LFROM to LTO.
This requires git 1.8.4 or later, for the "-L" option of "git log".

(fn FILE BUFFER LFROM LTO)
(defalias 'vc-git-region-history #[1028 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313\314\315p&\210eb\210\303\315\211\316\317\315\320#\203y\321\322\323!!\321\322\310!!\321\322\324!!\321\322\325!!Z\232\204M\326\327!\210\204\\\nV\203\\\262\204k	V\203k\262\\\\Z\262\266\202$\206Z\262\206\210Z\262\266*\210\330\331\315\332\333\334\335		\336!$&\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-call-backend git diff "HEAD" nil re-search-forward "^@@ -\\([0-9]+\\),\\([0-9]+\\) \\+\\([0-9]+\\),\\([0-9]+\\) @@" t string-to-number match-string 1 3 4 cl--assertion-failed (equal (- curno headno) last-offset) vc-git-command async "log" "-p" format "-L%d,%d:%s" file-relative-name] 16 (#$ . 52371)])
(require 'diff-mode)
(defvar vc-git-region-history-mode-map (byte-code "\302\303\302	D!\"\211\207" [diff-mode-map vc-git-log-view-mode-map make-composed-keymap nil] 5))
(defvar vc-git--log-view-long-font-lock-keywords nil)
(defvar vc-git-region-history-font-lock-keywords '((vc-git-region-history-font-lock)))
#@14 

(fn LIMIT)
(defalias 'vc-git-region-history-font-lock #[257 "\212\303 \210\304\305!\204\306\305\307\310#\210\311\224f)\312=\212\313\314\310#\203$\315\224\202%)\203.\202/	\316`\"\210)\211b\210`W\307f\312=\262\262\204\307\207" [diff-font-lock-keywords vc-git--log-view-long-font-lock-keywords font-lock-keywords beginning-of-line looking-at "^\\(?:diff\\|commit\\)\\>" re-search-backward nil t 0 100 re-search-forward "\n\\(diff\\|commit\\)\\>" 1 font-lock-fontify-keywords-region] 6 (#$ . 53693)])
(defvar vc-git-region-history-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [vc-git-region-history-mode-hook variable-documentation put "Hook run after entering Git-Region-History mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp vc-git-region-history-mode-map definition-name vc-git-region-history-mode] 4)
(defvar vc-git-region-history-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [vc-git-region-history-mode-abbrev-table vc-git-region-history-mode-map variable-documentation put purecopy "Keymap for `vc-git-region-history-mode'." boundp vc-git-region-history-mode-syntax-table definition-name vc-git-region-history-mode (lambda (#1=#:def-tmp-var) (defvar vc-git-region-history-mode-syntax-table #1#)) make-syntax-table "Syntax table for `vc-git-region-history-mode'." (lambda (#1#) (defvar vc-git-region-history-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `vc-git-region-history-mode'." derived-mode-parent vc-git-log-view-mode] 5)
#@276 Major mode to browse Git's "log -p" output.

In addition to any hooks its parent mode `vc-git-log-view-mode' might have run,
this mode runs the hook `vc-git-region-history-mode-hook', as the final or penultimate step
during initialization.

\{vc-git-region-history-mode-map}
(defalias 'vc-git-region-history-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
\306\331!\210\306\332!\210\333AB)\334\335!\207" [delay-mode-hooks major-mode mode-name vc-git-region-history-mode-map vc-git-region-history-mode-syntax-table vc-git-region-history-mode-abbrev-table make-local-variable t vc-git-log-view-mode vc-git-region-history-mode "Git-Region-History" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table vc-git--log-view-long-font-lock-keywords font-lock-defaults vc-git-region-history-font-lock-keywords run-mode-hooks vc-git-region-history-mode-hook local-abbrev-table log-view-font-lock-keywords] 5 (#$ . 55587) nil])
(defalias 'vc-git--asciify-coding-system #[0 "\301\211\302\303#\230\262?\205\304\211\207" [coding-system-for-read "Binary files differ" decode-coding-string t undecided] 6])
(autoload 'vc-switches "vc")
#@112 Get a difference report using Git between two revisions of FILES.

(fn FILES &optional REV1 REV2 BUFFER ASYNC)
(defalias 'vc-git-diff #[1281 "\302\303\304 \210\203\204\305\262\202\306\262\204\307\262	\203E\310\311\206*\312\313\n\314\315\316\317\320\"\321\206;\307\322F\"&\202c\311\206K\312\313	\323\314\324\325\326\327\330\316\302\320\"\331#P\322&)\207" [process-file-side-effects vc-git-diff-switches nil "diff-tree" vc-git--asciify-coding-system "4b825dc642cb6eb9a060e54bf8d69288fbee4904" "diff-index" "HEAD" apply vc-git-command "*vc-diff*" 1 "--exit-code" append vc-switches git diff "-p" "--" "difftool" "--no-prompt" "-x" "diff " mapconcat identity " "] 21 (#$ . 57077)])
#@14 

(fn FILES)
(defalias 'vc-git-revision-table #[257 "\301\302C\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216\314\315\301\211\316\317%\210eb\210\320\321\301\315#\2035\322\313!B\262\202#*\210)\207" [process-file-side-effects nil "HEAD" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git-command t "for-each-ref" "--format=%(refname)" re-search-forward "^refs/\\(heads\\|tags\\|remotes\\)/\\(.*\\)$" match-string] 10 (#$ . 57797)])
#@14 

(fn FILES)
(defalias 'vc-git-revision-completion-table #[257 "\300C\211\301\302\303\304\305\306\"\307\"\310\311%\312\"\240\210\211\242\207" [nil completion-table-dynamic make-byte-code 257 "\302\301\242!\203\301\303\304\305\306\307\300!\310\"\311$ \240\210\301\242\207" vconcat vector [functionp make-byte-code 0 "\301\300!\207" vconcat vector [vc-git-revision-table] 2] 8 "\n\n(fn STRING)" do-switch-buffer] 11 (#$ . 58325)])
#@31 

(fn FILE BUF &optional REV)
(defalias 'vc-git-annotate-command #[770 "\300 \210\301!\302\303\304\305\306\307\310\311\312\313\"\n\314E\"&\207" [vc-git--asciify-coding-system file-relative-name apply vc-git-command async nil "blame" "--date=short" append vc-switches git annotate "--"] 16 (#$ . 58766)])
(defalias 'vc-git-annotate-time #[0 "\300\301\302\303#\205\304\305\306\307\310\311\"\"!\207" [re-search-forward "^[0-9a-f^]+[^()]+(.*?\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\) \\(:?\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\) \\([-+0-9]+\\)\\)? *[0-9]+) " nil t vc-annotate-convert-time apply encode-time mapcar #[257 "\211\224\203\300\301!!\207\302\207" [string-to-number match-string 0] 4 "\n\n(fn MATCH)"] (6 5 4 3 2 1 7)] 6])
(defalias 'vc-git-annotate-extract-revision-at-line #[0 "\212\301 \210\302\303!\2053\304\305!\306\224\2030\304\307!\310\311\"\203#\211\312\211\224O\262\313\314!\"B\262\2021\211\262)\207" [default-directory beginning-of-line looking-at "\\^?\\([0-9a-f]+\\) \\(\\([^(]+\\) \\)?" match-string-no-properties 1 2 3 string-match " +\\'" 0 expand-file-name vc-git-root] 7])
#@25 

(fn DIR NAME BRANCHP)
(defalias 'vc-git-create-tag #[771 "\301\302\303\302\304\305%\205%\211\203\301\302\303\302\306\307&\202%\301\302\303\302\310%)\207" [default-directory vc-git-command nil 0 "update-index" "--refresh" "checkout" "-b" "tag"] 10 (#$ . 59886)])
#@24 

(fn DIR NAME UPDATE)
(defalias 'vc-git-retrieve-tag #[771 "\301\302\303\302\304%)\207" [default-directory vc-git-command nil 0 "checkout"] 9 (#$ . 60167)])
#@64 Git-specific version of `vc-previous-revision'.

(fn FILE REV)
(defalias 'vc-git-previous-revision #[514 "\203J\300!\301\302!r\211q\210\303\304\305\306\307!\310\"\311$\216\312\313\314\315%\205?db\205?n\205?\316y\304U\205?o?\205?\317`dS\"*\262\320!\206I\211\207\321\322P!\207" [file-relative-name generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--out-ok "rev-list" "-2" "--" -1 buffer-substring-no-properties vc-git-symbolic-commit vc-git--rev-parse "~1"] 10 (#$ . 60335)])
#@12 

(fn REV)
(defalias 'vc-git--rev-parse #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\"\205 \313ee\314\\\"*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--out-ok "rev-parse" buffer-substring-no-properties 40] 8 (#$ . 60909)])
#@60 Git-specific version of `vc-next-revision'.

(fn FILE REV)
(defalias 'vc-git-next-revision #[514 "\301!\302!\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216\314\315\316\317%\205>db\205>n\205>\320y\306U\205>o\205>\321`dS\"*\262\211\205\201\303\304!r\211q\210\305\306\307\310\311!\322\"\313$\216\314\315\323\317$\205~eb\205~\324\325\326#\205~\320y\306U\205~\321`\327y\210`S\"*\262\330!\206\210\211)\207" [default-directory vc-git-root file-relative-name generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--out-ok "rev-list" "-1" "--" -1 buffer-substring-no-properties [buffer-name kill-buffer] "HEAD" search-forward nil t 1 vc-git-symbolic-commit] 11 (#$ . 61257)])
#@13 

(fn FILE)
(defalias 'vc-git-delete-file #[257 "\300\301\302\303\304\305&\207" [vc-git-command nil 0 "rm" "-f" "--"] 8 (#$ . 62036)])
#@16 

(fn OLD NEW)
(defalias 'vc-git-rename-file #[514 "\300\301\302D\303\304\305&\207" [vc-git-command nil 0 "mv" "-f" "--"] 9 (#$ . 62179)])
(defvar vc-git-extra-menu-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\211\207" [make-sparse-keymap define-key [git-grep] (menu-item "Git grep..." vc-git-grep :help "Run the `git grep' command") [git-sn] (menu-item "Stash a Snapshot" vc-git-stash-snapshot :help "Stash the current state of the tree and keep the current state") [git-st] (menu-item "Create Stash..." vc-git-stash :help "Stash away changes") [git-ss] (menu-item "Show Stash..." vc-git-stash-show :help "Show stash contents")] 5))
(defalias 'vc-git-extra-menu #[0 "\207" [vc-git-extra-menu-map] 1])
(defalias 'vc-git-extra-status-menu #[0 "\207" [vc-git-extra-menu-map] 1])
#@13 

(fn FILE)
(defalias 'vc-git-root #[257 "\300\301\"\206\302\301\303\304\"#\207" [vc-file-getprop git-root vc-file-setprop vc-find-root ".git"] 7 (#$ . 63016)])
#@868 Run git grep, searching for REGEXP in FILES in directory DIR.
The search is limited to file names matching shell pattern FILES.
FILES may use abbreviations defined in `grep-files-aliases', e.g.
entering `ch' is equivalent to `*.[ch]'.  As whitespace triggers
completion when entering a pattern, including it requires
quoting, e.g. `\[quoted-insert]<space>'.

With \[universal-argument] prefix, you can edit the constructed shell command line
before it is executed.
With two \[universal-argument] prefixes, directly edit and run `grep-command'.

Collect output in a buffer.  While git grep runs asynchronously, you
can use \[next-error] (M-x next-error), or \<grep-mode-map>\[compile-goto-error] in the grep output buffer,
to go to the lines where grep found matches.

This command shares argument histories with \[rgrep] and \[grep].

(fn REGEXP &optional FILES DIR)
(defalias 'vc-git-grep #[769 "\304\305!\210;\205eG\306V\205e\204!\211\307\230\203J\310\262\202J\311\312!!\262\313\314#\262\211\203J\315\232\203E\316\317\310\211\320%\262\202J\321\320\"\210\211\205c\322	B\323\324\"\210*p=\205c\211\262\207" [current-prefix-arg compilation-environment default-directory next-error-last-buffer require grep 0 "git grep" nil file-name-as-directory expand-file-name grep-expand-template "git --no-pager grep -n -e <R> -- <F>" (4) read-from-minibuffer "Confirm: " grep-history add-to-history "PAGER=" compilation-start grep-mode] 10 (#$ . 63189) (byte-code "\302 \210\303\267\202\304\305\306\307\211\310%\307D\207\311 \312\313\314\315!!\316#\317\320\307	\321$E\207" [current-prefix-arg default-directory grep-compute-defaults #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ((16) 9)) read-from-minibuffer "Run: " "git grep" nil grep-history grep-read-regexp mapconcat shell-quote-argument split-string grep-read-files " " read-directory-name "In directory: " t] 7)])
#@28 Create a stash.

(fn NAME)
(defalias 'vc-git-stash #[257 "\301!\211\205\302\303\304\305$\210\306\307\211#\207" [default-directory vc-git-root vc-git--call nil "stash" "save" vc-resynch-buffer t] 7 (#$ . 65135) "sStash name: "])
#@45 Show the contents of stash NAME.

(fn NAME)
(defalias 'vc-git-stash-show #[257 "\301\302!\210\303\302\304\305\306\307\310&\210\302q\210\311 \210\312\313p!\207" [buffer-read-only vc-setup-buffer "*vc-git-stash*" vc-git-command async nil "stash" "show" "-p" diff-mode t pop-to-buffer] 9 (#$ . 65374) "sStash name: "])
#@30 Apply stash NAME.

(fn NAME)
(defalias 'vc-git-stash-apply #[257 "\301\302\303\304\305\306\307&\210\310\311!\312\211#\207" [default-directory vc-git-command "*vc-git-stash*" 0 nil "stash" "apply" "-q" vc-resynch-buffer vc-git-root t] 9 (#$ . 65700) "sApply stash: "])
#@28 Pop stash NAME.

(fn NAME)
(defalias 'vc-git-stash-pop #[257 "\301\302\303\304\305\306\307&\210\310\311!\312\211#\207" [default-directory vc-git-command "*vc-git-stash*" 0 nil "stash" "pop" "-q" vc-resynch-buffer vc-git-root t] 9 (#$ . 65978) "sPop stash: "])
#@45 Create a stash with the current tree state.
(defalias 'vc-git-stash-snapshot #[0 "\301\302\303\304\305 \306\307\"\306\310\"P\262$\210\311\312\313\302\303\314\315\316&\210\317\320!\321\211#\207" [default-directory vc-git--call nil "stash" "save" current-time format-time-string "Snapshot on %Y-%m-%d" " at %H:%M" vc-git-command "*vc-git-stash*" 0 "apply" "-q" "stash@{0}" vc-resynch-buffer vc-git-root t] 9 (#$ . 66248) nil])
(defalias 'vc-git-stash-list #[0 "\300\301\302\303\304\305\306\307\310\311##\312\"\"\207" [delete "" split-string replace-regexp-in-string "^stash@" "             " vc-git--run-command-string nil "stash" "list" "\n"] 10])
#@14 

(fn POINT)
(defalias 'vc-git-stash-get-at-point #[257 "\212\211b\210\300 \210\301\302!\203\303\304!\202\305\306!)\207" [beginning-of-line looking-at "^ +\\({[0-9]+}\\):" match-string 1 error "Cannot find stash at point"] 3 (#$ . 66906)])
(defalias 'vc-git-stash-delete-at-point #[0 "\300`!\301\302\303\"!\205\304\305\306\307\302\310\"$\210\311 \207" [vc-git-stash-get-at-point y-or-n-p format "Remove stash %s ? " vc-git--run-command-string nil "stash" "drop" "stash@%s" vc-dir-refresh] 8 nil nil])
(defalias 'vc-git-stash-show-at-point #[0 "\300\301\302\303`!\"!\207" [vc-git-stash-show format "stash@%s" vc-git-stash-get-at-point] 5 nil nil])
(defalias 'vc-git-stash-apply-at-point #[0 "\301\302\303\304\305`!\"!\210)\306 \207" [vc-dir-buffers nil vc-git-stash-apply format "stash@%s" vc-git-stash-get-at-point vc-dir-refresh] 5 nil nil])
(defalias 'vc-git-stash-pop-at-point #[0 "\301\302\303\304\305`!\"!\210)\306 \207" [vc-dir-buffers nil vc-git-stash-pop format "stash@%s" vc-git-stash-get-at-point vc-dir-refresh] 5 nil nil])
#@10 

(fn E)
(defalias 'vc-git-stash-menu #[257 "\212\211\301\232\204\302!\303\211@\262!q\210\304!b\266\305\")\207" [vc-git-stash-menu-map (tool-bar) event-start window-buffer posn-point popup-menu] 5 (#$ . 67958) "e"])
#@190 A wrapper around `vc-do-command' for use in vc-git.el.
The difference to vc-do-command is that this function always invokes
`vc-git-program'.

(fn BUFFER OKSTATUS FILE-OR-LIST &rest FLAGS)
(defalias 'vc-git-command #[899 "\206	\n\206\n\306\fB\307\310\206\311
\243?\205=\242\206(\211\205;\211GSH\312=\205;\211\313!\232\262?\205C\314B&+\207" [coding-system-for-read vc-git-log-output-coding-system coding-system-for-write vc-git-commits-coding-system process-environment vc-git-program "GIT_DIR" apply vc-do-command "*vc*" 47 vc-git-root "--no-pager"] 13 (#$ . 68190)])
#@52 Check if the git db is empty (no commit done yet).
(defalias 'vc-git--empty-db-p #[0 "\301\302\301\303\304\305$)\306=?\207" [process-file-side-effects nil vc-git--call "rev-parse" "--verify" "HEAD" 0] 5 (#$ . 68795)])
#@34 

(fn BUFFER COMMAND &rest ARGS)
(defalias 'vc-git--call #[642 "\306\206	\n\206\307\fB\310\fB\311\312\f\313\313&,\207" [coding-system-for-read vc-git-log-output-coding-system coding-system-for-write vc-git-commits-coding-system process-environment inhibit-null-byte-detection t "PAGER=" "GIT_DIR" apply process-file nil vc-git-program] 11 (#$ . 69020)])
#@27 

(fn COMMAND &rest ARGS)
(defalias 'vc-git--out-ok #[385 "\300\301\302$\303U\207" [apply vc-git--call (t nil) 0] 7 (#$ . 69399)])
#@99 Run a git command on FILE and return its output as string.
FILE can be nil.

(fn FILE &rest ARGS)
(defalias 'vc-git--run-command-string #[385 "\301\302\303\304!!\305\216rq\210\306\307\203 \310\311!C\"\202!\"\204(\312\262*rq\210\313 +\2055\211\207" [standard-output t get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] apply vc-git--out-ok append file-relative-name nil buffer-string] 9 (#$ . 69538)])
#@87 Translate COMMIT string into symbolic form.
Returns nil if not possible.

(fn COMMIT)
(defalias 'vc-git-symbolic-commit #[257 "\211\205E\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313#\2054eb\2054\310y\314U\2054n\2054\315edS\"*\262\211\205C\211\316\230?\205C\211\262\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--out-ok "name-rev" "--name-only" 1 buffer-substring-no-properties "undefined"] 8 (#$ . 70022)])
(provide 'vc-git)