From 6eda70c56cacb2311e7b28434b152229a3c53344 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 24 Oct 2012 16:28:53 -0700 Subject: [PATCH] Add libgit2 --- git2/frameworks/libgit2.0.17.0.dylib | Bin 0 -> 1422444 bytes git2/include/git2.h | 47 ++++ git2/include/git2/attr.h | 224 +++++++++++++++++ git2/include/git2/blob.h | 132 ++++++++++ git2/include/git2/branch.h | 122 +++++++++ git2/include/git2/commit.h | 270 ++++++++++++++++++++ git2/include/git2/common.h | 104 ++++++++ git2/include/git2/config.h | 356 ++++++++++++++++++++++++++ git2/include/git2/diff.h | 362 +++++++++++++++++++++++++++ git2/include/git2/errors.h | 108 ++++++++ git2/include/git2/index.h | 321 ++++++++++++++++++++++++ git2/include/git2/indexer.h | 121 +++++++++ git2/include/git2/merge.h | 35 +++ git2/include/git2/net.h | 51 ++++ git2/include/git2/notes.h | 139 ++++++++++ git2/include/git2/object.h | 173 +++++++++++++ git2/include/git2/odb.h | 331 ++++++++++++++++++++++++ git2/include/git2/odb_backend.h | 100 ++++++++ git2/include/git2/oid.h | 223 +++++++++++++++++ git2/include/git2/reflog.h | 128 ++++++++++ git2/include/git2/refs.h | 329 ++++++++++++++++++++++++ git2/include/git2/refspec.h | 60 +++++ git2/include/git2/remote.h | 234 +++++++++++++++++ git2/include/git2/repository.h | 304 ++++++++++++++++++++++ git2/include/git2/revwalk.h | 237 ++++++++++++++++++ git2/include/git2/signature.h | 65 +++++ git2/include/git2/status.h | 164 ++++++++++++ git2/include/git2/submodule.h | 103 ++++++++ git2/include/git2/tag.h | 297 ++++++++++++++++++++++ git2/include/git2/threads.h | 48 ++++ git2/include/git2/tree.h | 318 +++++++++++++++++++++++ git2/include/git2/types.h | 177 +++++++++++++ git2/include/git2/version.h | 15 ++ git2/include/git2/windows.h | 59 +++++ 34 files changed, 5757 insertions(+) create mode 100755 git2/frameworks/libgit2.0.17.0.dylib create mode 100644 git2/include/git2.h create mode 100644 git2/include/git2/attr.h create mode 100644 git2/include/git2/blob.h create mode 100644 git2/include/git2/branch.h create mode 100644 git2/include/git2/commit.h create mode 100644 git2/include/git2/common.h create mode 100644 git2/include/git2/config.h create mode 100644 git2/include/git2/diff.h create mode 100644 git2/include/git2/errors.h create mode 100644 git2/include/git2/index.h create mode 100644 git2/include/git2/indexer.h create mode 100644 git2/include/git2/merge.h create mode 100644 git2/include/git2/net.h create mode 100644 git2/include/git2/notes.h create mode 100644 git2/include/git2/object.h create mode 100644 git2/include/git2/odb.h create mode 100644 git2/include/git2/odb_backend.h create mode 100644 git2/include/git2/oid.h create mode 100644 git2/include/git2/reflog.h create mode 100644 git2/include/git2/refs.h create mode 100644 git2/include/git2/refspec.h create mode 100644 git2/include/git2/remote.h create mode 100644 git2/include/git2/repository.h create mode 100644 git2/include/git2/revwalk.h create mode 100644 git2/include/git2/signature.h create mode 100644 git2/include/git2/status.h create mode 100644 git2/include/git2/submodule.h create mode 100644 git2/include/git2/tag.h create mode 100644 git2/include/git2/threads.h create mode 100644 git2/include/git2/tree.h create mode 100644 git2/include/git2/types.h create mode 100644 git2/include/git2/version.h create mode 100644 git2/include/git2/windows.h diff --git a/git2/frameworks/libgit2.0.17.0.dylib b/git2/frameworks/libgit2.0.17.0.dylib new file mode 100755 index 0000000000000000000000000000000000000000..1b99207a19bf3d413c4688d0a374c5e47c500d6d GIT binary patch literal 1422444 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

1VHWAC$I zsCQ_H1sgWKPR2^xqm_o=BHGF+9D>4B_`RKicVf%m=anC5+}784h9_L!t?=9Yu~?xQ zr79v^4CSm^A0JmOZ0eMb#3JtVE1#>_LykG^ZoqoWt{S-?-I5Ymf{RsA8_s&dR)s=L z|A)4>fv>Bo^8V8jAZQ>#qEn>~Rf`trV1a@y6iA_g6dEZn#eyw@Vh0~lQ4&CDAtedi zo6{qywj+*JJ51FooiRd@sudE9BtX@G83_{M76Y7^C>0_`?9l)BxAs2go_muP{rfz8 z=*@ZAXTPky-q+fD_p!UCT%Atii%UhHv~EB*=xBZZW%Svd`*|HEo&m=V8Yw)HzW*U> zW*1nYd1e2D^ELMWck37DKOYl&+`s90F>CS_ZJ}~pe!Fok_9L>1O|qI{ORR?xn{YXH z7l{{@SlUxg>_omX;FD|0-Hf93OFYek2MKpzu1y^WnyQ#PQjpQu+YOL9pjirYQ`ybu69 z;_eoAGWIt$D0VrQ!c$mP@6gdk-+^0)V zx=!G+>RH5q(IH)16>CuN;az5+Vj1j`#$3`sW~Lq;tt19r9BbXvNX#x$MaejmUKRUS z=EUw`mybbDW(dDw+#{-B=m~yeV}VIyBbBnIoEVvoyymV{w1xqzAgpl@QQNygBNbtV zjVm&yT%-4jXXU7mZsqja^m5fFR?gU+JCZ`XT;GA{$S@1f5>c$)8K2WCKyIdUW9uM< zJ-`c%Ij`lYq3D{Yh0r-`a8gC{DbhMu`FPl0R$O9Mq+x`m2R+4`e#e?c9fkBsIAdmb;egykisTz81 zMcr6S9he}GF>F?7#{>-E)pne7pvlelyQ)~Ab)$@d9&y)F$|+h z`s39sdbxkJ;cN}4$Q^9tgQCxWMnAx-JULGtNEw9QM6V`*&@+5Q7Zd4pTzsQx)ozTC zxUmrLQGhFn)#f1PRWTcBF}%ME8nu%r9rj)r~mltiTHiqpSrj8qA83%K(-37D8hbOkwVoD5o~Ikt|tiKYHV;q z!EC5wFXc|B9N(`9s;jABMOLd~R9jQWRPI?|tD~3ZFW_NNy@)5-`OKttQJxf5&p@M$ zK1l^F9Sx`0JT2Dt)mTmx=JG)CVRv~zgQ7S*wJH`5qdQ04)hNi26LArynDWNAUHQpu zho361CdUz2iht}YegO=d{&E1!$(%iK(jyybRj`4D2z+c_0o}l#=y6g;yIK^K`HYoe zyI7!*;OskayN;8a^+~-t0|>No-{7S379_M)79C*Luo!CGj2Q}VjJvX5QCxz6*#9VC9U%=g6-wr&^=ZfsW)>1)1<_1y;%SwP3#(`ILdTD740!J*Jyzk|k`!{``fchSrC$34c=tJYlS>J7`(owk@pS@H zUks!^0}{CJKLFH*45C>+#PS_JK(JBrOP^7=yp59nQO0Vr(m3?2G;Hm7W>148Lx4sc z=xGGdj~eI`|HEI%JE5RXz|phlzF!ISHVlE@AcXhROZ2X4TbNl$Z|pwEe@kN@fZOlV zFr4*$tDlJZ9j(;QRu3&eX6lJg!v?B@;oXDBqr|kvoXbbG6V5yi{ntOH_W>l=%Zk`0nF7QQQ zOqLv~qS4YJ!!$BFtQa|}Nrdb-Uzsf2s#xTSp6E_MId$4X5hlK*}siZF0T57R4y`}{|(e=D^L-F#kn)9Dza(TfwkRBMfh7e-T`mlT&Z6x~b>Za3FLehobL8b7f#>)AKUnM0cO z9J?URdY)b2{2mQ1SfrB{aJ>;iAsVuzC;9=51~-{USM8-B74l`k05p}3>T)QY1~Q65 zabyWb{;4G!OZ@&Ncz?YE=jSI$ehv(;HFE(MEZoPbVcGteC-5NInXtC1xvIOMsi?O_gQjLmqg#1ZQW3D zY>8;f&y_%66)wNR{D6h%k2B0?Ki@+0*Cp7^Gja1C{&AIB(MWnI0-Gv)zLiV`r&$4fQ)UUzB z$FA|y17?ZLU(+?XXtyUQn@Nt-PdWHs7m5B=615|6cltp?FTkeH}-ZOf%e* zJ83`zlG-@HUq(ho<+h=ElZ^S|)vh?Gx=p2qF0%KjE~#($1uj;PEK~`%v_xo4VKn6> z(-l^t7V=td9K9A&+Uvi-^*tpxUHk~DkNNju)|7N)DsJkW9aF;AtkaeS8ld7f0dc+i zJ~f*HI$J3IRI5{Vn!j$3Z6}cZDq7asoimQ2;QX1v!dbyANa?tq<9?;Hr8ZZz+(`#x z5L;|RzC`*T9IAyS>B5^DKFh174v>(#%7cZK1+OmHU}?4`0(xQru6qd-({+-c65`)I)k0<4q2{`G_@y+?}R|m|p|Q@HvL5LeSu# zaLJam8}g|Ooi)MaI_Uq0Rk}rX4rrBB0gAY~E>aUPv`8zJz4EUx$Ag&Dnnu2Gwg^63 zU@}_^d%XnQ!`f(7N`SymT3o9Z@YZZs&2`&!7Jv={*q*9g<}oLPFN#zt6i{6ywxsxjQJ&r7&Tj?6HH5>i`yANMe{92!5kq->Uehk zxnq+hX010^ zxF|;a#~wDf@v1Xn@@m^Dk$mhjJ+`p$z}nmC2q)E*E8_MZ;?>ag_FnB&c+#-8iDQj# zbGd7?;`7%*HQ>R4wC0ywFLIUEALZ|_<{n{}>hQ1cH3XAid)onqTQm^MxN01IEoaZp#gmdBQHD(G@ zatCuoFj2D@dm<(wBdkJ%y6Q@`B^G9{4(DQMM;<;5aqp<{{cb}Ik$s<964! zP{%9ng1f~Uxuw&k^qWK{ygyrP9%Iv z1ochDCh`RJ#h9ShKPWJo_OPTYXy^)8?a)a+04r8AYK%XiHRUtP#X-pDezHT{?hm0tjDYUZ5OEgjFS!>RRl5u`rrE{hB{KhA(+6 zd-IST@hF^&A)9lhgxZ2ETY?x& z+wQ@KAGRN$a919MwaKo@gvTH7kVPi+`V7J}w9bH@@*s7E>>$u|p*qYA3JIjn5(Q~{ zg|shO?R~bvhXd)zL?C^;9d#vOIumoE^Qr{Te;i*=czPfB3WE?-#UTC$ynRM+ZTkpr z^{{=6>lAc<5kt5B{=W%tf5z&+JdpQ-w-F1lJdg|VHnc`w7jL(jsyhyEP3*uAE?zyd z4h)Jhwmeu;mPItyjV9!8*|;qvo9q#UMB#g7p|b)j7iPXE@U%_BnIE=yC<2j3!NC|v z=l$3L$>Ph30Gb-$w|>BtHZQEZBUrC?!@JMNtD-uDeTq%|)+v!Ir-e1`UIvLCB&S3U z(V35%Z6be6KNaj5lI7W5)25f*HBwPahR){;^V!V{>e}#lq3F>n9fAP~K3@oB_1r zwy(*_kq2AFZJ|9-NyS4IgjB_TSm!+;*B%cSq{i?n6KPdkDaZW$EBzb>HJjX|(cs2- z#(>B=ai97h39(|}^o2EQBARy3erTT>dGy?4suZ=a-_*uk$hFm7qJn&8ty{+eeN2!q zqIqMQG~daz+k%Nm$z6CiTo$cu!%~mgq7>WvWj04bJc0Dd;TcTu$2&M-FtW1?nucas zeqQSHoYj*{e_rQ4Z}^GyJ6tc2Gg)K$iIw%P;HkxQ?0< zp6H8L$4w>zHGke9n_tjO(_aAk){2(z8d3MUC`v{1M!Ve_WFCQ8nrq*TDb$Pn1y%T3Gcve3C%ti3yS=DKd~2AgaKmmZvJcytp`dR`j8RhE{?QJp~Ou;Ty*P{1hB61H$zg^O;FI9Pr*Z?VSI`G#xF+i;9I z+O(UZ__;aSQr$r5rW>67GEp}+TS2<9Y46?GY@lRED; zImP5SPSR8qPm+E%D<)5;J+SRLwvkSSMxiEYKiqaZ!5N>x9E)ghz}ybRZlnMC{cA=a z@Gpy=C>IdlVJ=vE7YFzRZ<^aHC*v+TF?&kolAb?ZDcY{ccjF=iuU!!kQANh*t<1_R z?5TJ|X<|RCft>l@Ns+>4UgYkCn(QLA6ud0a-f+C3Tp2i^R4P|acXm`39TN5rm`$pp~w{-TE3dlDLMgR)bhQY|^u=-FY75 zc0P2@2d4tCBd*d5H4f8$xStn)_~ce|Zi!AT^Ho@!7X-2h1W#5e@aZA}XW{gB^fcw5 zV-0VZt-l1Dg1%fsU(Adclcas8X&N49W6w@H;k8j?lm2V_LsZ5IBl&o%O>(&=d5IK| z5-li_!hqsedg{gsY`%Yc@P7Sme!ODAL(CXsi_X0?UYzT+$@~myuMjt7g#gdRO^{O` zHvt;&y@?3dnFXVi4J+^@v+kSVL4Fbii?;xo1n&|u*3xs+Z@|xF_(}ZEg`2%sC>48_ z)68@PpeItE!e5gW-}s*R#Gt%FntcB5JFdQH_GcGoL5*gN{FlZT&vkm zK#b#wyt39+CXye}Cf*hZPX)_~jFqks0s(WoAxsvlta!8`1kiXyYE$}?1Ja)yV4v(V zyi7jXm92$Y*f;OzFJ58e7CK`91ZnDljBPo(y)ljuzhOf1Zz|Qb_zj@vjV-{m{P};B zU%$P5-~8Iuk1>*{Qhsv@WA6fRbls=Sc#@W8O0JgQj)({?o~vkw*$w9bNk)>l{%5LK ziE7w%42nNYcvAA@O*7q-`K-gWN+EHZG!CiGXN|@B_IP|ml`Lu>40G}8KOa<_hNhhF z#J=4}{NH!Q(f}^{kWT|xY8RvdEVB!j22fR;25@(FqBH=hE&>U9p-Tf$?kdOuLQb(z zEj-Rr0V-O)XLtxRfkhY&h>5#fnE0sibW#GQ!WF8u1>2=w|ci1B{s2{ZtDs!Thl;vOQVIuK&a%q$<29Z#p{5aq)v`;sB_!CaRt|T_uY? zdB%NWT`O9@0NYB9Z!QP#H0g+TzaOFKyHFi-`Jir1^+?))SvPp;iEZNLj(Cm^eJa2liG;C-LS8>9Y^Mj+NXImD5tJ$!Y-{{>W1&1v+ za2anSV6!1Fg%t}k?3*O_WmkF_SVC&8w}L>*b_$hd*u|zET}V>(+O^&w@p|&u{j9#;PqU72bPIVOi_8 zogzX&)S|ByYZL<3Xw~gK4XPwG@Q3TIAva?NoE?R;rhukdttIsz!Yowp)(a0w>c8c7 zhHk%ii@A^Sr1`qFI0 z%N2*7T_*ExM@vUV=7ktQ4y^sUHOyeHNieqqPz?)}D(O)H-B75oFHfy{8fJbAwuNoq z(r^2yFfUK(TVqQ9#U?yaSLJH{1^OxEkZM}JCB%gfc7Vb~oj!X+Zkb=+SzH@iRJ&3yBv5 z2`7)--(kUF>PzRpyj)S4SJf3y0#AfFTn?CrV{y1}kFBuLmax~KhA$!8sjR;>t&hm# zRDS55oe$MKHGg;pzYB)n$#328RDLfQeha^64p;KKaQF@Uo<3a4FKd~fV%a5%Mvm^4 z3>|L-KH}9GQSlo9Tc$Hp_iNf;5iG2(xbI=+HhLNJOOKyq8v%|`)}zL`0_2F9g7}G; zkNWHEex7wbSpjhWH(lPtC9O42+NN+S+`8n~756_LG>qU?YF++R#r=N`mJb9UEQdm} zIqk|sA`ZuHvbj=i73TnDuPM*oP)0;AT>D4|IK8+uJ0*JYG^W#SJ7y#BJzhaaZlEI? zlvx0<9oa z{%P^^IQ?*<{goG%<5T_{_g5}Y^d)?h;}R-dbNTpfntoB~P?KY#G>ROTe}TTW*ZtSb zuqeII8y01DfniZ@7df)gWmPoryDQs3c$-5Wd$UBL8^*%Mi(ot6VBOAUqdECbcL<8Wish+dK8;XS80fQeWPdd}-v{aCC9|`7eK& zeEF-BA%MkuFFBNy+(OB{_vMwOT(gx!MZ{r05H9J1Dlaywtm_Te?x)D##iiK;qUA|3 zQDp^gnuIEy?S)_{G?taawbtef7yIbkm*9U5Ea2SXBj?dE8__zBNYD4*E&4tT)eanosb&-}8FM zt2ns{AAI(=*)yxMH&$lPEze%dq*CX*Rp+^-*~6k!OlU~B0U>!FqPai`oREoaoNLIP zU#a)ek1unM3u126^5Gv^&%(?+>tY`h=T*=36O<#z-jzcwgsDo^(ora4nU=hg7?LrXqczI8V_?Ha%Nj}F~w42+!{5+5B4&~GsKik&TMsK z+_o1v6YEcl#8FC?26g)~K247T=Q%J}3X3@2j#(N`&OMVEYIJ;-v7W|N!t%39vxh|M zPjWcPDEm#Ck|Ew_(ln`SM|2IgQmXQv==S)5MoEse7pTf_5WBBU2B{?`Oymv?5<>G@ zXp_(IDw3Cl`E^r+B~x0LpLAFPbg+H)fM(|A_tM#OX@JyVhKK@KX zcF=bGxsvc)oMab$LEFi8(N9>_WIMl6wt-ARz|M&Wi27aOw!1;{@Q%A-XJO-=sLQdm zmp5aX>!7v>{ekU0&m39m>!bf7ge0z+R;uDmziJ;ZUp=x6W)h?Pv|!29pkYeD3ghLK z*_J+sUg*6BB<`_D)+~9 zlJ4rM?oKfQ-c5IZrnx^e-Jcom&usT+misf${h8zbAieZ?wfnQk{Sh_r@FMqTvHP=B ze{7|}NVa9r2DU5PlCulKu_f9}iKKqFs(gB2Z?Y`|dT+&jS$pCuurm7e9A6wZ_Nywu z(J}+d&ObZj&3ZPo;Mrw=!o~_=8L@LBy82?)@J|g4=waql1iiAM>gl#G)qB?wHCX5S zM1vo-2B%r&8kTtJWAW0EW3&tO zK|FM^j+r=X0uqY!U;tW?o&&82!lc8YiL9Nv#w_RJ%@A!WOX6vILe*L;&`4>4W?0y0ZJ96?B2e=OHozl-L=d&@LP?*maXf6I0aaQ!y@ z-n*6GXbP%i*b?bMXTfK=BvCR~|)|D>#E^xK8 za#l<<>Ulv6J#AEo0LMpHcZma;hooRbVDpbmNyo#ZxhIyC>|a_cIv&N;a$fYi*E`oT zj%DP^sC?nIrO_c2Rg581LUHqqTYY7Y)8X=uM&K(H4zu@is&rh=eB;f6y7SLWbe?sl zp@t90R?2+VE=GdPD!bU_T_4nHDMkYgZ;tLU^+7gHLpZB@Ju-PU{8MPIPq=-H$7Nluji0|A41_f!=TTl3p{ zol0R-BMVkozsx2efd*BnvU1JRY|p@@V+7#L}?)5=}qot7Ey4ytF0HLTr<6)0eXQ_-gwjBy^+eWbUzm)1nNvV30} z<44=OC%b|^6Jw~6qH#egJxJT!_)0HobgRIS2)ig%GW-Dw;%~JcmBlr_pTMl9Us3qh zvc{dSH9kBkQ>Fz~O5v(q;Gfhkum>c=30pmmJR2y>bXPL-mbxf-6yzJBy}%qsn>ww{ zn!YGlryNoX(pAry>=G&l5+fS#D*7F9s%rm*q*VW`p=N=_=a(e$IJ&E;GecSdbpeVq6xjybOj>eT zqcAg-2%=x<{YI*YYC%cBY+YLjdExLAP%F7?tzOWPJFp`6 zp>DJ5H|u)sxnmIho3zp*rO*Z~dMU?!i@q?mwnxR;^5))cdIDs?12{pMC>AJ{N3#*d z0;5$Qu6;9+PLKL3MyZnMBey#@^^Cx}6lM-rA-6)`=B*9$E>Go!6qqMX5U1RVC$D5k^~VY~iO}NOMgu^;%qNAUnzH4M9tXJ`Dx7V7*mC1!x9d z&{+j#aRs+iLD*ttLwy&w)Ut`2=+F+Tw@X3gT>w1sQmkBR=HfuWb{)U!eC>!}4rbq^ zCk|B(LKcr=4?(fpuK_smP~t&E8?Lv`6K1qQs^-t$1elz9!sgq_;}5&X0&$|Xxap4Z z2pq=0*0Pb#l6`1@S9b|9O|6MK*OZosAN`~GI-j5(mk8r>8k&moEBA7~4=RSO0|W9x zNt0FZzaMePCEP*YG2<9RhZ!z$@SpkX#qZ{~iXH62+6DLWE(6=;JMBkibEw228L(J&b{dGUN9_OrPF1qf( z$tXBU2hVPC#R*^8>nDCDxATC7^RR=_uLiWk%2iBV=rp7gKP|2gN8JsodWl5Zp?&>j zzV^iqp_qqDO0JL;mZ;)}lY%Jjus<7SX&*U6lZVbKA1e+XA+_AvwkF?X*YxE^PaR z`k7<}-OqsH#HMQvuj0B0&-=Q>b@uR1NV$o>(P!VxP?Q+73`00w%HBR&6~DE2%RKHz zg4|GrwK4io_2uM|(UdZCE1F+&uyKaM;qk~Snpq|#nDLxsDbKK?uWa#qn<$@j)vWma zd`^24WWu)f1tT0_>1sT}wbVC!p6gZ^4pKT;pW|1U?-^#a`@j9_6eV%iBfo({`Q8eD z{U~*C(7pDx2uvlK&dJn-J3_74FZDGvNmxQ3w`OcNKKjG=kz*4SmRR-l~G4OESWh z^WZF*JbeFAd9d8tkCKUQ8Yd5Cq_ndnU)Ss`g1EqLnN-ZeRLzSZ1EymYD|qSlmCzN8 z&}qBJ+BY^?4)o>YKY#AsR-Uhz!F1N0lYg@#y;(XwrIeajT*BcfxYo@~8PI-+Xt3m0 zlvcFF`#$2|fWTGA@@u8x20WWzZe=gBYpJ_@r)#e^jWkOEdrjNvknDb?K?45p%RM{s=DWaKvKa%ZXW;Z5e*w&%n_R9Y# z7)d8(Z6u#>vXP`IY#*8835DIrXIkNmo;t>e0ZyXJ8in1b&^P+JSpGEi=s*fSRDA_F zvOUOjiNCNw^&IAQtb4w>fbGhN(XOtv(bSE#F1&)h(+hkf*mgn-F^*|?J1L%>?@&uH zu|yZq^pMVqvJPmU?srCA@APFIN^0ivW#tp4Z08s|+bW2_%ZlbN8bDd3fL+A8^6lZ> z3+`dqeuA-x7m$BB|%T;>)C=z$in@xX@YFk73Dv2cyz!P>2}70~Di)^4+lu3+tU zyXf(3MT*}Q7&+F9W!4Lm+-yVNA=AnMXrI2b7kQ*}reJ%Ex4 zz*a)|Io_9OV?q&N^gQYU&xH7LIht3asY|&drVmdk@Xvk7`msxx1MoTj2FE%#g^4n@ zdUJvIw-$c?T+#P)U+4RORGv<{SyQ!lc}o3>{E{;57QZtq#yJPmoKwo31`Pmh$+kGB zi9Q%K&m{u}!%Wo%an8oCh;tsvbxH;tE}UTRtLUPe#5oP2mGa~-Z$kT|p1db&HZM## zn5Rg_+wc)qnunUWAOEx6#X&i@k$y@-Yl)8&6vg^UnKLbH(I&{d)R3JeiMH1vm#eMlKMJXsNvNf+r%P@WIiB%>v)cvPnLT0nsOAlG6 zl}ud`)VyNpKJs640S%N!Z>Jj$J-vsxD_QB0mWO^mEAFfF6S^W>_ey?7$(Ql0W8V{5 z|L>Z}_AhH9Z{s>OktfCz8LYI?z;4B@Jw5%KxvY(}?sB`~Rjd(3s@>{k8u`}vGbgkp z-YzdmhAeK98ue-l3%#b>_oaT##$edCNu5fpvuQ72Y+i0-Qxo?%ILF*cofin-_8(5w zL53rAk6)aD z0OU%I4S$8xx3)PrwN_t&;B_O$EsSzBrbv384a=DrdEW$;NErZ)y`q#<7%_89zc zut>3zj^XKcxGpY{W1xvur!+=C_D9i0JV{#rl)k&mjv}@}ptI&|-Tu&Z#ypGkwAlYU z(fH}KQ#_U?l3{_tBmLAyMa}_|XsP6bltldk3a44ZO`Jq}+vmjQMuu%A3N;%zBq56R z%5Rf)U^GMrmI5c0K@uK(Rny@K_xEw8i(w9Wc5Ov z!77Q;t#>AuC)#j>W(yT}K*PlB7{!8dFmYs{g=Eg>1%}P-xgKv8-C?u?Hm5dP6Fozd zU0(&Ze`ab`UqVdJ8zL8tBUNq1t?x0kHQyQ)96To6=yN)(46EX9t*62QIQ0494>UbE zi6DuFjXNCyB2{GEu)lGAde|tued_j4c{;8snf~JAy@@#3jW~GKBTL94^R{oiN9ryY-?odvpz*(Sp<0vZ>9Zeld=sp8 zp%~UgifKegas1f$80>VI`Kubw{oP%1$ASesr)sS4Xd*11{$<8AGi;F{%6? z*BSeu8$uu)vwH4?Llm~1s2USNb03;w421*6bzBnp*aCfEqWtab(@537DZVWI&oF%{ z6IfYspWjdmrDDk|Oe9My>rfQPe%EnKT74kj9OoWPLI@Y|kPDcSQJWG0E>fRE*6;w6Mm^TY0VM#Faeh+%tHA1flZhBb}{B>he4AE|ymPkw&(E!}68PC7(* zFc_WEAm~rri7o=m`A(ej`kk=!-#ov=-zR;n5c|={IA_LVXj;Qc$vcPUQpCm#YUyI+ zB0+{S0%CkMjlT$A33q~#yD?|q(0zsx07xH|eMu1a2E?l4ql>PE{84ZwD^F+_DxnbB zPr^vp_QKkN@jtECMb-u=mmlxykvl+iHv?|hN4gNMzd=3rGSkwFqDyI)Ij^7T)*OYI z %<7Tdr0O)}wLJKP@fz;fPGCF5PuC& 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

*Tg)*A$L^V;C<@hb#1?+LR#0R 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 literal 0 HcmV?d00001 diff --git a/git2/include/git2.h b/git2/include/git2.h new file mode 100644 index 000000000..d75387318 --- /dev/null +++ b/git2/include/git2.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_git_git_h__ +#define INCLUDE_git_git_h__ + +#include "git2/version.h" + +#include "git2/common.h" +#include "git2/threads.h" +#include "git2/errors.h" + +#include "git2/types.h" + +#include "git2/oid.h" +#include "git2/signature.h" +#include "git2/odb.h" + +#include "git2/repository.h" +#include "git2/revwalk.h" +#include "git2/merge.h" +#include "git2/refs.h" +#include "git2/reflog.h" + +#include "git2/object.h" +#include "git2/blob.h" +#include "git2/commit.h" +#include "git2/tag.h" +#include "git2/tree.h" +#include "git2/diff.h" + +#include "git2/index.h" +#include "git2/config.h" +#include "git2/remote.h" + +#include "git2/refspec.h" +#include "git2/net.h" +#include "git2/status.h" +#include "git2/indexer.h" +#include "git2/submodule.h" +#include "git2/notes.h" + +#endif diff --git a/git2/include/git2/attr.h b/git2/include/git2/attr.h new file mode 100644 index 000000000..28ca3bc1c --- /dev/null +++ b/git2/include/git2/attr.h @@ -0,0 +1,224 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_attr_h__ +#define INCLUDE_git_attr_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/attr.h + * @brief Git attribute management routines + * @defgroup git_attr Git attribute management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * GIT_ATTR_TRUE checks if an attribute is set on. In core git + * parlance, this the value for "Set" attributes. + * + * For example, if the attribute file contains: + * + * *.c foo + * + * Then for file `xyz.c` looking up attribute "foo" gives a value for + * which `GIT_ATTR_TRUE(value)` is true. + */ +#define GIT_ATTR_TRUE(attr) ((attr) == git_attr__true) + +/** + * GIT_ATTR_FALSE checks if an attribute is set off. In core git + * parlance, this is the value for attributes that are "Unset" (not to + * be confused with values that a "Unspecified"). + * + * For example, if the attribute file contains: + * + * *.h -foo + * + * Then for file `zyx.h` looking up attribute "foo" gives a value for + * which `GIT_ATTR_FALSE(value)` is true. + */ +#define GIT_ATTR_FALSE(attr) ((attr) == git_attr__false) + +/** + * GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This + * may be due to the attribute not being mentioned at all or because + * the attribute was explicitly set unspecified via the `!` operator. + * + * For example, if the attribute file contains: + * + * *.c foo + * *.h -foo + * onefile.c !foo + * + * Then for `onefile.c` looking up attribute "foo" yields a value with + * `GIT_ATTR_UNSPECIFIED(value)` of true. Also, looking up "foo" on + * file `onefile.rb` or looking up "bar" on any file will all give + * `GIT_ATTR_UNSPECIFIED(value)` of true. + */ +#define GIT_ATTR_UNSPECIFIED(attr) (!(attr) || (attr) == git_attr__unset) + +/** + * GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as + * opposied to TRUE, FALSE or UNSPECIFIED). This would be the case if + * for a file with something like: + * + * *.txt eol=lf + * + * Given this, looking up "eol" for `onefile.txt` will give back the + * string "lf" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true. + */ +#define GIT_ATTR_HAS_VALUE(attr) \ + ((attr) && (attr) != git_attr__unset && \ + (attr) != git_attr__true && (attr) != git_attr__false) + +GIT_EXTERN(const char *) git_attr__true; +GIT_EXTERN(const char *) git_attr__false; +GIT_EXTERN(const char *) git_attr__unset; + +/** + * Check attribute flags: Reading values from index and working directory. + * + * When checking attributes, it is possible to check attribute files + * in both the working directory (if there is one) and the index (if + * there is one). You can explicitly choose where to check and in + * which order using the following flags. + * + * Core git usually checks the working directory then the index, + * except during a checkout when it checks the index first. It will + * use index only for creating archives or for a bare repo (if an + * index has been specified for the bare repo). + */ +#define GIT_ATTR_CHECK_FILE_THEN_INDEX 0 +#define GIT_ATTR_CHECK_INDEX_THEN_FILE 1 +#define GIT_ATTR_CHECK_INDEX_ONLY 2 + +/** + * Check attribute flags: Using the system attributes file. + * + * Normally, attribute checks include looking in the /etc (or system + * equivalent) directory for a `gitattributes` file. Passing this + * flag will cause attribute checks to ignore that file. + */ +#define GIT_ATTR_CHECK_NO_SYSTEM (1 << 2) + +/** + * Look up the value of one git attribute for path. + * + * @param value_out Output of the value of the attribute. Use the GIT_ATTR_... + * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just + * use the string value for attributes set to a value. You + * should NOT modify or free this value. + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path to check for attributes. Relative paths are + * interpreted relative to the repo root. The file does + * not have to exist, but if it does not, then it will be + * treated as a plain file (not a directory). + * @param name The name of the attribute to look up. + */ +GIT_EXTERN(int) git_attr_get( + const char **value_out, + git_repository *repo, + uint32_t flags, + const char *path, + const char *name); + +/** + * Look up a list of git attributes for path. + * + * Use this if you have a known list of attributes that you want to + * look up in a single call. This is somewhat more efficient than + * calling `git_attr_get()` multiple times. + * + * For example, you might write: + * + * const char *attrs[] = { "crlf", "diff", "foo" }; + * const char **values[3]; + * git_attr_get_many(values, repo, 0, "my/fun/file.c", 3, attrs); + * + * Then you could loop through the 3 values to get the settings for + * the three attributes you asked about. + * + * @param values An array of num_attr entries that will have string + * pointers written into it for the values of the attributes. + * You should not modify or free the values that are written + * into this array (although of course, you should free the + * array itself if you allocated it). + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path inside the repo to check attributes. This + * does not have to exist, but if it does not, then + * it will be treated as a plain file (i.e. not a directory). + * @param num_attr The number of attributes being looked up + * @param names An array of num_attr strings containing attribute names. + */ +GIT_EXTERN(int) git_attr_get_many( + const char **values_out, + git_repository *repo, + uint32_t flags, + const char *path, + size_t num_attr, + const char **names); + +/** + * Loop over all the git attributes for a path. + * + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path inside the repo to check attributes. This + * does not have to exist, but if it does not, then + * it will be treated as a plain file (i.e. not a directory). + * @param callback The function that will be invoked on each attribute + * and attribute value. The name parameter will be the name + * of the attribute and the value will be the value it is + * set to, including possibly NULL if the attribute is + * explicitly set to UNSPECIFIED using the ! sign. This + * will be invoked only once per attribute name, even if + * there are multiple rules for a given file. The highest + * priority rule will be used. + * @param payload Passed on as extra parameter to callback function. + */ +GIT_EXTERN(int) git_attr_foreach( + git_repository *repo, + uint32_t flags, + const char *path, + int (*callback)(const char *name, const char *value, void *payload), + void *payload); + +/** + * Flush the gitattributes cache. + * + * Call this if you have reason to believe that the attributes files on + * disk no longer match the cached contents of memory. This will cause + * the attributes files to be reloaded the next time that an attribute + * access function is called. + */ +GIT_EXTERN(void) git_attr_cache_flush( + git_repository *repo); + +/** + * Add a macro definition. + * + * Macros will automatically be loaded from the top level `.gitattributes` + * file of the repository (plus the build-in "binary" macro). This + * function allows you to add others. For example, to add the default + * macro, you would call: + * + * git_attr_add_macro(repo, "binary", "-diff -crlf"); + */ +GIT_EXTERN(int) git_attr_add_macro( + git_repository *repo, + const char *name, + const char *values); + +/** @} */ +GIT_END_DECL +#endif + diff --git a/git2/include/git2/blob.h b/git2/include/git2/blob.h new file mode 100644 index 000000000..551770678 --- /dev/null +++ b/git2/include/git2/blob.h @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_blob_h__ +#define INCLUDE_git_blob_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/blob.h + * @brief Git blob load and write routines + * @defgroup git_blob Git blob load and write routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a blob object from a repository. + * + * @param blob pointer to the looked up blob + * @param repo the repo to use when locating the blob. + * @param id identity of the blob to locate. + * @return 0 or an error code + */ +GIT_INLINE(int) git_blob_lookup(git_blob **blob, git_repository *repo, const git_oid *id) +{ + return git_object_lookup((git_object **)blob, repo, id, GIT_OBJ_BLOB); +} + +/** + * Lookup a blob object from a repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param blob pointer to the looked up blob + * @param repo the repo to use when locating the blob. + * @param id identity of the blob to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_INLINE(int) git_blob_lookup_prefix(git_blob **blob, git_repository *repo, const git_oid *id, unsigned int len) +{ + return git_object_lookup_prefix((git_object **)blob, repo, id, len, GIT_OBJ_BLOB); +} + +/** + * Close an open blob + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a blob. Failure to do so will cause a memory leak. + * + * @param blob the blob to close + */ + +GIT_INLINE(void) git_blob_free(git_blob *blob) +{ + git_object_free((git_object *) blob); +} + + +/** + * Get a read-only buffer with the raw content of a blob. + * + * A pointer to the raw content of a blob is returned; + * this pointer is owned internally by the object and shall + * not be free'd. The pointer may be invalidated at a later + * time. + * + * @param blob pointer to the blob + * @return the pointer; NULL if the blob has no contents + */ +GIT_EXTERN(const void *) git_blob_rawcontent(git_blob *blob); + +/** + * Get the size in bytes of the contents of a blob + * + * @param blob pointer to the blob + * @return size on bytes + */ +GIT_EXTERN(size_t) git_blob_rawsize(git_blob *blob); + +/** + * Read a file from the working folder of a repository + * and write it to the Object Database as a loose blob + * + * @param oid return the id of the written blob + * @param repo repository where the blob will be written. + * this repository cannot be bare + * @param path file from which the blob will be created, + * relative to the repository's working dir + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_fromfile(git_oid *oid, git_repository *repo, const char *path); + +/** + * Read a file from the filesystem and write its content + * to the Object Database as a loose blob + * + * @param oid return the id of the written blob + * @param repo repository where the blob will be written. + * this repository can be bare or not + * @param path file from which the blob will be created + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_fromdisk(git_oid *oid, git_repository *repo, const char *path); + + +/** + * Write an in-memory buffer to the ODB as a blob + * + * @param oid return the oid of the written blob + * @param repo repository where to blob will be written + * @param buffer data to be written into the blob + * @param len length of the data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_frombuffer(git_oid *oid, git_repository *repo, const void *buffer, size_t len); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/branch.h b/git2/include/git2/branch.h new file mode 100644 index 000000000..e2432bcfc --- /dev/null +++ b/git2/include/git2/branch.h @@ -0,0 +1,122 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_branch_h__ +#define INCLUDE_git_branch_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/branch.h + * @brief Git branch parsing routines + * @defgroup git_branch Git branch management + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new branch pointing at a target commit + * + * A new direct reference will be created pointing to + * this target commit. If `force` is true and a reference + * already exists with the given name, it'll be replaced. + * + * @param oid_out Pointer where to store the OID of the target commit. + * + * @param repo Repository where to store the branch. + * + * @param branch_name Name for the branch; this name is + * validated for consistency. It should also not conflict with + * an already existing branch name. + * + * @param target Object to which this branch should point. This object + * must belong to the given `repo` and can either be a git_commit or a + * git_tag. When a git_tag is being passed, it should be dereferencable + * to a git_commit which oid will be used as the target of the branch. + * + * @param force Overwrite existing branch. + * + * @return 0 or an error code. + * A proper reference is written in the refs/heads namespace + * pointing to the provided target commit. + */ +GIT_EXTERN(int) git_branch_create( + git_oid *oid_out, + git_repository *repo, + const char *branch_name, + const git_object *target, + int force); + +/** + * Delete an existing branch reference. + * + * @param repo Repository where lives the branch. + * + * @param branch_name Name of the branch to be deleted; + * this name is validated for consistency. + * + * @param branch_type Type of the considered branch. This should + * be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE. + * + * @return 0 on success, GIT_ENOTFOUND if the branch + * doesn't exist or an error code. + */ +GIT_EXTERN(int) git_branch_delete( + git_repository *repo, + const char *branch_name, + git_branch_t branch_type); + +/** + * Fill a list with all the branches in the Repository + * + * The string array will be filled with the names of the + * matching branches; these values are owned by the user and + * should be free'd manually when no longer needed, using + * `git_strarray_free`. + * + * @param branch_names Pointer to a git_strarray structure + * where the branch names will be stored. + * + * @param repo Repository where to find the branches. + * + * @param list_flags Filtering flags for the branch + * listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE + * or a combination of the two. + * + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_branch_list( + git_strarray *branch_names, + git_repository *repo, + unsigned int list_flags); + +/** + * Move/rename an existing branch reference. + * + * @param repo Repository where lives the branch. + * + * @param old_branch_name Current name of the branch to be moved; + * this name is validated for consistency. + * + * @param new_branch_name Target name of the branch once the move + * is performed; this name is validated for consistency. + * + * @param force Overwrite existing branch. + * + * @return 0 on success, GIT_ENOTFOUND if the branch + * doesn't exist or an error code. + */ +GIT_EXTERN(int) git_branch_move( + git_repository *repo, + const char *old_branch_name, + const char *new_branch_name, + int force); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/commit.h b/git2/include/git2/commit.h new file mode 100644 index 000000000..a6d9bb0e3 --- /dev/null +++ b/git2/include/git2/commit.h @@ -0,0 +1,270 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_commit_h__ +#define INCLUDE_git_commit_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/commit.h + * @brief Git commit parsing, formatting routines + * @defgroup git_commit Git commit parsing, formatting routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a commit object from a repository. + * + * @param commit pointer to the looked up commit + * @param repo the repo to use when locating the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @return 0 or an error code + */ +GIT_INLINE(int) git_commit_lookup(git_commit **commit, git_repository *repo, const git_oid *id) +{ + return git_object_lookup((git_object **)commit, repo, id, GIT_OBJ_COMMIT); +} + +/** + * Lookup a commit object from a repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param commit pointer to the looked up commit + * @param repo the repo to use when locating the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_INLINE(int) git_commit_lookup_prefix(git_commit **commit, git_repository *repo, const git_oid *id, unsigned len) +{ + return git_object_lookup_prefix((git_object **)commit, repo, id, len, GIT_OBJ_COMMIT); +} + +/** + * Close an open commit + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a commit. Failure to do so will cause a memory leak. + * + * @param commit the commit to close + */ + +GIT_INLINE(void) git_commit_free(git_commit *commit) +{ + git_object_free((git_object *) commit); +} + +/** + * Get the id of a commit. + * + * @param commit a previously loaded commit. + * @return object identity for the commit. + */ +GIT_EXTERN(const git_oid *) git_commit_id(git_commit *commit); + +/** + * Get the encoding for the message of a commit, + * as a string representing a standard encoding name. + * + * The encoding may be NULL if the `encoding` header + * in the commit is missing; in that case UTF-8 is assumed. + * + * @param commit a previously loaded commit. + * @return NULL, or the encoding + */ +GIT_EXTERN(const char *) git_commit_message_encoding(git_commit *commit); + +/** + * Get the full message of a commit. + * + * @param commit a previously loaded commit. + * @return the message of a commit + */ +GIT_EXTERN(const char *) git_commit_message(git_commit *commit); + +/** + * Get the commit time (i.e. committer time) of a commit. + * + * @param commit a previously loaded commit. + * @return the time of a commit + */ +GIT_EXTERN(git_time_t) git_commit_time(git_commit *commit); + +/** + * Get the commit timezone offset (i.e. committer's preferred timezone) of a commit. + * + * @param commit a previously loaded commit. + * @return positive or negative timezone offset, in minutes from UTC + */ +GIT_EXTERN(int) git_commit_time_offset(git_commit *commit); + +/** + * Get the committer of a commit. + * + * @param commit a previously loaded commit. + * @return the committer of a commit + */ +GIT_EXTERN(const git_signature *) git_commit_committer(git_commit *commit); + +/** + * Get the author of a commit. + * + * @param commit a previously loaded commit. + * @return the author of a commit + */ +GIT_EXTERN(const git_signature *) git_commit_author(git_commit *commit); + +/** + * Get the tree pointed to by a commit. + * + * @param tree_out pointer where to store the tree object + * @param commit a previously loaded commit. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_tree(git_tree **tree_out, git_commit *commit); + +/** + * Get the id of the tree pointed to by a commit. This differs from + * `git_commit_tree` in that no attempts are made to fetch an object + * from the ODB. + * + * @param commit a previously loaded commit. + * @return the id of tree pointed to by commit. + */ +GIT_EXTERN(const git_oid *) git_commit_tree_oid(git_commit *commit); + +/** + * Get the number of parents of this commit + * + * @param commit a previously loaded commit. + * @return integer of count of parents + */ +GIT_EXTERN(unsigned int) git_commit_parentcount(git_commit *commit); + +/** + * Get the specified parent of the commit. + * + * @param parent Pointer where to store the parent commit + * @param commit a previously loaded commit. + * @param n the position of the parent (from 0 to `parentcount`) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_parent(git_commit **parent, git_commit *commit, unsigned int n); + +/** + * Get the oid of a specified parent for a commit. This is different from + * `git_commit_parent`, which will attempt to load the parent commit from + * the ODB. + * + * @param commit a previously loaded commit. + * @param n the position of the parent (from 0 to `parentcount`) + * @return the id of the parent, NULL on error. + */ +GIT_EXTERN(const git_oid *) git_commit_parent_oid(git_commit *commit, unsigned int n); + +/** + * Create a new commit in the repository using `git_object` + * instances as parameters. + * + * The message will be cleaned up from excess whitespace + * it will be made sure that the last line ends with a '\n'. + * + * @param oid Pointer where to store the OID of the + * newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. + * + * @param author Signature representing the author and the authory + * time of this commit + * + * @param committer Signature representing the committer and the + * commit time of this commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents[] Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create( + git_oid *oid, + git_repository *repo, + const char *update_ref, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message, + const git_tree *tree, + int parent_count, + const git_commit *parents[]); + +/** + * Create a new commit in the repository using a variable + * argument list. + * + * The message will be cleaned up from excess whitespace + * it will be made sure that the last line ends with a '\n'. + * + * The parents for the commit are specified as a variable + * list of pointers to `const git_commit *`. Note that this + * is a convenience method which may not be safe to export + * for certain languages or compilers + * + * All other parameters remain the same + * + * @see git_commit_create + */ +GIT_EXTERN(int) git_commit_create_v( + git_oid *oid, + git_repository *repo, + const char *update_ref, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message, + const git_tree *tree, + int parent_count, + ...); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/common.h b/git2/include/git2/common.h new file mode 100644 index 000000000..0e9379804 --- /dev/null +++ b/git2/include/git2/common.h @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_common_h__ +#define INCLUDE_git_common_h__ + +#include +#include + +#ifdef _MSC_VER +# include "inttypes.h" +#else +# include +#endif + +#ifdef __cplusplus +# define GIT_BEGIN_DECL extern "C" { +# define GIT_END_DECL } +#else + /** Start declarations in C mode */ +# define GIT_BEGIN_DECL /* empty */ + /** End declarations in C mode */ +# define GIT_END_DECL /* empty */ +#endif + +/** Declare a public function exported for application use. */ +#if __GNUC__ >= 4 +# define GIT_EXTERN(type) extern \ + __attribute__((visibility("default"))) \ + type +#elif defined(_MSC_VER) +# define GIT_EXTERN(type) __declspec(dllexport) type +#else +# define GIT_EXTERN(type) extern type +#endif + +/** Declare a function as always inlined. */ +#if defined(_MSC_VER) +# define GIT_INLINE(type) static __inline type +#else +# define GIT_INLINE(type) static inline type +#endif + +/** Declare a function's takes printf style arguments. */ +#ifdef __GNUC__ +# define GIT_FORMAT_PRINTF(a,b) __attribute__((format (printf, a, b))) +#else +# define GIT_FORMAT_PRINTF(a,b) /* empty */ +#endif + +#if (defined(_WIN32)) && !defined(__CYGWIN__) +#define GIT_WIN32 1 +#endif + +/** + * @file git2/common.h + * @brief Git common platform definitions + * @defgroup git_common Git common platform definitions + * @ingroup Git + * @{ + */ + +GIT_BEGIN_DECL + +/** + * The separator used in path list strings (ie like in the PATH + * environment variable). A semi-colon ";" is used on Windows, and + * a colon ":" for all other systems. + */ +#ifdef GIT_WIN32 +#define GIT_PATH_LIST_SEPARATOR ';' +#else +#define GIT_PATH_LIST_SEPARATOR ':' +#endif + +/** + * The maximum length of a valid git path. + */ +#define GIT_PATH_MAX 4096 + +typedef struct { + char **strings; + size_t count; +} git_strarray; + +GIT_EXTERN(void) git_strarray_free(git_strarray *array); +GIT_EXTERN(int) git_strarray_copy(git_strarray *tgt, const git_strarray *src); + +/** + * Return the version of the libgit2 library + * being currently used. + * + * @param major Store the major version number + * @param minor Store the minor version number + * @param rev Store the revision (patch) number + */ +GIT_EXTERN(void) git_libgit2_version(int *major, int *minor, int *rev); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/config.h b/git2/include/git2/config.h new file mode 100644 index 000000000..36946c4a5 --- /dev/null +++ b/git2/include/git2/config.h @@ -0,0 +1,356 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_config_h__ +#define INCLUDE_git_config_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/config.h + * @brief Git config management routines + * @defgroup git_config Git config management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Generic backend that implements the interface to + * access a configuration file + */ +struct git_config_file { + struct git_config *cfg; + + /* Open means open the file/database and parse if necessary */ + int (*open)(struct git_config_file *); + int (*get)(struct git_config_file *, const char *key, const char **value); + int (*get_multivar)(struct git_config_file *, const char *key, const char *regexp, int (*fn)(const char *, void *), void *data); + int (*set)(struct git_config_file *, const char *key, const char *value); + int (*set_multivar)(git_config_file *cfg, const char *name, const char *regexp, const char *value); + int (*del)(struct git_config_file *, const char *key); + int (*foreach)(struct git_config_file *, int (*fn)(const char *, const char *, void *), void *data); + void (*free)(struct git_config_file *); +}; + +typedef enum { + GIT_CVAR_FALSE = 0, + GIT_CVAR_TRUE = 1, + GIT_CVAR_INT32, + GIT_CVAR_STRING +} git_cvar_t; + +typedef struct { + git_cvar_t cvar_type; + const char *str_match; + int map_value; +} git_cvar_map; + +/** + * Locate the path to the global configuration file + * + * The user or global configuration file is usually + * located in `$HOME/.gitconfig`. + * + * This method will try to guess the full path to that + * file, if the file exists. The returned path + * may be used on any `git_config` call to load the + * global configuration file. + * + * @param global_config_path Buffer of GIT_PATH_MAX length to store the path + * @return 0 if a global configuration file has been + * found. Its path will be stored in `buffer`. + */ +GIT_EXTERN(int) git_config_find_global(char *global_config_path, size_t length); + +/** + * Locate the path to the system configuration file + * + * If /etc/gitconfig doesn't exist, it will look for + * %PROGRAMFILES%\Git\etc\gitconfig. + + * @param system_config_path Buffer of GIT_PATH_MAX length to store the path + * @return 0 if a system configuration file has been + * found. Its path will be stored in `buffer`. + */ +GIT_EXTERN(int) git_config_find_system(char *system_config_path, size_t length); + +/** + * Open the global configuration file + * + * Utility wrapper that calls `git_config_find_global` + * and opens the located file, if it exists. + * + * @param out Pointer to store the config instance + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_open_global(git_config **out); + +/** + * Create a configuration file backend for ondisk files + * + * These are the normal `.gitconfig` files that Core Git + * processes. Note that you first have to add this file to a + * configuration object before you can query it for configuration + * variables. + * + * @param out the new backend + * @param path where the config file is located + */ +GIT_EXTERN(int) git_config_file__ondisk(struct git_config_file **out, const char *path); + +/** + * Allocate a new configuration object + * + * This object is empty, so you have to add a file to it before you + * can do anything with it. + * + * @param out pointer to the new configuration + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_new(git_config **out); + +/** + * Add a generic config file instance to an existing config + * + * Note that the configuration object will free the file + * automatically. + * + * Further queries on this config object will access each + * of the config file instances in order (instances with + * a higher priority will be accessed first). + * + * @param cfg the configuration to add the file to + * @param file the configuration file (backend) to add + * @param priority the priority the backend should have + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_add_file(git_config *cfg, git_config_file *file, int priority); + +/** + * Add an on-disk config file instance to an existing config + * + * The on-disk file pointed at by `path` will be opened and + * parsed; it's expected to be a native Git config file following + * the default Git config syntax (see man git-config). + * + * Note that the configuration object will free the file + * automatically. + * + * Further queries on this config object will access each + * of the config file instances in order (instances with + * a higher priority will be accessed first). + * + * @param cfg the configuration to add the file to + * @param path path to the configuration file (backend) to add + * @param priority the priority the backend should have + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_add_file_ondisk(git_config *cfg, const char *path, int priority); + + +/** + * Create a new config instance containing a single on-disk file + * + * This method is a simple utility wrapper for the following sequence + * of calls: + * - git_config_new + * - git_config_add_file_ondisk + * + * @param cfg The configuration instance to create + * @param path Path to the on-disk file to open + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_open_ondisk(git_config **cfg, const char *path); + +/** + * Free the configuration and its associated memory and files + * + * @param cfg the configuration to free + */ +GIT_EXTERN(void) git_config_free(git_config *cfg); + +/** + * Get the value of an integer config variable. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_int32(int32_t *out, git_config *cfg, const char *name); + +/** + * Get the value of a long integer config variable. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_int64(int64_t *out, git_config *cfg, const char *name); + +/** + * Get the value of a boolean config variable. + * + * This function uses the usual C convention of 0 being false and + * anything else true. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_bool(int *out, git_config *cfg, const char *name); + +/** + * Get the value of a string config variable. + * + * The string is owned by the variable and should not be freed by the + * user. + * + * @param out pointer to the variable's value + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_string(const char **out, git_config *cfg, const char *name); + +/** + * Get each value of a multivar. + * + * The callback will be called on each variable found + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp regular expression to filter which variables we're + * interested in. Use NULL to indicate all + * @param fn the function to be called on each value of the variable + * @param data opaque pointer to pass to the callback + */ +GIT_EXTERN(int) git_config_get_multivar(git_config *cfg, const char *name, const char *regexp, int (*fn)(const char *, void *), void *data); + +/** + * Set the value of an integer config variable. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value Integer value for the variable + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_int32(git_config *cfg, const char *name, int32_t value); + +/** + * Set the value of a long integer config variable. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value Long integer value for the variable + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_int64(git_config *cfg, const char *name, int64_t value); + +/** + * Set the value of a boolean config variable. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value the value to store + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_bool(git_config *cfg, const char *name, int value); + +/** + * Set the value of a string config variable. + * + * A copy of the string is made and the user is free to use it + * afterwards. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value the string to store. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_string(git_config *cfg, const char *name, const char *value); + + +/** + * Set a multivar + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp a regular expression to indicate which values to replace + * @param value the new value. + */ +GIT_EXTERN(int) git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value); + +/** + * Delete a config variable + * + * @param cfg the configuration + * @param name the variable to delete + */ +GIT_EXTERN(int) git_config_delete(git_config *cfg, const char *name); + +/** + * Perform an operation on each config variable. + * + * The callback receives the normalized name and value of each variable + * in the config backend, and the data pointer passed to this function. + * As soon as one of the callback functions returns something other than 0, + * this function returns that value. + * + * @param cfg where to get the variables from + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 or the return value of the callback which didn't return 0 + */ +GIT_EXTERN(int) git_config_foreach( + git_config *cfg, + int (*callback)(const char *var_name, const char *value, void *payload), + void *payload); + + +/** + * Query the value of a config variable and return it mapped to + * an integer constant. + * + * This is a helper method to easily map different possible values + * to a variable to integer constants that easily identify them. + * + * A mapping array looks as follows: + * + * git_cvar_map autocrlf_mapping[3] = { + * {GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE}, + * {GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE}, + * {GIT_CVAR_STRING, "input", GIT_AUTO_CRLF_INPUT}, + * {GIT_CVAR_STRING, "default", GIT_AUTO_CRLF_DEFAULT}}; + * + * On any "false" value for the variable (e.g. "false", "FALSE", "no"), the + * mapping will store `GIT_AUTO_CRLF_FALSE` in the `out` parameter. + * + * The same thing applies for any "true" value such as "true", "yes" or "1", storing + * the `GIT_AUTO_CRLF_TRUE` variable. + * + * Otherwise, if the value matches the string "input" (with case insensitive comparison), + * the given constant will be stored in `out`, and likewise for "default". + * + * If not a single match can be made to store in `out`, an error code will be + * returned. + * + * @param out place to store the result of the mapping + * @param cfg config file to get the variables from + * @param name name of the config variable to lookup + * @param maps array of `git_cvar_map` objects specifying the possible mappings + * @param map_n number of mapping objects in `maps` + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_config_get_mapped(int *out, git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/diff.h b/git2/include/git2/diff.h new file mode 100644 index 000000000..bafe6268c --- /dev/null +++ b/git2/include/git2/diff.h @@ -0,0 +1,362 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_diff_h__ +#define INCLUDE_git_diff_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "tree.h" +#include "refs.h" + +/** + * @file git2/diff.h + * @brief Git tree and file differencing routines. + * + * Calculating diffs is generally done in two phases: building a diff list + * then traversing the diff list. This makes is easier to share logic + * across the various types of diffs (tree vs tree, workdir vs index, etc.), + * and also allows you to insert optional diff list post-processing phases, + * such as rename detected, in between the steps. When you are done with a + * diff list object, it must be freed. + * + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +enum { + GIT_DIFF_NORMAL = 0, + GIT_DIFF_REVERSE = (1 << 0), + GIT_DIFF_FORCE_TEXT = (1 << 1), + GIT_DIFF_IGNORE_WHITESPACE = (1 << 2), + GIT_DIFF_IGNORE_WHITESPACE_CHANGE = (1 << 3), + GIT_DIFF_IGNORE_WHITESPACE_EOL = (1 << 4), + GIT_DIFF_IGNORE_SUBMODULES = (1 << 5), + GIT_DIFF_PATIENCE = (1 << 6), + GIT_DIFF_INCLUDE_IGNORED = (1 << 7), + GIT_DIFF_INCLUDE_UNTRACKED = (1 << 8), + GIT_DIFF_INCLUDE_UNMODIFIED = (1 << 9), + GIT_DIFF_RECURSE_UNTRACKED_DIRS = (1 << 10), +}; + +/** + * Structure describing options about how the diff should be executed. + * + * Setting all values of the structure to zero will yield the default + * values. Similarly, passing NULL for the options structure will + * give the defaults. The default values are marked below. + * + * @todo Most of the parameters here are not actually supported at this time. + */ +typedef struct { + uint32_t flags; /**< defaults to GIT_DIFF_NORMAL */ + uint16_t context_lines; /**< defaults to 3 */ + uint16_t interhunk_lines; /**< defaults to 3 */ + char *old_prefix; /**< defaults to "a" */ + char *new_prefix; /**< defaults to "b" */ + git_strarray pathspec; /**< defaults to show all paths */ +} git_diff_options; + +/** + * The diff list object that contains all individual file deltas. + */ +typedef struct git_diff_list git_diff_list; + +enum { + GIT_DIFF_FILE_VALID_OID = (1 << 0), + GIT_DIFF_FILE_FREE_PATH = (1 << 1), + GIT_DIFF_FILE_BINARY = (1 << 2), + GIT_DIFF_FILE_NOT_BINARY = (1 << 3), + GIT_DIFF_FILE_FREE_DATA = (1 << 4), + GIT_DIFF_FILE_UNMAP_DATA = (1 << 5) +}; + +/** + * What type of change is described by a git_diff_delta? + */ +typedef enum { + GIT_DELTA_UNMODIFIED = 0, + GIT_DELTA_ADDED = 1, + GIT_DELTA_DELETED = 2, + GIT_DELTA_MODIFIED = 3, + GIT_DELTA_RENAMED = 4, + GIT_DELTA_COPIED = 5, + GIT_DELTA_IGNORED = 6, + GIT_DELTA_UNTRACKED = 7 +} git_delta_t; + +/** + * Description of one side of a diff. + */ +typedef struct { + git_oid oid; + char *path; + uint16_t mode; + git_off_t size; + unsigned int flags; +} git_diff_file; + +/** + * Description of changes to one file. + * + * When iterating over a diff list object, this will generally be passed to + * most callback functions and you can use the contents to understand + * exactly what has changed. + * + * Under some circumstances, not all fields will be filled in, but the code + * generally tries to fill in as much as possible. One example is that the + * "binary" field will not actually look at file contents if you do not + * pass in hunk and/or line callbacks to the diff foreach iteration function. + * It will just use the git attributes for those files. + */ +typedef struct { + git_diff_file old_file; + git_diff_file new_file; + git_delta_t status; + unsigned int similarity; /**< for RENAMED and COPIED, value 0-100 */ + int binary; +} git_diff_delta; + +/** + * When iterating over a diff, callback that will be made per file. + */ +typedef int (*git_diff_file_fn)( + void *cb_data, + git_diff_delta *delta, + float progress); + +/** + * Structure describing a hunk of a diff. + */ +typedef struct { + int old_start; + int old_lines; + int new_start; + int new_lines; +} git_diff_range; + +/** + * When iterating over a diff, callback that will be made per hunk. + */ +typedef int (*git_diff_hunk_fn)( + void *cb_data, + git_diff_delta *delta, + git_diff_range *range, + const char *header, + size_t header_len); + +/** + * Line origin constants. + * + * These values describe where a line came from and will be passed to + * the git_diff_data_fn when iterating over a diff. There are some + * special origin contants at the end that are used for the text + * output callbacks to demarcate lines that are actually part of + * the file or hunk headers. + */ +enum { + /* these values will be sent to `git_diff_data_fn` along with the line */ + GIT_DIFF_LINE_CONTEXT = ' ', + GIT_DIFF_LINE_ADDITION = '+', + GIT_DIFF_LINE_DELETION = '-', + GIT_DIFF_LINE_ADD_EOFNL = '\n', /**< LF was added at end of file */ + GIT_DIFF_LINE_DEL_EOFNL = '\0', /**< LF was removed at end of file */ + /* these values will only be sent to a `git_diff_data_fn` when the content + * of a diff is being formatted (eg. through git_diff_print_patch() or + * git_diff_print_compact(), for instance). + */ + GIT_DIFF_LINE_FILE_HDR = 'F', + GIT_DIFF_LINE_HUNK_HDR = 'H', + GIT_DIFF_LINE_BINARY = 'B' +}; + +/** + * When iterating over a diff, callback that will be made per text diff + * line. In this context, the provided range will be NULL. + * + * When printing a diff, callback that will be made to output each line + * of text. This uses some extra GIT_DIFF_LINE_... constants for output + * of lines of file and hunk headers. + */ +typedef int (*git_diff_data_fn)( + void *cb_data, + git_diff_delta *delta, + git_diff_range *range, + char line_origin, /**< GIT_DIFF_LINE_... value from above */ + const char *content, + size_t content_len); + +/** @name Diff List Generator Functions + * + * These are the functions you would use to create (or destroy) a + * git_diff_list from various objects in a repository. + */ +/**@{*/ + +/** + * Deallocate a diff list. + */ +GIT_EXTERN(void) git_diff_list_free(git_diff_list *diff); + +/** + * Compute a difference between two tree objects. + * + * @param repo The repository containing the trees. + * @param opts Structure with options to influence diff or NULL for defaults. + * @param old_tree A git_tree object to diff from. + * @param new_tree A git_tree object to diff to. + * @param diff A pointer to a git_diff_list pointer that will be allocated. + */ +GIT_EXTERN(int) git_diff_tree_to_tree( + git_repository *repo, + const git_diff_options *opts, /**< can be NULL for defaults */ + git_tree *old_tree, + git_tree *new_tree, + git_diff_list **diff); + +/** + * Compute a difference between a tree and the index. + * + * @param repo The repository containing the tree and index. + * @param opts Structure with options to influence diff or NULL for defaults. + * @param old_tree A git_tree object to diff from. + * @param diff A pointer to a git_diff_list pointer that will be allocated. + */ +GIT_EXTERN(int) git_diff_index_to_tree( + git_repository *repo, + const git_diff_options *opts, /**< can be NULL for defaults */ + git_tree *old_tree, + git_diff_list **diff); + +/** + * Compute a difference between the working directory and the index. + * + * @param repo The repository. + * @param opts Structure with options to influence diff or NULL for defaults. + * @param diff A pointer to a git_diff_list pointer that will be allocated. + */ +GIT_EXTERN(int) git_diff_workdir_to_index( + git_repository *repo, + const git_diff_options *opts, /**< can be NULL for defaults */ + git_diff_list **diff); + +/** + * Compute a difference between the working directory and a tree. + * + * This returns strictly the differences between the tree and the + * files contained in the working directory, regardless of the state + * of files in the index. There is no direct equivalent in C git. + * + * This is *NOT* the same as 'git diff HEAD' or 'git diff '. Those + * commands diff the tree, the index, and the workdir. To emulate those + * functions, call `git_diff_index_to_tree` and `git_diff_workdir_to_index`, + * then call `git_diff_merge` on the results. + * + * @param repo The repository containing the tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @param old_tree A git_tree object to diff from. + * @param diff A pointer to a git_diff_list pointer that will be allocated. + */ +GIT_EXTERN(int) git_diff_workdir_to_tree( + git_repository *repo, + const git_diff_options *opts, /**< can be NULL for defaults */ + git_tree *old_tree, + git_diff_list **diff); + +/** + * Merge one diff list into another. + * + * This merges items from the "from" list into the "onto" list. The + * resulting diff list will have all items that appear in either list. + * If an item appears in both lists, then it will be "merged" to appear + * as if the old version was from the "onto" list and the new version + * is from the "from" list (with the exception that if the item has a + * pending DELETE in the middle, then it will show as deleted). + * + * @param onto Diff to merge into. + * @param from Diff to merge. + */ +GIT_EXTERN(int) git_diff_merge( + git_diff_list *onto, + const git_diff_list *from); + +/**@}*/ + + +/** @name Diff List Processor Functions + * + * These are the functions you apply to a diff list to process it + * or read it in some way. + */ +/**@{*/ + +/** + * Iterate over a diff list issuing callbacks. + * + * If the hunk and/or line callbacks are not NULL, then this will calculate + * text diffs for all files it thinks are not binary. If those are both + * NULL, then this will not bother with the text diffs, so it can be + * efficient. + */ +GIT_EXTERN(int) git_diff_foreach( + git_diff_list *diff, + void *cb_data, + git_diff_file_fn file_cb, + git_diff_hunk_fn hunk_cb, + git_diff_data_fn line_cb); + +/** + * Iterate over a diff generating text output like "git diff --name-status". + */ +GIT_EXTERN(int) git_diff_print_compact( + git_diff_list *diff, + void *cb_data, + git_diff_data_fn print_cb); + +/** + * Iterate over a diff generating text output like "git diff". + * + * This is a super easy way to generate a patch from a diff. + */ +GIT_EXTERN(int) git_diff_print_patch( + git_diff_list *diff, + void *cb_data, + git_diff_data_fn print_cb); + +/**@}*/ + + +/* + * Misc + */ + +/** + * Directly run a text diff on two blobs. + * + * Compared to a file, a blob lacks some contextual information. As such, the + * `git_diff_file` parameters of the callbacks will be filled accordingly to the following: + * `mode` will be set to 0, `path` will be set to NULL. When dealing with a NULL blob, `oid` + * will be set to 0. + * + * When at least one of the blobs being dealt with is binary, the `git_diff_delta` binary + * attribute will be set to 1 and no call to the hunk_cb nor line_cb will be made. + */ +GIT_EXTERN(int) git_diff_blobs( + git_blob *old_blob, + git_blob *new_blob, + git_diff_options *options, + void *cb_data, + git_diff_file_fn file_cb, + git_diff_hunk_fn hunk_cb, + git_diff_data_fn line_cb); + +GIT_END_DECL + +/** @} */ + +#endif diff --git a/git2/include/git2/errors.h b/git2/include/git2/errors.h new file mode 100644 index 000000000..fb6670004 --- /dev/null +++ b/git2/include/git2/errors.h @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_errors_h__ +#define INCLUDE_git_errors_h__ + +#include "common.h" + +/** + * @file git2/errors.h + * @brief Git error handling routines and variables + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +#ifdef GIT_OLD_ERRORS +enum { + GIT_SUCCESS = 0, + GIT_ENOTOID = -2, + GIT_ENOTFOUND = -3, + GIT_ENOMEM = -4, + GIT_EOSERR = -5, + GIT_EOBJTYPE = -6, + GIT_ENOTAREPO = -7, + GIT_EINVALIDTYPE = -8, + GIT_EMISSINGOBJDATA = -9, + GIT_EPACKCORRUPTED = -10, + GIT_EFLOCKFAIL = -11, + GIT_EZLIB = -12, + GIT_EBUSY = -13, + GIT_EBAREINDEX = -14, + GIT_EINVALIDREFNAME = -15, + GIT_EREFCORRUPTED = -16, + GIT_ETOONESTEDSYMREF = -17, + GIT_EPACKEDREFSCORRUPTED = -18, + GIT_EINVALIDPATH = -19, + GIT_EREVWALKOVER = -20, + GIT_EINVALIDREFSTATE = -21, + GIT_ENOTIMPLEMENTED = -22, + GIT_EEXISTS = -23, + GIT_EOVERFLOW = -24, + GIT_ENOTNUM = -25, + GIT_ESTREAM = -26, + GIT_EINVALIDARGS = -27, + GIT_EOBJCORRUPTED = -28, + GIT_EAMBIGUOUS = -29, + GIT_EPASSTHROUGH = -30, + GIT_ENOMATCH = -31, + GIT_ESHORTBUFFER = -32, +}; +#endif + +/** Generic return codes */ +enum { + GIT_OK = 0, + GIT_ERROR = -1, + GIT_ENOTFOUND = -3, + GIT_EEXISTS = -4, + GIT_EAMBIGUOUS = -5, + GIT_EBUFS = -6, + + GIT_PASSTHROUGH = -30, + GIT_REVWALKOVER = -31, +}; + +typedef struct { + char *message; + int klass; +} git_error; + +typedef enum { + GITERR_NOMEMORY, + GITERR_OS, + GITERR_INVALID, + GITERR_REFERENCE, + GITERR_ZLIB, + GITERR_REPOSITORY, + GITERR_CONFIG, + GITERR_REGEX, + GITERR_ODB, + GITERR_INDEX, + GITERR_OBJECT, + GITERR_NET, + GITERR_TAG, + GITERR_TREE, + GITERR_INDEXER, +} git_error_t; + +/** + * Return the last `git_error` object that was generated for the + * current thread or NULL if no error has occurred. + * + * @return A git_error object. + */ +GIT_EXTERN(const git_error *) giterr_last(void); + +/** + * Clear the last library error that occurred for this thread. + */ +GIT_EXTERN(void) giterr_clear(void); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/index.h b/git2/include/git2/index.h new file mode 100644 index 000000000..6a42c8515 --- /dev/null +++ b/git2/include/git2/index.h @@ -0,0 +1,321 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_index_h__ +#define INCLUDE_git_index_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/index.h + * @brief Git index parsing and manipulation routines + * @defgroup git_index Git index parsing and manipulation routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +#define GIT_IDXENTRY_NAMEMASK (0x0fff) +#define GIT_IDXENTRY_STAGEMASK (0x3000) +#define GIT_IDXENTRY_EXTENDED (0x4000) +#define GIT_IDXENTRY_VALID (0x8000) +#define GIT_IDXENTRY_STAGESHIFT 12 + +/* + * Flags are divided into two parts: in-memory flags and + * on-disk ones. Flags in GIT_IDXENTRY_EXTENDED_FLAGS + * will get saved on-disk. + * + * In-memory only flags: + */ +#define GIT_IDXENTRY_UPDATE (1 << 0) +#define GIT_IDXENTRY_REMOVE (1 << 1) +#define GIT_IDXENTRY_UPTODATE (1 << 2) +#define GIT_IDXENTRY_ADDED (1 << 3) + +#define GIT_IDXENTRY_HASHED (1 << 4) +#define GIT_IDXENTRY_UNHASHED (1 << 5) +#define GIT_IDXENTRY_WT_REMOVE (1 << 6) /* remove in work directory */ +#define GIT_IDXENTRY_CONFLICTED (1 << 7) + +#define GIT_IDXENTRY_UNPACKED (1 << 8) +#define GIT_IDXENTRY_NEW_SKIP_WORKTREE (1 << 9) + +/* + * Extended on-disk flags: + */ +#define GIT_IDXENTRY_INTENT_TO_ADD (1 << 13) +#define GIT_IDXENTRY_SKIP_WORKTREE (1 << 14) +/* GIT_IDXENTRY_EXTENDED2 is for future extension */ +#define GIT_IDXENTRY_EXTENDED2 (1 << 15) + +#define GIT_IDXENTRY_EXTENDED_FLAGS (GIT_IDXENTRY_INTENT_TO_ADD | GIT_IDXENTRY_SKIP_WORKTREE) + +/** Time used in a git index entry */ +typedef struct { + git_time_t seconds; + /* nsec should not be stored as time_t compatible */ + unsigned int nanoseconds; +} git_index_time; + +/** Memory representation of a file entry in the index. */ +typedef struct git_index_entry { + git_index_time ctime; + git_index_time mtime; + + unsigned int dev; + unsigned int ino; + unsigned int mode; + unsigned int uid; + unsigned int gid; + git_off_t file_size; + + git_oid oid; + + unsigned short flags; + unsigned short flags_extended; + + char *path; +} git_index_entry; + +/** Representation of an unmerged file entry in the index. */ +typedef struct git_index_entry_unmerged { + unsigned int mode[3]; + git_oid oid[3]; + char *path; +} git_index_entry_unmerged; + +/** + * Create a new bare Git index object as a memory representation + * of the Git index file in 'index_path', without a repository + * to back it. + * + * Since there is no ODB or working directory behind this index, + * any Index methods which rely on these (e.g. index_add) will + * fail with the GIT_EBAREINDEX error code. + * + * If you need to access the index of an actual repository, + * use the `git_repository_index` wrapper. + * + * The index must be freed once it's no longer in use. + * + * @param index the pointer for the new index + * @param index_path the path to the index file in disk + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_open(git_index **index, const char *index_path); + +/** + * Clear the contents (all the entries) of an index object. + * This clears the index object in memory; changes must be manually + * written to disk for them to take effect. + * + * @param index an existing index object + */ +GIT_EXTERN(void) git_index_clear(git_index *index); + +/** + * Free an existing index object. + * + * @param index an existing index object + */ +GIT_EXTERN(void) git_index_free(git_index *index); + +/** + * Update the contents of an existing index object in memory + * by reading from the hard disk. + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_read(git_index *index); + +/** + * Write an existing index object from memory back to disk + * using an atomic file lock. + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_write(git_index *index); + +/** + * Find the first index of any entries which point to given + * path in the Git index. + * + * @param index an existing index object + * @param path path to search + * @return an index >= 0 if found, -1 otherwise + */ +GIT_EXTERN(int) git_index_find(git_index *index, const char *path); + +/** + * Remove all entries with equal path except last added + * + * @param index an existing index object + */ +GIT_EXTERN(void) git_index_uniq(git_index *index); + +/** + * Add or update an index entry from a file in disk + * + * The file `path` must be relative to the repository's + * working folder and must be readable. + * + * This method will fail in bare index instances. + * + * This forces the file to be added to the index, not looking + * at gitignore rules. Those rules can be evaluated through + * the git_status APIs (in status.h) before calling this. + * + * @param index an existing index object + * @param path filename to add + * @param stage stage for the entry + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add(git_index *index, const char *path, int stage); + +/** + * Add or update an index entry from an in-memory struct + * + * A full copy (including the 'path' string) of the given + * 'source_entry' will be inserted on the index. + * + * @param index an existing index object + * @param source_entry new entry object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add2(git_index *index, const git_index_entry *source_entry); + +/** + * Add (append) an index entry from a file in disk + * + * A new entry will always be inserted into the index; + * if the index already contains an entry for such + * path, the old entry will **not** be replaced. + * + * The file `path` must be relative to the repository's + * working folder and must be readable. + * + * This method will fail in bare index instances. + * + * @param index an existing index object + * @param path filename to add + * @param stage stage for the entry + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_append(git_index *index, const char *path, int stage); + +/** + * Add (append) an index entry from an in-memory struct + * + * A new entry will always be inserted into the index; + * if the index already contains an entry for the path + * in the `entry` struct, the old entry will **not** be + * replaced. + * + * A full copy (including the 'path' string) of the given + * 'source_entry' will be inserted on the index. + * + * @param index an existing index object + * @param source_entry new entry object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_append2(git_index *index, const git_index_entry *source_entry); + +/** + * Remove an entry from the index + * + * @param index an existing index object + * @param position position of the entry to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove(git_index *index, int position); + + +/** + * Get a pointer to one of the entries in the index + * + * This entry can be modified, and the changes will be written + * back to disk on the next write() call. + * + * The entry should not be freed by the caller. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the entry; NULL if out of bounds + */ +GIT_EXTERN(git_index_entry *) git_index_get(git_index *index, unsigned int n); + +/** + * Get the count of entries currently in the index + * + * @param index an existing index object + * @return integer of count of current entries + */ +GIT_EXTERN(unsigned int) git_index_entrycount(git_index *index); + +/** + * Get the count of unmerged entries currently in the index + * + * @param index an existing index object + * @return integer of count of current unmerged entries + */ +GIT_EXTERN(unsigned int) git_index_entrycount_unmerged(git_index *index); + +/** + * Get an unmerged entry from the index. + * + * The returned entry is read-only and should not be modified + * of freed by the caller. + * + * @param index an existing index object + * @param path path to search + * @return the unmerged entry; NULL if not found + */ +GIT_EXTERN(const git_index_entry_unmerged *) git_index_get_unmerged_bypath(git_index *index, const char *path); + +/** + * Get an unmerged entry from the index. + * + * The returned entry is read-only and should not be modified + * of freed by the caller. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the unmerged entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_entry_unmerged *) git_index_get_unmerged_byindex(git_index *index, unsigned int n); + +/** + * Return the stage number from a git index entry + * + * This entry is calculated from the entrie's flag + * attribute like this: + * + * (entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT + * + * @param entry The entry + * @returns the stage number + */ +GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry); + +/** + * Read a tree into the index file + * + * The current index contents will be replaced by the specified tree. + * + * @param index an existing index object + * @param tree tree to read + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_read_tree(git_index *index, git_tree *tree); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/indexer.h b/git2/include/git2/indexer.h new file mode 100644 index 000000000..14bd0e402 --- /dev/null +++ b/git2/include/git2/indexer.h @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef _INCLUDE_git_indexer_h__ +#define _INCLUDE_git_indexer_h__ + +#include "common.h" +#include "oid.h" + +GIT_BEGIN_DECL + +/** + * This is passed as the first argument to the callback to allow the + * user to see the progress. + */ +typedef struct git_indexer_stats { + unsigned int total; + unsigned int processed; +} git_indexer_stats; + + +typedef struct git_indexer git_indexer; +typedef struct git_indexer_stream git_indexer_stream; + +/** + * Create a new streaming indexer instance + * + * @param out where to store the inexer instance + * @param path to the gitdir (metadata directory) + */ +GIT_EXTERN(int) git_indexer_stream_new(git_indexer_stream **out, const char *gitdir); + +/** + * Add data to the indexer + * + * @param idx the indexer + * @param data the data to add + * @param size the size of the data + * @param stats stat storage + */ +GIT_EXTERN(int) git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t size, git_indexer_stats *stats); + +/** + * Finalize the pack and index + * + * Resolve any pending deltas and write out the index file + * + * @param idx the indexer + */ +GIT_EXTERN(int) git_indexer_stream_finalize(git_indexer_stream *idx, git_indexer_stats *stats); + +/** + * Get the packfile's hash + * + * A packfile's name is derived from the sorted hashing of all object + * names. This is only correct after the index has been finalized. + * + * @param idx the indexer instance + */ +GIT_EXTERN(const git_oid *) git_indexer_stream_hash(git_indexer_stream *idx); + +/** + * Free the indexer and its resources + * + * @param idx the indexer to free + */ +GIT_EXTERN(void) git_indexer_stream_free(git_indexer_stream *idx); + +/** + * Create a new indexer instance + * + * @param out where to store the indexer instance + * @param packname the absolute filename of the packfile to index + */ +GIT_EXTERN(int) git_indexer_new(git_indexer **out, const char *packname); + +/** + * Iterate over the objects in the packfile and extract the information + * + * Indexing a packfile can be very expensive so this function is + * expected to be run in a worker thread and the stats used to provide + * feedback the user. + * + * @param idx the indexer instance + * @param stats storage for the running state + */ +GIT_EXTERN(int) git_indexer_run(git_indexer *idx, git_indexer_stats *stats); + +/** + * Write the index file to disk. + * + * The file will be stored as pack-$hash.idx in the same directory as + * the packfile. + * + * @param idx the indexer instance + */ +GIT_EXTERN(int) git_indexer_write(git_indexer *idx); + +/** + * Get the packfile's hash + * + * A packfile's name is derived from the sorted hashing of all object + * names. This is only correct after the index has been written to disk. + * + * @param idx the indexer instance + */ +GIT_EXTERN(const git_oid *) git_indexer_hash(git_indexer *idx); + +/** + * Free the indexer and its resources + * + * @param idx the indexer to free + */ +GIT_EXTERN(void) git_indexer_free(git_indexer *idx); + +GIT_END_DECL + +#endif diff --git a/git2/include/git2/merge.h b/git2/include/git2/merge.h new file mode 100644 index 000000000..5a0b2e7f2 --- /dev/null +++ b/git2/include/git2/merge.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_merge_h__ +#define INCLUDE_git_merge_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/merge.h + * @brief Git merge-base routines + * @defgroup git_revwalk Git merge-base routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Find a merge base between two commits + * + * @param out the OID of a merge base between 'one' and 'two' + * @param repo the repository where the commits exist + * @param one one of the commits + * @param two the other commit + */ +GIT_EXTERN(int) git_merge_base(git_oid *out, git_repository *repo, git_oid *one, git_oid *two); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/net.h b/git2/include/git2/net.h new file mode 100644 index 000000000..c2301b6f1 --- /dev/null +++ b/git2/include/git2/net.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_net_h__ +#define INCLUDE_net_h__ + +#include "common.h" +#include "oid.h" +#include "types.h" + +/** + * @file git2/net.h + * @brief Git networking declarations + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +#define GIT_DEFAULT_PORT "9418" + +/* + * We need this because we need to know whether we should call + * git-upload-pack or git-receive-pack on the remote end when get_refs + * gets called. + */ + +#define GIT_DIR_FETCH 0 +#define GIT_DIR_PUSH 1 + + +/** + * Remote head description, given out on `ls` calls. + */ +struct git_remote_head { + int local:1; /* available locally */ + git_oid oid; + git_oid loid; + char *name; +}; + +/** + * Callback for listing the remote heads + */ +typedef int (*git_headlist_cb)(git_remote_head *, void *); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/notes.h b/git2/include/git2/notes.h new file mode 100644 index 000000000..19073abd1 --- /dev/null +++ b/git2/include/git2/notes.h @@ -0,0 +1,139 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_note_h__ +#define INCLUDE_git_note_h__ + +#include "oid.h" + +/** + * @file git2/notes.h + * @brief Git notes management routines + * @defgroup git_note Git notes management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Read the note for an object + * + * The note must be freed manually by the user. + * + * @param note the note; NULL in case of error + * @param repo the Git repository + * @param notes_ref OID reference to use (optional); defaults to "refs/notes/commits" + * @param oid OID of the object + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_read(git_note **note, git_repository *repo, + const char *notes_ref, const git_oid *oid); + +/** + * Get the note message + * + * @param note + * @return the note message + */ +GIT_EXTERN(const char *) git_note_message(git_note *note); + + +/** + * Get the note object OID + * + * @param note + * @return the note object OID + */ +GIT_EXTERN(const git_oid *) git_note_oid(git_note *note); + + +/** + * Add a note for an object + * + * @param oid pointer to store the OID (optional); NULL in case of error + * @param repo the Git repository + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param notes_ref OID reference to update (optional); defaults to "refs/notes/commits" + * @param oid The OID of the object + * @param oid The note to add for object oid + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_create(git_oid *out, git_repository *repo, + git_signature *author, git_signature *committer, + const char *notes_ref, const git_oid *oid, + const char *note); + + +/** + * Remove the note for an object + * + * @param repo the Git repository + * @param notes_ref OID reference to use (optional); defaults to "refs/notes/commits" + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid the oid which note's to be removed + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_remove(git_repository *repo, const char *notes_ref, + git_signature *author, git_signature *committer, + const git_oid *oid); + +/** + * Free a git_note object + * + * @param note git_note object + */ +GIT_EXTERN(void) git_note_free(git_note *note); + +/** + * Get the default notes reference for a repository + * + * @param out Pointer to the default notes reference + * @param repo The Git repository + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_default_ref(const char **out, git_repository *repo); + +/** + * Basic components of a note + * + * - Oid of the blob containing the message + * - Oid of the git object being annotated + */ +typedef struct { + git_oid blob_oid; + git_oid annotated_object_oid; +} git_note_data; + +/** + * Loop over all the notes within a specified namespace + * and issue a callback for each one. + * + * @param repo Repository where to find the notes. + * + * @param notes_ref OID reference to read from (optional); defaults to "refs/notes/commits". + * + * @param note_cb Callback to invoke per found annotation. + * + * @param payload Extra parameter to callback function. + * + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_note_foreach( + git_repository *repo, + const char *notes_ref, + int (*note_cb)(git_note_data *note_data, void *payload), + void *payload +); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/object.h b/git2/include/git2/object.h new file mode 100644 index 000000000..9e988b7b6 --- /dev/null +++ b/git2/include/git2/object.h @@ -0,0 +1,173 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_object_h__ +#define INCLUDE_git_object_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/object.h + * @brief Git revision object management routines + * @defgroup git_object Git revision object management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a reference to one of the objects in a repostory. + * + * The generated reference is owned by the repository and + * should be closed with the `git_object_free` method + * instead of free'd manually. + * + * The 'type' parameter must match the type of the object + * in the odb; the method will fail otherwise. + * The special value 'GIT_OBJ_ANY' may be passed to let + * the method guess the object's type. + * + * @param object pointer to the looked-up object + * @param repo the repository to look up the object + * @param id the unique identifier for the object + * @param type the type of the object + * @return a reference to the object + */ +GIT_EXTERN(int) git_object_lookup( + git_object **object, + git_repository *repo, + const git_oid *id, + git_otype type); + +/** + * Lookup a reference to one of the objects in a repostory, + * given a prefix of its identifier (short id). + * + * The object obtained will be so that its identifier + * matches the first 'len' hexadecimal characters + * (packets of 4 bits) of the given 'id'. + * 'len' must be at least GIT_OID_MINPREFIXLEN, and + * long enough to identify a unique object matching + * the prefix; otherwise the method will fail. + * + * The generated reference is owned by the repository and + * should be closed with the `git_object_free` method + * instead of free'd manually. + * + * The 'type' parameter must match the type of the object + * in the odb; the method will fail otherwise. + * The special value 'GIT_OBJ_ANY' may be passed to let + * the method guess the object's type. + * + * @param object_out pointer where to store the looked-up object + * @param repo the repository to look up the object + * @param id a short identifier for the object + * @param len the length of the short identifier + * @param type the type of the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_lookup_prefix( + git_object **object_out, + git_repository *repo, + const git_oid *id, + unsigned int len, + git_otype type); + +/** + * Get the id (SHA1) of a repository object + * + * @param obj the repository object + * @return the SHA1 id + */ +GIT_EXTERN(const git_oid *) git_object_id(const git_object *obj); + +/** + * Get the object type of an object + * + * @param obj the repository object + * @return the object's type + */ +GIT_EXTERN(git_otype) git_object_type(const git_object *obj); + +/** + * Get the repository that owns this object + * + * Freeing or calling `git_repository_close` on the + * returned pointer will invalidate the actual object. + * + * Any other operation may be run on the repository without + * affecting the object. + * + * @param obj the object + * @return the repository who owns this object + */ +GIT_EXTERN(git_repository *) git_object_owner(const git_object *obj); + +/** + * Close an open object + * + * This method instructs the library to close an existing + * object; note that git_objects are owned and cached by the repository + * so the object may or may not be freed after this library call, + * depending on how agressive is the caching mechanism used + * by the repository. + * + * IMPORTANT: + * It *is* necessary to call this method when you stop using + * an object. Failure to do so will cause a memory leak. + * + * @param object the object to close + */ +GIT_EXTERN(void) git_object_free(git_object *object); + +/** + * Convert an object type to it's string representation. + * + * The result is a pointer to a string in static memory and + * should not be free()'ed. + * + * @param type object type to convert. + * @return the corresponding string representation. + */ +GIT_EXTERN(const char *) git_object_type2string(git_otype type); + +/** + * Convert a string object type representation to it's git_otype. + * + * @param str the string to convert. + * @return the corresponding git_otype. + */ +GIT_EXTERN(git_otype) git_object_string2type(const char *str); + +/** + * Determine if the given git_otype is a valid loose object type. + * + * @param type object type to test. + * @return true if the type represents a valid loose object type, + * false otherwise. + */ +GIT_EXTERN(int) git_object_typeisloose(git_otype type); + +/** + * Get the size in bytes for the structure which + * acts as an in-memory representation of any given + * object type. + * + * For all the core types, this would the equivalent + * of calling `sizeof(git_commit)` if the core types + * were not opaque on the external API. + * + * @param type object type to get its size + * @return size in bytes of the object + */ +GIT_EXTERN(size_t) git_object__size(git_otype type); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/git2/include/git2/odb.h b/git2/include/git2/odb.h new file mode 100644 index 000000000..1df193389 --- /dev/null +++ b/git2/include/git2/odb.h @@ -0,0 +1,331 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_odb_h__ +#define INCLUDE_git_odb_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "odb_backend.h" + +/** + * @file git2/odb.h + * @brief Git object database routines + * @defgroup git_odb Git object database routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new object database with no backends. + * + * Before the ODB can be used for read/writing, a custom database + * backend must be manually added using `git_odb_add_backend()` + * + * @param out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_new(git_odb **out); + +/** + * Create a new object database and automatically add + * the two default backends: + * + * - git_odb_backend_loose: read and write loose object files + * from disk, assuming `objects_dir` as the Objects folder + * + * - git_odb_backend_pack: read objects from packfiles, + * assuming `objects_dir` as the Objects folder which + * contains a 'pack/' folder with the corresponding data + * + * @param out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param objects_dir path of the backends' "objects" directory. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_open(git_odb **out, const char *objects_dir); + +/** + * Add a custom backend to an existing Object DB + * + * The backends are checked in relative ordering, based on the + * value of the `priority` parameter. + * + * Read for more information. + * + * @param odb database to add the backend to + * @param backend pointer to a git_odb_backend instance + * @param priority Value for ordering the backends queue + * @return 0 on sucess; error code otherwise + */ +GIT_EXTERN(int) git_odb_add_backend(git_odb *odb, git_odb_backend *backend, int priority); + +/** + * Add a custom backend to an existing Object DB; this + * backend will work as an alternate. + * + * Alternate backends are always checked for objects *after* + * all the main backends have been exhausted. + * + * The backends are checked in relative ordering, based on the + * value of the `priority` parameter. + * + * Writing is disabled on alternate backends. + * + * Read for more information. + * + * @param odb database to add the backend to + * @param backend pointer to a git_odb_backend instance + * @param priority Value for ordering the backends queue + * @return 0 on sucess; error code otherwise + */ +GIT_EXTERN(int) git_odb_add_alternate(git_odb *odb, git_odb_backend *backend, int priority); + +/** + * Close an open object database. + * + * @param db database pointer to close. If NULL no action is taken. + */ +GIT_EXTERN(void) git_odb_free(git_odb *db); + +/** + * Read an object from the database. + * + * This method queries all available ODB backends + * trying to read the given OID. + * + * The returned object is reference counted and + * internally cached, so it should be closed + * by the user once it's no longer in use. + * + * @param out pointer where to store the read object + * @param db database to search for the object in. + * @param id identity of the object to read. + * @return + * - 0 if the object was read; + * - GIT_ENOTFOUND if the object is not in the database. + */ +GIT_EXTERN(int) git_odb_read(git_odb_object **out, git_odb *db, const git_oid *id); + +/** + * Read an object from the database, given a prefix + * of its identifier. + * + * This method queries all available ODB backends + * trying to match the 'len' first hexadecimal + * characters of the 'short_id'. + * The remaining (GIT_OID_HEXSZ-len)*4 bits of + * 'short_id' must be 0s. + * 'len' must be at least GIT_OID_MINPREFIXLEN, + * and the prefix must be long enough to identify + * a unique object in all the backends; the + * method will fail otherwise. + * + * The returned object is reference counted and + * internally cached, so it should be closed + * by the user once it's no longer in use. + * + * @param out pointer where to store the read object + * @param db database to search for the object in. + * @param short_id a prefix of the id of the object to read. + * @param len the length of the prefix + * @return 0 if the object was read; + * GIT_ENOTFOUND if the object is not in the database. + * GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix) + */ +GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **out, git_odb *db, const git_oid *short_id, unsigned int len); + +/** + * Read the header of an object from the database, without + * reading its full contents. + * + * The header includes the length and the type of an object. + * + * Note that most backends do not support reading only the header + * of an object, so the whole object will be read and then the + * header will be returned. + * + * @param len_p pointer where to store the length + * @param type_p pointer where to store the type + * @param db database to search for the object in. + * @param id identity of the object to read. + * @return + * - 0 if the object was read; + * - GIT_ENOTFOUND if the object is not in the database. + */ +GIT_EXTERN(int) git_odb_read_header(size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id); + +/** + * Determine if the given object can be found in the object database. + * + * @param db database to be searched for the given object. + * @param id the object to search for. + * @return + * - 1, if the object was found + * - 0, otherwise + */ +GIT_EXTERN(int) git_odb_exists(git_odb *db, const git_oid *id); + +/** + * Write an object directly into the ODB + * + * This method writes a full object straight into the ODB. + * For most cases, it is preferred to write objects through a write + * stream, which is both faster and less memory intensive, specially + * for big objects. + * + * This method is provided for compatibility with custom backends + * which are not able to support streaming writes + * + * @param oid pointer to store the OID result of the write + * @param odb object database where to store the object + * @param data buffer with the data to storr + * @param len size of the buffer + * @param type type of the data to store + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_write(git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type); + +/** + * Open a stream to write an object into the ODB + * + * The type and final length of the object must be specified + * when opening the stream. + * + * The returned stream will be of type `GIT_STREAM_WRONLY` and + * will have the following methods: + * + * - stream->write: write `n` bytes into the stream + * - stream->finalize_write: close the stream and store the object in + * the odb + * - stream->free: free the stream + * + * The streaming write won't be effective until `stream->finalize_write` + * is called and returns without an error + * + * The stream must always be free'd or will leak memory. + * + * @see git_odb_stream + * + * @param stream pointer where to store the stream + * @param db object database where the stream will write + * @param size final size of the object that will be written + * @param type type of the object that will be written + * @return 0 if the stream was created; error code otherwise + */ +GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **stream, git_odb *db, size_t size, git_otype type); + +/** + * Open a stream to read an object from the ODB + * + * Note that most backends do *not* support streaming reads + * because they store their objects as compressed/delta'ed blobs. + * + * It's recommended to use `git_odb_read` instead, which is + * assured to work on all backends. + * + * The returned stream will be of type `GIT_STREAM_RDONLY` and + * will have the following methods: + * + * - stream->read: read `n` bytes from the stream + * - stream->free: free the stream + * + * The stream must always be free'd or will leak memory. + * + * @see git_odb_stream + * + * @param stream pointer where to store the stream + * @param db object database where the stream will read from + * @param oid oid of the object the stream will read from + * @return 0 if the stream was created; error code otherwise + */ +GIT_EXTERN(int) git_odb_open_rstream(git_odb_stream **stream, git_odb *db, const git_oid *oid); + +/** + * Determine the object-ID (sha1 hash) of a data buffer + * + * The resulting SHA-1 OID will the itentifier for the data + * buffer as if the data buffer it were to written to the ODB. + * + * @param id the resulting object-ID. + * @param data data to hash + * @param len size of the data + * @param type of the data to hash + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hash(git_oid *id, const void *data, size_t len, git_otype type); + +/** + * Read a file from disk and fill a git_oid with the object id + * that the file would have if it were written to the Object + * Database as an object of the given type. Similar functionality + * to git.git's `git hash-object` without the `-w` flag. + * + * @param out oid structure the result is written into. + * @param path file to read and determine object id for + * @param type the type of the object that will be hashed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_otype type); + +/** + * Close an ODB object + * + * This method must always be called once a `git_odb_object` is no + * longer needed, otherwise memory will leak. + * + * @param object object to close + */ +GIT_EXTERN(void) git_odb_object_free(git_odb_object *object); + +/** + * Return the OID of an ODB object + * + * This is the OID from which the object was read from + * + * @param object the object + * @return a pointer to the OID + */ +GIT_EXTERN(const git_oid *) git_odb_object_id(git_odb_object *object); + +/** + * Return the data of an ODB object + * + * This is the uncompressed, raw data as read from the ODB, + * without the leading header. + * + * This pointer is owned by the object and shall not be free'd. + * + * @param object the object + * @return a pointer to the data + */ +GIT_EXTERN(const void *) git_odb_object_data(git_odb_object *object); + +/** + * Return the size of an ODB object + * + * This is the real size of the `data` buffer, not the + * actual size of the object. + * + * @param object the object + * @return the size + */ +GIT_EXTERN(size_t) git_odb_object_size(git_odb_object *object); + +/** + * Return the type of an ODB object + * + * @param object the object + * @return the type + */ +GIT_EXTERN(git_otype) git_odb_object_type(git_odb_object *object); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/odb_backend.h b/git2/include/git2/odb_backend.h new file mode 100644 index 000000000..f4620f5f4 --- /dev/null +++ b/git2/include/git2/odb_backend.h @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_odb_backend_h__ +#define INCLUDE_git_odb_backend_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/backend.h + * @brief Git custom backend functions + * @defgroup git_backend Git custom backend API + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +struct git_odb_stream; + +/** An instance for a custom backend */ +struct git_odb_backend { + git_odb *odb; + + int (* read)( + void **, size_t *, git_otype *, + struct git_odb_backend *, + const git_oid *); + + /* To find a unique object given a prefix + * of its oid. + * The oid given must be so that the + * remaining (GIT_OID_HEXSZ - len)*4 bits + * are 0s. + */ + int (* read_prefix)( + git_oid *, + void **, size_t *, git_otype *, + struct git_odb_backend *, + const git_oid *, + unsigned int); + + int (* read_header)( + size_t *, git_otype *, + struct git_odb_backend *, + const git_oid *); + + int (* write)( + git_oid *, + struct git_odb_backend *, + const void *, + size_t, + git_otype); + + int (* writestream)( + struct git_odb_stream **, + struct git_odb_backend *, + size_t, + git_otype); + + int (* readstream)( + struct git_odb_stream **, + struct git_odb_backend *, + const git_oid *); + + int (* exists)( + struct git_odb_backend *, + const git_oid *); + + void (* free)(struct git_odb_backend *); +}; + +/** Streaming mode */ +enum { + GIT_STREAM_RDONLY = (1 << 1), + GIT_STREAM_WRONLY = (1 << 2), + GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY), +}; + +/** A stream to read/write from a backend */ +struct git_odb_stream { + struct git_odb_backend *backend; + int mode; + + int (*read)(struct git_odb_stream *stream, char *buffer, size_t len); + int (*write)(struct git_odb_stream *stream, const char *buffer, size_t len); + int (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream); + void (*free)(struct git_odb_stream *stream); +}; + +GIT_EXTERN(int) git_odb_backend_pack(git_odb_backend **backend_out, const char *objects_dir); +GIT_EXTERN(int) git_odb_backend_loose(git_odb_backend **backend_out, const char *objects_dir, int compression_level, int do_fsync); + +GIT_END_DECL + +#endif diff --git a/git2/include/git2/oid.h b/git2/include/git2/oid.h new file mode 100644 index 000000000..c06458d24 --- /dev/null +++ b/git2/include/git2/oid.h @@ -0,0 +1,223 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_oid_h__ +#define INCLUDE_git_oid_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/oid.h + * @brief Git object id routines + * @defgroup git_oid Git object id routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Size (in bytes) of a raw/binary oid */ +#define GIT_OID_RAWSZ 20 + +/** Size (in bytes) of a hex formatted oid */ +#define GIT_OID_HEXSZ (GIT_OID_RAWSZ * 2) + +/** Minimum length (in number of hex characters, + * i.e. packets of 4 bits) of an oid prefix */ +#define GIT_OID_MINPREFIXLEN 4 + +/** Unique identity of any object (commit, tree, blob, tag). */ +typedef struct _git_oid git_oid; +struct _git_oid { + /** raw binary formatted id */ + unsigned char id[GIT_OID_RAWSZ]; +}; + +/** + * Parse a hex formatted object id into a git_oid. + * + * @param out oid structure the result is written into. + * @param str input hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (40 bytes). + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str); + +/** + * Parse N characters of a hex formatted object id into a git_oid + * + * If N is odd, N-1 characters will be parsed instead. + * The remaining space in the git_oid will be set to zero. + * + * @param out oid structure the result is written into. + * @param str input hex string of at least size `length` + * @param length length of the input string + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length); + +/** + * Copy an already raw oid into a git_oid structure. + * + * @param out oid structure the result is written into. + * @param raw the raw input bytes to be copied. + */ +GIT_EXTERN(void) git_oid_fromraw(git_oid *out, const unsigned char *raw); + +/** + * Format a git_oid into a hex string. + * + * @param str output hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (40 bytes). Only the + * oid digits are written; a '\\0' terminator must be added + * by the caller if it is required. + * @param oid oid structure to format. + */ +GIT_EXTERN(void) git_oid_fmt(char *str, const git_oid *oid); + +/** + * Format a git_oid into a loose-object path string. + * + * The resulting string is "aa/...", where "aa" is the first two + * hex digitis of the oid and "..." is the remaining 38 digits. + * + * @param str output hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (41 bytes). Only the + * oid digits are written; a '\\0' terminator must be added + * by the caller if it is required. + * @param oid oid structure to format. + */ +GIT_EXTERN(void) git_oid_pathfmt(char *str, const git_oid *oid); + +/** + * Format a git_oid into a newly allocated c-string. + * + * @param oid the oid structure to format + * @return the c-string; NULL if memory is exhausted. Caller must + * deallocate the string with git__free(). + */ +GIT_EXTERN(char *) git_oid_allocfmt(const git_oid *oid); + +/** + * Format a git_oid into a buffer as a hex format c-string. + * + * If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting + * oid c-string will be truncated to n-1 characters. If there are + * any input parameter errors (out == NULL, n == 0, oid == NULL), + * then a pointer to an empty string is returned, so that the return + * value can always be printed. + * + * @param out the buffer into which the oid string is output. + * @param n the size of the out buffer. + * @param oid the oid structure to format. + * @return the out buffer pointer, assuming no input parameter + * errors, otherwise a pointer to an empty string. + */ +GIT_EXTERN(char *) git_oid_tostr(char *out, size_t n, const git_oid *oid); + +/** + * Copy an oid from one structure to another. + * + * @param out oid structure the result is written into. + * @param src oid structure to copy from. + */ +GIT_EXTERN(void) git_oid_cpy(git_oid *out, const git_oid *src); + +/** + * Compare two oid structures. + * + * @param a first oid structure. + * @param b second oid structure. + * @return <0, 0, >0 if a < b, a == b, a > b. + */ +GIT_EXTERN(int) git_oid_cmp(const git_oid *a, const git_oid *b); + +/** + * Compare the first 'len' hexadecimal characters (packets of 4 bits) + * of two oid structures. + * + * @param a first oid structure. + * @param b second oid structure. + * @param len the number of hex chars to compare + * @return 0 in case of a match + */ +GIT_EXTERN(int) git_oid_ncmp(const git_oid *a, const git_oid *b, unsigned int len); + +/** + * Check if an oid equals an hex formatted object id. + * + * @param a oid structure. + * @param str input hex string of an object id. + * @return GIT_ENOTOID if str is not a valid hex string, + * 0 in case of a match, GIT_ERROR otherwise. + */ +GIT_EXTERN(int) git_oid_streq(const git_oid *a, const char *str); + +/** + * Check is an oid is all zeros. + */ +GIT_EXTERN(int) git_oid_iszero(const git_oid *a); + +/** + * OID Shortener object + */ +typedef struct git_oid_shorten git_oid_shorten; + +/** + * Create a new OID shortener. + * + * The OID shortener is used to process a list of OIDs + * in text form and return the shortest length that would + * uniquely identify all of them. + * + * E.g. look at the result of `git log --abbrev`. + * + * @param min_length The minimal length for all identifiers, + * which will be used even if shorter OIDs would still + * be unique. + * @return a `git_oid_shorten` instance, NULL if OOM + */ +GIT_EXTERN(git_oid_shorten *) git_oid_shorten_new(size_t min_length); + +/** + * Add a new OID to set of shortened OIDs and calculate + * the minimal length to uniquely identify all the OIDs in + * the set. + * + * The OID is expected to be a 40-char hexadecimal string. + * The OID is owned by the user and will not be modified + * or freed. + * + * For performance reasons, there is a hard-limit of how many + * OIDs can be added to a single set (around ~22000, assuming + * a mostly randomized distribution), which should be enough + * for any kind of program, and keeps the algorithm fast and + * memory-efficient. + * + * Attempting to add more than those OIDs will result in a + * GIT_ENOMEM error + * + * @param os a `git_oid_shorten` instance + * @param text_oid an OID in text form + * @return the minimal length to uniquely identify all OIDs + * added so far to the set; or an error code (<0) if an + * error occurs. + */ +GIT_EXTERN(int) git_oid_shorten_add(git_oid_shorten *os, const char *text_oid); + +/** + * Free an OID shortener instance + * + * @param os a `git_oid_shorten` instance + */ +GIT_EXTERN(void) git_oid_shorten_free(git_oid_shorten *os); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/reflog.h b/git2/include/git2/reflog.h new file mode 100644 index 000000000..f490e29de --- /dev/null +++ b/git2/include/git2/reflog.h @@ -0,0 +1,128 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_reflog_h__ +#define INCLUDE_git_reflog_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/reflog.h + * @brief Git reflog management routines + * @defgroup git_reflog Git reflog management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Read the reflog for the given reference + * + * The reflog must be freed manually by using + * git_reflog_free(). + * + * @param reflog pointer to reflog + * @param ref reference to read the reflog for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_read(git_reflog **reflog, git_reference *ref); + +/** + * Write a new reflog for the given reference + * + * If there is no reflog file for the given + * reference yet, it will be created. + * + * `oid_old` may be NULL in case it's a new reference. + * + * `msg` is optional and can be NULL. + * + * @param ref the changed reference + * @param oid_old the OID the reference was pointing to + * @param committer the signature of the committer + * @param msg the reflog message + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_write(git_reference *ref, const git_oid *oid_old, const git_signature *committer, const char *msg); + +/** + * Rename the reflog for the given reference + * + * @param ref the reference + * @param new_name the new name of the reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_rename(git_reference *ref, const char *new_name); + +/** + * Delete the reflog for the given reference + * + * @param ref the reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_delete(git_reference *ref); + +/** + * Get the number of log entries in a reflog + * + * @param reflog the previously loaded reflog + * @return the number of log entries + */ +GIT_EXTERN(unsigned int) git_reflog_entrycount(git_reflog *reflog); + +/** + * Lookup an entry by its index + * + * @param reflog a previously loaded reflog + * @param idx the position to lookup + * @return the entry; NULL if not found + */ +GIT_EXTERN(const git_reflog_entry *) git_reflog_entry_byindex(git_reflog *reflog, unsigned int idx); + +/** + * Get the old oid + * + * @param entry a reflog entry + * @return the old oid + */ +GIT_EXTERN(const git_oid *) git_reflog_entry_oidold(const git_reflog_entry *entry); + +/** + * Get the new oid + * + * @param entry a reflog entry + * @return the new oid at this time + */ +GIT_EXTERN(const git_oid *) git_reflog_entry_oidnew(const git_reflog_entry *entry); + +/** + * Get the committer of this entry + * + * @param entry a reflog entry + * @return the committer + */ +GIT_EXTERN(git_signature *) git_reflog_entry_committer(const git_reflog_entry *entry); + +/** + * Get the log msg + * + * @param entry a reflog entry + * @return the log msg + */ +GIT_EXTERN(char *) git_reflog_entry_msg(const git_reflog_entry *entry); + +/** + * Free the reflog + * + * @param reflog reflog to free + */ +GIT_EXTERN(void) git_reflog_free(git_reflog *reflog); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/refs.h b/git2/include/git2/refs.h new file mode 100644 index 000000000..882e32769 --- /dev/null +++ b/git2/include/git2/refs.h @@ -0,0 +1,329 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refs_h__ +#define INCLUDE_git_refs_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/refs.h + * @brief Git reference management routines + * @defgroup git_reference Git reference management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a reference by its name in a repository. + * + * The generated reference must be freed by the user. + * + * @param reference_out pointer to the looked-up reference + * @param repo the repository to look up the reference + * @param name the long name for the reference (e.g. HEAD, ref/heads/master, refs/tags/v0.1.0, ...) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_lookup(git_reference **reference_out, git_repository *repo, const char *name); + +/** + * Lookup a reference by name and resolve immediately to OID. + * + * @param oid Pointer to oid to be filled in + * @param repo The repository in which to look up the reference + * @param name The long name for the reference + * @return 0 on success, -1 if name could not be resolved + */ +GIT_EXTERN(int) git_reference_name_to_oid( + git_oid *out, git_repository *repo, const char *name); + +/** + * Create a new symbolic reference. + * + * The reference will be created in the repository and written + * to the disk. + * + * The generated reference must be freed by the user. + * + * If `force` is true and there already exists a reference + * with the same name, it will be overwritten. + * + * @param ref_out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param target The target of the reference + * @param force Overwrite existing references + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_create_symbolic(git_reference **ref_out, git_repository *repo, const char *name, const char *target, int force); + +/** + * Create a new object id reference. + * + * The reference will be created in the repository and written + * to the disk. + * + * The generated reference must be freed by the user. + * + * If `force` is true and there already exists a reference + * with the same name, it will be overwritten. + * + * @param ref_out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param id The object id pointed to by the reference. + * @param force Overwrite existing references + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_create_oid(git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id, int force); + +/** + * Get the OID pointed to by a reference. + * + * Only available if the reference is direct (i.e. not symbolic) + * + * @param ref The reference + * @return a pointer to the oid if available, NULL otherwise + */ +GIT_EXTERN(const git_oid *) git_reference_oid(git_reference *ref); + +/** + * Get full name to the reference pointed by this reference + * + * Only available if the reference is symbolic + * + * @param ref The reference + * @return a pointer to the name if available, NULL otherwise + */ +GIT_EXTERN(const char *) git_reference_target(git_reference *ref); + +/** + * Get the type of a reference + * + * Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC) + * + * @param ref The reference + * @return the type + */ +GIT_EXTERN(git_ref_t) git_reference_type(git_reference *ref); + +/** + * Get the full name of a reference + * + * @param ref The reference + * @return the full name for the ref + */ +GIT_EXTERN(const char *) git_reference_name(git_reference *ref); + +/** + * Resolve a symbolic reference + * + * Thie method iteratively peels a symbolic reference + * until it resolves to a direct reference to an OID. + * + * The peeled reference is returned in the `resolved_ref` + * argument, and must be freed manually once it's no longer + * needed. + * + * If a direct reference is passed as an argument, + * a copy of that reference is returned. This copy must + * be manually freed too. + * + * @param resolved_ref Pointer to the peeled reference + * @param ref The reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_resolve(git_reference **resolved_ref, git_reference *ref); + +/** + * Get the repository where a reference resides + * + * @param ref The reference + * @return a pointer to the repo + */ +GIT_EXTERN(git_repository *) git_reference_owner(git_reference *ref); + +/** + * Set the symbolic target of a reference. + * + * The reference must be a symbolic reference, otherwise + * this method will fail. + * + * The reference will be automatically updated in + * memory and on disk. + * + * @param ref The reference + * @param target The new target for the reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_set_target(git_reference *ref, const char *target); + +/** + * Set the OID target of a reference. + * + * The reference must be a direct reference, otherwise + * this method will fail. + * + * The reference will be automatically updated in + * memory and on disk. + * + * @param ref The reference + * @param id The new target OID for the reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_set_oid(git_reference *ref, const git_oid *id); + +/** + * Rename an existing reference + * + * This method works for both direct and symbolic references. + * The new name will be checked for validity and may be + * modified into a normalized form. + * + * The given git_reference will be updated in place. + * + * The reference will be immediately renamed in-memory + * and on disk. + * + * If the `force` flag is not enabled, and there's already + * a reference with the given name, the renaming will fail. + * + * IMPORTANT: + * The user needs to write a proper reflog entry if the + * reflog is enabled for the repository. We only rename + * the reflog if it exists. + * + * @param ref The reference to rename + * @param new_name The new name for the reference + * @param force Overwrite an existing reference + * @return 0 or an error code + * + */ +GIT_EXTERN(int) git_reference_rename(git_reference *ref, const char *new_name, int force); + +/** + * Delete an existing reference + * + * This method works for both direct and symbolic references. + * + * The reference will be immediately removed on disk and from + * memory. The given reference pointer will no longer be valid. + * + * @param ref The reference to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_delete(git_reference *ref); + +/** + * Pack all the loose references in the repository + * + * This method will load into the cache all the loose + * references on the repository and update the + * `packed-refs` file with them. + * + * Once the `packed-refs` file has been written properly, + * the loose references will be removed from disk. + * + * @param repo Repository where the loose refs will be packed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_packall(git_repository *repo); + +/** + * Fill a list with all the references that can be found + * in a repository. + * + * The listed references may be filtered by type, or using + * a bitwise OR of several types. Use the magic value + * `GIT_REF_LISTALL` to obtain all references, including + * packed ones. + * + * The string array will be filled with the names of all + * references; these values are owned by the user and + * should be free'd manually when no longer needed, using + * `git_strarray_free`. + * + * @param array Pointer to a git_strarray structure where + * the reference names will be stored + * @param repo Repository where to find the refs + * @param list_flags Filtering flags for the reference + * listing. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo, unsigned int list_flags); + + +/** + * Perform an operation on each reference in the repository + * + * The processed references may be filtered by type, or using + * a bitwise OR of several types. Use the magic value + * `GIT_REF_LISTALL` to obtain all references, including + * packed ones. + * + * The `callback` function will be called for each of the references + * in the repository, and will receive the name of the reference and + * the `payload` value passed to this method. + * + * @param repo Repository where to find the refs + * @param list_flags Filtering flags for the reference + * listing. + * @param callback Function which will be called for every listed ref + * @param payload Additional data to pass to the callback + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_foreach(git_repository *repo, unsigned int list_flags, int (*callback)(const char *, void *), void *payload); + +/** + * Check if a reference has been loaded from a packfile + * + * @param ref A git reference + * @return 0 in case it's not packed; 1 otherwise + */ +GIT_EXTERN(int) git_reference_is_packed(git_reference *ref); + +/** + * Reload a reference from disk + * + * Reference pointers may become outdated if the Git + * repository is accessed simultaneously by other clients + * whilt the library is open. + * + * This method forces a reload of the reference from disk, + * to ensure that the provided information is still + * reliable. + * + * If the reload fails (e.g. the reference no longer exists + * on disk, or has become corrupted), an error code will be + * returned and the reference pointer will be invalidated. + * + * @param ref The reference to reload + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_reference_reload(git_reference *ref); + +/** + * Free the given reference + * + * @param ref git_reference + */ +GIT_EXTERN(void) git_reference_free(git_reference *ref); + +/** + * Compare two references. + * + * @param ref1 The first git_reference + * @param ref2 The second git_reference + * @return 0 if the same, else a stable but meaningless ordering. + */ +GIT_EXTERN(int) git_reference_cmp(git_reference *ref1, git_reference *ref2); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/refspec.h b/git2/include/git2/refspec.h new file mode 100644 index 000000000..c0a8eabfe --- /dev/null +++ b/git2/include/git2/refspec.h @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refspec_h__ +#define INCLUDE_git_refspec_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/refspec.h + * @brief Git refspec attributes + * @defgroup git_refspec Git refspec attributes + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Get the source specifier + * + * @param refspec the refspec + * @return the refspec's source specifier + */ +GIT_EXTERN(const char *) git_refspec_src(const git_refspec *refspec); + +/** + * Get the destination specifier + * + * @param refspec the refspec + * @return the refspec's destination specifier + */ +GIT_EXTERN(const char *) git_refspec_dst(const git_refspec *refspec); + +/** + * Check if a refspec's source descriptor matches a reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_src_matches(const git_refspec *refspec, const char *refname); + +/** + * Transform a reference to its target following the refspec's rules + * + * @param out where to store the target name + * @param outlen the size ouf the `out` buffer + * @param spec the refspec + * @param name the name of the reference to transform + * @return 0, GIT_EBUFS or another error + */ +GIT_EXTERN(int) git_refspec_transform(char *out, size_t outlen, const git_refspec *spec, const char *name); + +GIT_END_DECL + +#endif diff --git a/git2/include/git2/remote.h b/git2/include/git2/remote.h new file mode 100644 index 000000000..865dfef04 --- /dev/null +++ b/git2/include/git2/remote.h @@ -0,0 +1,234 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_remote_h__ +#define INCLUDE_git_remote_h__ + +#include "common.h" +#include "repository.h" +#include "refspec.h" +#include "net.h" +#include "indexer.h" + +/** + * @file git2/remote.h + * @brief Git remote management functions + * @defgroup git_remote remote management functions + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/* + * TODO: This functions still need to be implemented: + * - _listcb/_foreach + * - _add + * - _rename + * - _del (needs support from config) + */ + +/** + * Create a remote in memory + * + * Create a remote with the default refspecs in memory. You can use + * this when you have a URL instead of a remote's name. + * + * @param out pointer to the new remote object + * @param repo the associtated repository + * @param name the remote's name + * @param url the remote repository's URL + * @param fetch the fetch refspec to use for this remote + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_new(git_remote **out, git_repository *repo, const char *name, const char *url, const char *fetch); + +/** + * Get the information for a particular remote + * + * @param out pointer to the new remote object + * @param cfg the repository's configuration + * @param name the remote's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_load(git_remote **out, git_repository *repo, const char *name); + +/** + * Save a remote to its repository's configuration + * + * @param remote the remote to save to config + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_save(const git_remote *remote); + +/** + * Get the remote's name + * + * @param remote the remote + * @return a pointer to the name + */ +GIT_EXTERN(const char *) git_remote_name(git_remote *remote); + +/** + * Get the remote's url + * + * @param remote the remote + * @return a pointer to the url + */ +GIT_EXTERN(const char *) git_remote_url(git_remote *remote); + +/** + * Set the remote's fetch refspec + * + * @param remote the remote + * @apram spec the new fetch refspec + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_fetchspec(git_remote *remote, const char *spec); + +/** + * Get the fetch refspec + * + * @param remote the remote + * @return a pointer to the fetch refspec or NULL if it doesn't exist + */ +GIT_EXTERN(const git_refspec *) git_remote_fetchspec(git_remote *remote); + +/** + * Set the remote's push refspec + * + * @param remote the remote + * @apram spec the new push refspec + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_pushspec(git_remote *remote, const char *spec); + +/** + * Get the push refspec + * + * @param remote the remote + * @return a pointer to the push refspec or NULL if it doesn't exist + */ + +GIT_EXTERN(const git_refspec *) git_remote_pushspec(git_remote *remote); + +/** + * Open a connection to a remote + * + * The transport is selected based on the URL. The direction argument + * is due to a limitation of the git protocol (over TCP or SSH) which + * starts up a specific binary which can only do the one or the other. + * + * @param remote the remote to connect to + * @param direction whether you want to receive or send data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_connect(git_remote *remote, int direction); + +/** + * Get a list of refs at the remote + * + * The remote (or more exactly its transport) must be connected. The + * memory belongs to the remote. + * + * @param refs where to store the refs + * @param remote the remote + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_ls(git_remote *remote, git_headlist_cb list_cb, void *payload); + +/** + * Download the packfile + * + * Negotiate what objects should be downloaded and download the + * packfile with those objects. The packfile is downloaded with a + * temporary filename, as it's final name is not known yet. If there + * was no packfile needed (all the objects were available locally), + * filename will be NULL and the function will return success. + * + * @param remote the remote to download from + * @param filename where to store the temproray filename + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_download(git_remote *remote, git_off_t *bytes, git_indexer_stats *stats); + +/** + * Check whether the remote is connected + * + * Check whether the remote's underlying transport is connected to the + * remote host. + * + * @return 1 if it's connected, 0 otherwise. + */ +GIT_EXTERN(int) git_remote_connected(git_remote *remote); + +/** + * Disconnect from the remote + * + * Close the connection to the remote and free the underlying + * transport. + * + * @param remote the remote to disconnect from + */ +GIT_EXTERN(void) git_remote_disconnect(git_remote *remote); + +/** + * Free the memory associated with a remote + * + * This also disconnects from the remote, if the connection + * has not been closed yet (using git_remote_disconnect). + * + * @param remote the remote to free + */ +GIT_EXTERN(void) git_remote_free(git_remote *remote); + +/** + * Update the tips to the new state + * + * @param remote the remote to update + * @param cb callback to run on each ref update. 'a' is the old value, 'b' is then new value + */ +GIT_EXTERN(int) git_remote_update_tips(git_remote *remote, int (*cb)(const char *refname, const git_oid *a, const git_oid *b)); + +/** + * Return whether a string is a valid remote URL + * + * @param tranport the url to check + * @param 1 if the url is valid, 0 otherwise + */ +GIT_EXTERN(int) git_remote_valid_url(const char *url); + +/** + * Return whether the passed URL is supported by this version of the library. + * + * @param url the url to check + * @return 1 if the url is supported, 0 otherwise +*/ +GIT_EXTERN(int) git_remote_supported_url(const char* url); + +/** + * Get a list of the configured remotes for a repo + * + * The string array must be freed by the user. + * + * @param remotes_list a string array with the names of the remotes + * @param repo the repository to query + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_list(git_strarray *remotes_list, git_repository *repo); + +/** + * Add a remote with the default fetch refspec to the repository's configuration + * + * @param out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + */ +GIT_EXTERN(int) git_remote_add(git_remote **out, git_repository *repo, const char *name, const char *url); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/repository.h b/git2/include/git2/repository.h new file mode 100644 index 000000000..3949438cf --- /dev/null +++ b/git2/include/git2/repository.h @@ -0,0 +1,304 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_repository_h__ +#define INCLUDE_git_repository_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/repository.h + * @brief Git repository management routines + * @defgroup git_repository Git repository management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Open a git repository. + * + * The 'path' argument must point to either a git repository + * folder, or an existing work dir. + * + * The method will automatically detect if 'path' is a normal + * or bare repository or fail is 'path' is neither. + * + * @param repository pointer to the repo which will be opened + * @param path the path to the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_open(git_repository **repository, const char *path); + +/** + * Look for a git repository and copy its path in the given buffer. + * The lookup start from base_path and walk across parent directories + * if nothing has been found. The lookup ends when the first repository + * is found, or when reaching a directory referenced in ceiling_dirs + * or when the filesystem changes (in case across_fs is true). + * + * The method will automatically detect if the repository is bare + * (if there is a repository). + * + * @param repository_path The user allocated buffer which will + * contain the found path. + * + * @param size repository_path size + * + * @param start_path The base path where the lookup starts. + * + * @param across_fs If true, then the lookup will not stop when a + * filesystem device change is detected while exploring parent directories. + * + * @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR separated list of + * absolute symbolic link free paths. The lookup will stop when any + * of this paths is reached. Note that the lookup always performs on + * start_path no matter start_path appears in ceiling_dirs ceiling_dirs + * might be NULL (which is equivalent to an empty string) + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_discover( + char *repository_path, + size_t size, + const char *start_path, + int across_fs, + const char *ceiling_dirs); + +enum { + GIT_REPOSITORY_OPEN_NO_SEARCH = (1 << 0), + GIT_REPOSITORY_OPEN_CROSS_FS = (1 << 1), +}; + +/** + * Find and open a repository with extended controls. + */ +GIT_EXTERN(int) git_repository_open_ext( + git_repository **repo, + const char *start_path, + uint32_t flags, + const char *ceiling_dirs); + +/** + * Free a previously allocated repository + * + * Note that after a repository is free'd, all the objects it has spawned + * will still exist until they are manually closed by the user + * with `git_object_free`, but accessing any of the attributes of + * an object without a backing repository will result in undefined + * behavior + * + * @param repo repository handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_repository_free(git_repository *repo); + +/** + * Creates a new Git repository in the given folder. + * + * TODO: + * - Reinit the repository + * + * @param repo_out pointer to the repo which will be created or reinitialized + * @param path the path to the repository + * @param is_bare if true, a Git repository without a working directory is created + * at the pointed path. If false, provided path will be considered as the working + * directory into which the .git directory will be created. + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_init(git_repository **repo_out, const char *path, unsigned is_bare); + +/** + * Retrieve and resolve the reference pointed at by HEAD. + * + * @param head_out pointer to the reference which will be retrieved + * @param repo a repository object + * + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_repository_head(git_reference **head_out, git_repository *repo); + +/** + * Check if a repository's HEAD is detached + * + * A repository's HEAD is detached when it points directly to a commit + * instead of a branch. + * + * @param repo Repo to test + * @return 1 if HEAD is detached, 0 if i'ts not; error code if there + * was an error. + */ +GIT_EXTERN(int) git_repository_head_detached(git_repository *repo); + +/** + * Check if the current branch is an orphan + * + * An orphan branch is one named from HEAD but which doesn't exist in + * the refs namespace, because it doesn't have any commit to point to. + * + * @param repo Repo to test + * @return 1 if the current branch is an orphan, 0 if it's not; error + * code if therewas an error + */ +GIT_EXTERN(int) git_repository_head_orphan(git_repository *repo); + +/** + * Check if a repository is empty + * + * An empty repository has just been initialized and contains + * no commits. + * + * @param repo Repo to test + * @return 1 if the repository is empty, 0 if it isn't, error code + * if the repository is corrupted + */ +GIT_EXTERN(int) git_repository_is_empty(git_repository *repo); + +/** + * Get the path of this repository + * + * This is the path of the `.git` folder for normal repositories, + * or of the repository itself for bare repositories. + * + * @param repo A repository object + * @return the path to the repository + */ +GIT_EXTERN(const char *) git_repository_path(git_repository *repo); + +/** + * Get the path of the working directory for this repository + * + * If the repository is bare, this function will always return + * NULL. + * + * @param repo A repository object + * @return the path to the working dir, if it exists + */ +GIT_EXTERN(const char *) git_repository_workdir(git_repository *repo); + +/** + * Set the path to the working directory for this repository + * + * The working directory doesn't need to be the same one + * that contains the `.git` folder for this repository. + * + * If this repository is bare, setting its working directory + * will turn it into a normal repository, capable of performing + * all the common workdir operations (checkout, status, index + * manipulation, etc). + * + * @param repo A repository object + * @param workdir The path to a working directory + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_set_workdir(git_repository *repo, const char *workdir); + +/** + * Check if a repository is bare + * + * @param repo Repo to test + * @return 1 if the repository is bare, 0 otherwise. + */ +GIT_EXTERN(int) git_repository_is_bare(git_repository *repo); + +/** + * Get the configuration file for this repository. + * + * If a configuration file has not been set, the default + * config set for the repository will be returned, including + * global and system configurations (if they are available). + * + * The configuration file must be freed once it's no longer + * being used by the user. + * + * @param out Pointer to store the loaded config file + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_config(git_config **out, git_repository *repo); + +/** + * Set the configuration file for this repository + * + * This configuration file will be used for all configuration + * queries involving this repository. + * + * The repository will keep a reference to the config file; + * the user must still free the config after setting it + * to the repository, or it will leak. + * + * @param repo A repository object + * @param config A Config object + */ +GIT_EXTERN(void) git_repository_set_config(git_repository *repo, git_config *config); + +/** + * Get the Object Database for this repository. + * + * If a custom ODB has not been set, the default + * database for the repository will be returned (the one + * located in `.git/objects`). + * + * The ODB must be freed once it's no longer being used by + * the user. + * + * @param out Pointer to store the loaded ODB + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_odb(git_odb **out, git_repository *repo); + +/** + * Set the Object Database for this repository + * + * The ODB will be used for all object-related operations + * involving this repository. + * + * The repository will keep a reference to the ODB; the user + * must still free the ODB object after setting it to the + * repository, or it will leak. + * + * @param repo A repository object + * @param odb An ODB object + */ +GIT_EXTERN(void) git_repository_set_odb(git_repository *repo, git_odb *odb); + +/** + * Get the Index file for this repository. + * + * If a custom index has not been set, the default + * index for the repository will be returned (the one + * located in `.git/index`). + * + * The index must be freed once it's no longer being used by + * the user. + * + * @param out Pointer to store the loaded index + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_index(git_index **out, git_repository *repo); + +/** + * Set the index file for this repository + * + * This index will be used for all index-related operations + * involving this repository. + * + * The repository will keep a reference to the index file; + * the user must still free the index after setting it + * to the repository, or it will leak. + * + * @param repo A repository object + * @param index An index object + */ +GIT_EXTERN(void) git_repository_set_index(git_repository *repo, git_index *index); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/revwalk.h b/git2/include/git2/revwalk.h new file mode 100644 index 000000000..aac6fb7c2 --- /dev/null +++ b/git2/include/git2/revwalk.h @@ -0,0 +1,237 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revwalk_h__ +#define INCLUDE_git_revwalk_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/revwalk.h + * @brief Git revision traversal routines + * @defgroup git_revwalk Git revision traversal routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Sort the repository contents in no particular ordering; + * this sorting is arbitrary, implementation-specific + * and subject to change at any time. + * This is the default sorting for new walkers. + */ +#define GIT_SORT_NONE (0) + +/** + * Sort the repository contents in topological order + * (parents before children); this sorting mode + * can be combined with time sorting. + */ +#define GIT_SORT_TOPOLOGICAL (1 << 0) + +/** + * Sort the repository contents by commit time; + * this sorting mode can be combined with + * topological sorting. + */ +#define GIT_SORT_TIME (1 << 1) + +/** + * Iterate through the repository contents in reverse + * order; this sorting mode can be combined with + * any of the above. + */ +#define GIT_SORT_REVERSE (1 << 2) + +/** + * Allocate a new revision walker to iterate through a repo. + * + * This revision walker uses a custom memory pool and an internal + * commit cache, so it is relatively expensive to allocate. + * + * For maximum performance, this revision walker should be + * reused for different walks. + * + * This revision walker is *not* thread safe: it may only be + * used to walk a repository on a single thread; however, + * it is possible to have several revision walkers in + * several different threads walking the same repository. + * + * @param walker pointer to the new revision walker + * @param repo the repo to walk through + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_new(git_revwalk **walker, git_repository *repo); + +/** + * Reset the revision walker for reuse. + * + * This will clear all the pushed and hidden commits, and + * leave the walker in a blank state (just like at + * creation) ready to receive new commit pushes and + * start a new walk. + * + * The revision walk is automatically reset when a walk + * is over. + * + * @param walker handle to reset. + */ +GIT_EXTERN(void) git_revwalk_reset(git_revwalk *walker); + +/** + * Mark a commit to start traversal from. + * + * The given OID must belong to a commit on the walked + * repository. + * + * The given commit will be used as one of the roots + * when starting the revision walk. At least one commit + * must be pushed the repository before a walk can + * be started. + * + * @param walk the walker being used for the traversal. + * @param oid the oid of the commit to start from. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push(git_revwalk *walk, const git_oid *oid); + +/** + * Push matching references + * + * The OIDs pinted to by the references that match the given glob + * pattern will be pushed to the revision walker. + * + * A leading 'refs/' is implied it not present as well as a trailing + * '/ *' if the glob lacks '?', '*' or '['. + * + * @param walk the walker being used for the traversal + * @param glob the glob pattern references should match + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_glob(git_revwalk *walk, const char *glob); + +/** + * Push the repository's HEAD + * + * @param walk the walker being used for the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_head(git_revwalk *walk); + +/** + * Mark a commit (and its ancestors) uninteresting for the output. + * + * The given OID must belong to a commit on the walked + * repository. + * + * The resolved commit and all its parents will be hidden from the + * output on the revision walk. + * + * @param walk the walker being used for the traversal. + * @param oid the oid of commit that will be ignored during the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide(git_revwalk *walk, const git_oid *oid); + +/** + * Hide matching references. + * + * The OIDs pinted to by the references that match the given glob + * pattern and their ancestors will be hidden from the output on the + * revision walk. + * + * A leading 'refs/' is implied it not present as well as a trailing + * '/ *' if the glob lacks '?', '*' or '['. + * + * @param walk the walker being used for the traversal + * @param glob the glob pattern references should match + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_glob(git_revwalk *walk, const char *glob); + +/** + * Hide the repository's HEAD + * + * @param walk the walker being used for the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_head(git_revwalk *walk); + +/** + * Push the OID pointed to by a reference + * + * The reference must point to a commit. + * + * @param walk the walker being used for the traversal + * @param refname the referece to push + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_ref(git_revwalk *walk, const char *refname); + +/** + * Hide the OID pointed to by a reference + * + * The reference must point to a commit. + * + * @param walk the walker being used for the traversal + * @param refname the referece to hide + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_ref(git_revwalk *walk, const char *refname); + +/** + * Get the next commit from the revision walk. + * + * The initial call to this method is *not* blocking when + * iterating through a repo with a time-sorting mode. + * + * Iterating with Topological or inverted modes makes the initial + * call blocking to preprocess the commit list, but this block should be + * mostly unnoticeable on most repositories (topological preprocessing + * times at 0.3s on the git.git repo). + * + * The revision walker is reset when the walk is over. + * + * @param oid Pointer where to store the oid of the next commit + * @param walk the walker to pop the commit from. + * @return 0 if the next commit was found; + * GIT_REVWALKOVER if there are no commits left to iterate + */ +GIT_EXTERN(int) git_revwalk_next(git_oid *oid, git_revwalk *walk); + +/** + * Change the sorting mode when iterating through the + * repository's contents. + * + * Changing the sorting mode resets the walker. + * + * @param walk the walker being used for the traversal. + * @param sort_mode combination of GIT_SORT_XXX flags + */ +GIT_EXTERN(void) git_revwalk_sorting(git_revwalk *walk, unsigned int sort_mode); + +/** + * Free a revision walker previously allocated. + * + * @param walk traversal handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_revwalk_free(git_revwalk *walk); + +/** + * Return the repository on which this walker + * is operating. + * + * @param walk the revision walker + * @return the repository being walked + */ +GIT_EXTERN(git_repository *) git_revwalk_repository(git_revwalk *walk); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/signature.h b/git2/include/git2/signature.h new file mode 100644 index 000000000..cbf94269f --- /dev/null +++ b/git2/include/git2/signature.h @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_signature_h__ +#define INCLUDE_git_signature_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/signature.h + * @brief Git signature creation + * @defgroup git_signature Git signature creation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new action signature. The signature must be freed + * manually or using git_signature_free + * + * @param sig_out new signature, in case of error NULL + * @param name name of the person + * @param email email of the person + * @param time time when the action happened + * @param offset timezone offset in minutes for the time + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_new(git_signature **sig_out, const char *name, const char *email, git_time_t time, int offset); + +/** + * Create a new action signature with a timestamp of 'now'. The + * signature must be freed manually or using git_signature_free + * + * @param sig_out new signature, in case of error NULL + * @param name name of the person + * @param email email of the person + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_now(git_signature **sig_out, const char *name, const char *email); + + +/** + * Create a copy of an existing signature. + * + * All internal strings are also duplicated. + * @param sig signature to duplicated + * @return a copy of sig, NULL on out of memory + */ +GIT_EXTERN(git_signature *) git_signature_dup(const git_signature *sig); + +/** + * Free an existing signature + * + * @param sig signature to free + */ +GIT_EXTERN(void) git_signature_free(git_signature *sig); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/status.h b/git2/include/git2/status.h new file mode 100644 index 000000000..6a424dfd6 --- /dev/null +++ b/git2/include/git2/status.h @@ -0,0 +1,164 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_status_h__ +#define INCLUDE_git_status_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/status.h + * @brief Git file status routines + * @defgroup git_status Git file status routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +enum { + GIT_STATUS_CURRENT = 0, + + GIT_STATUS_INDEX_NEW = (1 << 0), + GIT_STATUS_INDEX_MODIFIED = (1 << 1), + GIT_STATUS_INDEX_DELETED = (1 << 2), + + GIT_STATUS_WT_NEW = (1 << 3), + GIT_STATUS_WT_MODIFIED = (1 << 4), + GIT_STATUS_WT_DELETED = (1 << 5), + + GIT_STATUS_IGNORED = (1 << 6), +}; + +/** + * Gather file statuses and run a callback for each one. + * + * The callback is passed the path of the file, the status and the data + * pointer passed to this function. If the callback returns something other + * than 0, this function will return that value. + * + * @param repo a repository object + * @param callback the function to call on each file + * @return 0 on success or the return value of the callback that was non-zero + */ +GIT_EXTERN(int) git_status_foreach( + git_repository *repo, + int (*callback)(const char *, unsigned int, void *), + void *payload); + +/** + * Select the files on which to report status. + * + * - GIT_STATUS_SHOW_INDEX_AND_WORKDIR is the default. This is the + * rough equivalent of `git status --porcelain` where each file + * will receive a callback indicating its status in the index and + * in the workdir. + * - GIT_STATUS_SHOW_INDEX_ONLY will only make callbacks for index + * side of status. The status of the index contents relative to + * the HEAD will be given. + * - GIT_STATUS_SHOW_WORKDIR_ONLY will only make callbacks for the + * workdir side of status, reporting the status of workdir content + * relative to the index. + * - GIT_STATUS_SHOW_INDEX_THEN_WORKDIR behaves like index-only + * followed by workdir-only, causing two callbacks to be issued + * per file (first index then workdir). This is slightly more + * efficient than making separate calls. This makes it easier to + * emulate the output of a plain `git status`. + */ +typedef enum { + GIT_STATUS_SHOW_INDEX_AND_WORKDIR = 0, + GIT_STATUS_SHOW_INDEX_ONLY = 1, + GIT_STATUS_SHOW_WORKDIR_ONLY = 2, + GIT_STATUS_SHOW_INDEX_THEN_WORKDIR = 3, +} git_status_show_t; + +/** + * Flags to control status callbacks + * + * - GIT_STATUS_OPT_INCLUDE_UNTRACKED says that callbacks should + * be made on untracked files. These will only be made if the + * workdir files are included in the status "show" option. + * - GIT_STATUS_OPT_INCLUDE_IGNORED says that ignored files should + * get callbacks. Again, these callbacks will only be made if + * the workdir files are included in the status "show" option. + * Right now, there is no option to include all files in + * directories that are ignored completely. + * - GIT_STATUS_OPT_INCLUDE_UNMODIFIED indicates that callback + * should be made even on unmodified files. + * - GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories + * which appear to be submodules should just be skipped over. + * - GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS indicates that the + * contents of untracked directories should be included in the + * status. Normally if an entire directory is new, then just + * the top-level directory will be included (with a trailing + * slash on the entry name). Given this flag, the directory + * itself will not be included, but all the files in it will. + */ + +enum { + GIT_STATUS_OPT_INCLUDE_UNTRACKED = (1 << 0), + GIT_STATUS_OPT_INCLUDE_IGNORED = (1 << 1), + GIT_STATUS_OPT_INCLUDE_UNMODIFIED = (1 << 2), + GIT_STATUS_OPT_EXCLUDE_SUBMODULED = (1 << 3), + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS = (1 << 4), +}; + +/** + * Options to control how callbacks will be made by + * `git_status_foreach_ext()`. + */ +typedef struct { + git_status_show_t show; + unsigned int flags; + git_strarray pathspec; +} git_status_options; + +/** + * Gather file status information and run callbacks as requested. + */ +GIT_EXTERN(int) git_status_foreach_ext( + git_repository *repo, + const git_status_options *opts, + int (*callback)(const char *, unsigned int, void *), + void *payload); + +/** + * Get file status for a single file + * + * @param status_flags the status value + * @param repo a repository object + * @param path the file to retrieve status for, rooted at the repo's workdir + * @return GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when + * the file doesn't exist in any of HEAD, the index or the worktree, + * 0 otherwise + */ +GIT_EXTERN(int) git_status_file( + unsigned int *status_flags, + git_repository *repo, + const char *path); + +/** + * Test if the ignore rules apply to a given file. + * + * This function simply checks the ignore rules to see if they would apply + * to the given file. Unlike git_status_file(), this indicates if the file + * would be ignored regardless of whether the file is already in the index + * or in the repository. + * + * @param ignored boolean returning 0 if the file is not ignored, 1 if it is + * @param repo a repository object + * @param path the file to check ignores for, rooted at the repo's workdir. + * @return 0 if ignore rules could be processed for the file (regardless + * of whether it exists or not), or an error < 0 if they could not. + */ +GIT_EXTERN(int) git_status_should_ignore( + int *ignored, + git_repository *repo, + const char *path); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/submodule.h b/git2/include/git2/submodule.h new file mode 100644 index 000000000..930168275 --- /dev/null +++ b/git2/include/git2/submodule.h @@ -0,0 +1,103 @@ +/* + * Copyright (C) 2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_submodule_h__ +#define INCLUDE_git_submodule_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/submodule.h + * @brief Git submodule management utilities + * @defgroup git_submodule Git submodule management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +typedef enum { + GIT_SUBMODULE_UPDATE_CHECKOUT = 0, + GIT_SUBMODULE_UPDATE_REBASE = 1, + GIT_SUBMODULE_UPDATE_MERGE = 2 +} git_submodule_update_t; + +typedef enum { + GIT_SUBMODULE_IGNORE_ALL = 0, /* never dirty */ + GIT_SUBMODULE_IGNORE_DIRTY = 1, /* only dirty if HEAD moved */ + GIT_SUBMODULE_IGNORE_UNTRACKED = 2, /* dirty if tracked files change */ + GIT_SUBMODULE_IGNORE_NONE = 3 /* any change or untracked == dirty */ +} git_submodule_ignore_t; + +/** + * Description of submodule + * + * This record describes a submodule found in a repository. There + * should be an entry for every submodule found in the HEAD and for + * every submodule described in .gitmodules. The fields are as follows: + * + * - `name` is the name of the submodule from .gitmodules. + * - `path` is the path to the submodule from the repo working directory. + * It is almost always the same as `name`. + * - `url` is the url for the submodule. + * - `oid` is the HEAD SHA1 for the submodule. + * - `update` is a value from above - see gitmodules(5) update. + * - `ignore` is a value from above - see gitmodules(5) ignore. + * - `fetch_recurse` is 0 or 1 - see gitmodules(5) fetchRecurseSubmodules. + * - `refcount` is for internal use. + * + * If the submodule has been added to .gitmodules but not yet git added, + * then the `oid` will be zero. If the submodule has been deleted, but + * the delete has not been committed yet, then the `oid` will be set, but + * the `url` will be NULL. + */ +typedef struct { + char *name; + char *path; + char *url; + git_oid oid; /* sha1 of submodule HEAD ref or zero if not committed */ + git_submodule_update_t update; + git_submodule_ignore_t ignore; + int fetch_recurse; + int refcount; +} git_submodule; + +/** + * Iterate over all submodules of a repository. + * + * @param repo The repository + * @param callback Function to be called with the name of each submodule. + * Return a non-zero value to terminate the iteration. + * @param payload Extra data to pass to callback + * @return 0 on success, -1 on error, or non-zero return value of callback + */ +GIT_EXTERN(int) git_submodule_foreach( + git_repository *repo, + int (*callback)(const char *name, void *payload), + void *payload); + +/** + * Lookup submodule information by name or path. + * + * Given either the submodule name or path (they are ususally the same), + * this returns a structure describing the submodule. If the submodule + * does not exist, this will return GIT_ENOTFOUND and set the submodule + * pointer to NULL. + * + * @param submodule Pointer to submodule description object pointer.. + * @param repo The repository. + * @param name The name of the submodule. Trailing slashes will be ignored. + * @return 0 on success, GIT_ENOTFOUND if submodule does not exist, -1 on error + */ +GIT_EXTERN(int) git_submodule_lookup( + git_submodule **submodule, + git_repository *repo, + const char *name); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/tag.h b/git2/include/git2/tag.h new file mode 100644 index 000000000..859c28995 --- /dev/null +++ b/git2/include/git2/tag.h @@ -0,0 +1,297 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_tag_h__ +#define INCLUDE_git_tag_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/tag.h + * @brief Git tag parsing routines + * @defgroup git_tag Git tag management + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a tag object from the repository. + * + * @param tag pointer to the looked up tag + * @param repo the repo to use when locating the tag. + * @param id identity of the tag to locate. + * @return 0 or an error code + */ +GIT_INLINE(int) git_tag_lookup(git_tag **tag, git_repository *repo, const git_oid *id) +{ + return git_object_lookup((git_object **)tag, repo, id, (git_otype)GIT_OBJ_TAG); +} + +/** + * Lookup a tag object from the repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param tag pointer to the looked up tag + * @param repo the repo to use when locating the tag. + * @param id identity of the tag to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_INLINE(int) git_tag_lookup_prefix(git_tag **tag, git_repository *repo, const git_oid *id, unsigned int len) +{ + return git_object_lookup_prefix((git_object **)tag, repo, id, len, (git_otype)GIT_OBJ_TAG); +} + +/** + * Close an open tag + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a tag. Failure to do so will cause a memory leak. + * + * @param tag the tag to close + */ + +GIT_INLINE(void) git_tag_free(git_tag *tag) +{ + git_object_free((git_object *) tag); +} + + +/** + * Get the id of a tag. + * + * @param tag a previously loaded tag. + * @return object identity for the tag. + */ +GIT_EXTERN(const git_oid *) git_tag_id(git_tag *tag); + +/** + * Get the tagged object of a tag + * + * This method performs a repository lookup for the + * given object and returns it + * + * @param target pointer where to store the target + * @param tag a previously loaded tag. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_target(git_object **target, git_tag *tag); + +/** + * Get the OID of the tagged object of a tag + * + * @param tag a previously loaded tag. + * @return pointer to the OID + */ +GIT_EXTERN(const git_oid *) git_tag_target_oid(git_tag *tag); + +/** + * Get the type of a tag's tagged object + * + * @param tag a previously loaded tag. + * @return type of the tagged object + */ +GIT_EXTERN(git_otype) git_tag_type(git_tag *tag); + +/** + * Get the name of a tag + * + * @param tag a previously loaded tag. + * @return name of the tag + */ +GIT_EXTERN(const char *) git_tag_name(git_tag *tag); + +/** + * Get the tagger (author) of a tag + * + * @param tag a previously loaded tag. + * @return reference to the tag's author + */ +GIT_EXTERN(const git_signature *) git_tag_tagger(git_tag *tag); + +/** + * Get the message of a tag + * + * @param tag a previously loaded tag. + * @return message of the tag + */ +GIT_EXTERN(const char *) git_tag_message(git_tag *tag); + + +/** + * Create a new tag in the repository from an object + * + * A new reference will also be created pointing to + * this tag object. If `force` is true and a reference + * already exists with the given name, it'll be replaced. + * + * The message will be cleaned up from excess whitespace + * it will be made sure that the last line ends with a '\n'. + * + * @param oid Pointer where to store the OID of the + * newly created tag. If the tag already exists, this parameter + * will be the oid of the existing tag, and the function will + * return a GIT_EEXISTS error code. + * + * @param repo Repository where to store the tag + * + * @param tag_name Name for the tag; this name is validated + * for consistency. It should also not conflict with an + * already existing tag name + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param tagger Signature of the tagger for this tag, and + * of the tagging time + * + * @param message Full message for this tag + * + * @param force Overwrite existing references + * + * @return 0 or an error code + * A tag object is written to the ODB, and a proper reference + * is written in the /refs/tags folder, pointing to it + */ +GIT_EXTERN(int) git_tag_create( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + const git_signature *tagger, + const char *message, + int force); + +/** + * Create a new tag in the repository from a buffer + * + * @param oid Pointer where to store the OID of the newly created tag + * @param repo Repository where to store the tag + * @param buffer Raw tag data + * @param force Overwrite existing tags + * @return 0 on sucess; error code otherwise + */ +GIT_EXTERN(int) git_tag_create_frombuffer( + git_oid *oid, + git_repository *repo, + const char *buffer, + int force); + +/** + * Create a new lightweight tag pointing at a target object + * + * A new direct reference will be created pointing to + * this target object. If `force` is true and a reference + * already exists with the given name, it'll be replaced. + * + * @param oid Pointer where to store the OID of the provided + * target object. If the tag already exists, this parameter + * will be filled with the oid of the existing pointed object + * and the function will return a GIT_EEXISTS error code. + * + * @param repo Repository where to store the lightweight tag + * + * @param tag_name Name for the tag; this name is validated + * for consistency. It should also not conflict with an + * already existing tag name + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param force Overwrite existing references + * + * @return 0 or an error code + * A proper reference is written in the /refs/tags folder, + * pointing to the provided target object + */ +GIT_EXTERN(int) git_tag_create_lightweight( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + int force); + +/** + * Delete an existing tag reference. + * + * @param repo Repository where lives the tag + * + * @param tag_name Name of the tag to be deleted; + * this name is validated for consistency. + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_delete( + git_repository *repo, + const char *tag_name); + +/** + * Fill a list with all the tags in the Repository + * + * The string array will be filled with the names of the + * matching tags; these values are owned by the user and + * should be free'd manually when no longer needed, using + * `git_strarray_free`. + * + * @param tag_names Pointer to a git_strarray structure where + * the tag names will be stored + * @param repo Repository where to find the tags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_list( + git_strarray *tag_names, + git_repository *repo); + +/** + * Fill a list with all the tags in the Repository + * which name match a defined pattern + * + * If an empty pattern is provided, all the tags + * will be returned. + * + * The string array will be filled with the names of the + * matching tags; these values are owned by the user and + * should be free'd manually when no longer needed, using + * `git_strarray_free`. + * + * @param tag_names Pointer to a git_strarray structure where + * the tag names will be stored + * @param pattern Standard fnmatch pattern + * @param repo Repository where to find the tags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_list_match( + git_strarray *tag_names, + const char *pattern, + git_repository *repo); + +/** + * Recursively peel a tag until a non tag git_object + * is met + * + * The retrieved `tag_target` object is owned by the repository + * and should be closed with the `git_object_free` method. + * + * @param tag_target Pointer to the peeled git_object + * @param tag The tag to be processed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_peel( + git_object **tag_target, + git_tag *tag); + +/** @} */ +GIT_END_DECL +#endif diff --git a/git2/include/git2/threads.h b/git2/include/git2/threads.h new file mode 100644 index 000000000..567a10487 --- /dev/null +++ b/git2/include/git2/threads.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_threads_h__ +#define INCLUDE_git_threads_h__ + +#include "common.h" + +/** + * @file git2/threads.h + * @brief Library level thread functions + * @defgroup git_thread Threading functions + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Init the threading system. + * + * If libgit2 has been built with GIT_THREADS + * on, this function must be called once before + * any other library functions. + * + * If libgit2 has been built without GIT_THREADS + * support, this function is a no-op. + */ +GIT_EXTERN(void) git_threads_init(void); + +/** + * Shutdown the threading system. + * + * If libgit2 has been built with GIT_THREADS + * on, this function must be called before shutting + * down the library. + * + * If libgit2 has been built without GIT_THREADS + * support, this function is a no-op. + */ +GIT_EXTERN(void) git_threads_shutdown(void); + +/** @} */ +GIT_END_DECL +#endif + diff --git a/git2/include/git2/tree.h b/git2/include/git2/tree.h new file mode 100644 index 000000000..777f8ff0d --- /dev/null +++ b/git2/include/git2/tree.h @@ -0,0 +1,318 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_tree_h__ +#define INCLUDE_git_tree_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/tree.h + * @brief Git tree parsing, loading routines + * @defgroup git_tree Git tree parsing, loading routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a tree object from the repository. + * + * @param tree pointer to the looked up tree + * @param repo the repo to use when locating the tree. + * @param id identity of the tree to locate. + * @return 0 or an error code + */ +GIT_INLINE(int) git_tree_lookup(git_tree **tree, git_repository *repo, const git_oid *id) +{ + return git_object_lookup((git_object **)tree, repo, id, GIT_OBJ_TREE); +} + +/** + * Lookup a tree object from the repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param tree pointer to the looked up tree + * @param repo the repo to use when locating the tree. + * @param id identity of the tree to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_INLINE(int) git_tree_lookup_prefix(git_tree **tree, git_repository *repo, const git_oid *id, unsigned int len) +{ + return git_object_lookup_prefix((git_object **)tree, repo, id, len, GIT_OBJ_TREE); +} + +/** + * Close an open tree + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a tree. Failure to do so will cause a memory leak. + * + * @param tree the tree to close + */ + +GIT_INLINE(void) git_tree_free(git_tree *tree) +{ + git_object_free((git_object *) tree); +} + + +/** + * Get the id of a tree. + * + * @param tree a previously loaded tree. + * @return object identity for the tree. + */ +GIT_EXTERN(const git_oid *) git_tree_id(git_tree *tree); + +/** + * Get the number of entries listed in a tree + * + * @param tree a previously loaded tree. + * @return the number of entries in the tree + */ +GIT_EXTERN(unsigned int) git_tree_entrycount(git_tree *tree); + +/** + * Lookup a tree entry by its filename + * + * @param tree a previously loaded tree. + * @param filename the filename of the desired entry + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byname(git_tree *tree, const char *filename); + +/** + * Lookup a tree entry by its position in the tree + * + * @param tree a previously loaded tree. + * @param idx the position in the entry list + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byindex(git_tree *tree, unsigned int idx); + +/** + * Get the UNIX file attributes of a tree entry + * + * @param entry a tree entry + * @return attributes as an integer + */ +GIT_EXTERN(unsigned int) git_tree_entry_attributes(const git_tree_entry *entry); + +/** + * Get the filename of a tree entry + * + * @param entry a tree entry + * @return the name of the file + */ +GIT_EXTERN(const char *) git_tree_entry_name(const git_tree_entry *entry); + +/** + * Get the id of the object pointed by the entry + * + * @param entry a tree entry + * @return the oid of the object + */ +GIT_EXTERN(const git_oid *) git_tree_entry_id(const git_tree_entry *entry); + +/** + * Get the type of the object pointed by the entry + * + * @param entry a tree entry + * @return the type of the pointed object + */ +GIT_EXTERN(git_otype) git_tree_entry_type(const git_tree_entry *entry); + +/** + * Convert a tree entry to the git_object it points too. + * + * @param object pointer to the converted object + * @param repo repository where to lookup the pointed object + * @param entry a tree entry + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_entry_to_object(git_object **object_out, git_repository *repo, const git_tree_entry *entry); + +/** + * Write a tree to the ODB from the index file + * + * This method will scan the index and write a representation + * of its current state back to disk; it recursively creates + * tree objects for each of the subtrees stored in the index, + * but only returns the OID of the root tree. This is the OID + * that can be used e.g. to create a commit. + * + * The index instance cannot be bare, and needs to be associated + * to an existing repository. + * + * @param oid Pointer where to store the written tree + * @param index Index to write + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_create_fromindex(git_oid *oid, git_index *index); + +/** + * Create a new tree builder. + * + * The tree builder can be used to create or modify + * trees in memory and write them as tree objects to the + * database. + * + * If the `source` parameter is not NULL, the tree builder + * will be initialized with the entries of the given tree. + * + * If the `source` parameter is NULL, the tree builder will + * have no entries and will have to be filled manually. + * + * @param builder_p Pointer where to store the tree builder + * @param source Source tree to initialize the builder (optional) + * @return 0 on sucess; error code otherwise + */ +GIT_EXTERN(int) git_treebuilder_create(git_treebuilder **builder_p, const git_tree *source); + +/** + * Clear all the entires in the builder + * + * @param bld Builder to clear + */ +GIT_EXTERN(void) git_treebuilder_clear(git_treebuilder *bld); + +/** + * Free a tree builder + * + * This will clear all the entries and free to builder. + * Failing to free the builder after you're done using it + * will result in a memory leak + * + * @param bld Builder to free + */ +GIT_EXTERN(void) git_treebuilder_free(git_treebuilder *bld); + +/** + * Get an entry from the builder from its filename + * + * The returned entry is owned by the builder and should + * not be freed manually. + * + * @param bld Tree builder + * @param filename Name of the entry + * @return pointer to the entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_treebuilder_get(git_treebuilder *bld, const char *filename); + +/** + * Add or update an entry to the builder + * + * Insert a new entry for `filename` in the builder with the + * given attributes. + * + * if an entry named `filename` already exists, its attributes + * will be updated with the given ones. + * + * The optional pointer `entry_out` can be used to retrieve a + * pointer to the newly created/updated entry. + * + * @param entry_out Pointer to store the entry (optional) + * @param bld Tree builder + * @param filename Filename of the entry + * @param id SHA1 oid of the entry + * @param attributes Folder attributes of the entry + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_insert(git_tree_entry **entry_out, git_treebuilder *bld, const char *filename, const git_oid *id, unsigned int attributes); + +/** + * Remove an entry from the builder by its filename + * + * @param bld Tree builder + * @param filename Filename of the entry to remove + */ +GIT_EXTERN(int) git_treebuilder_remove(git_treebuilder *bld, const char *filename); + +/** + * Filter the entries in the tree + * + * The `filter` callback will be called for each entry + * in the tree with a pointer to the entry and the + * provided `payload`: if the callback returns 1, the + * entry will be filtered (removed from the builder). + * + * @param bld Tree builder + * @param filter Callback to filter entries + */ +GIT_EXTERN(void) git_treebuilder_filter(git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload); + +/** + * Write the contents of the tree builder as a tree object + * + * The tree builder will be written to the given `repo`, and + * it's identifying SHA1 hash will be stored in the `oid` + * pointer. + * + * @param oid Pointer where to store the written OID + * @param repo Repository where to store the object + * @param bld Tree builder to write + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_write(git_oid *oid, git_repository *repo, git_treebuilder *bld); + +/** + * Retrieve a subtree contained in a tree, given its + * relative path. + * + * The returned tree is owned by the repository and + * should be closed with the `git_object_free` method. + * + * @param subtree Pointer where to store the subtree + * @param root A previously loaded tree which will be the root of the relative path + * @param subtree_path Path to the contained subtree + * @return 0 on success; GIT_ENOTFOUND if the path does not lead to a subtree + */ +GIT_EXTERN(int) git_tree_get_subtree(git_tree **subtree, git_tree *root, const char *subtree_path); + +/** Callback for the tree traversal method */ +typedef int (*git_treewalk_cb)(const char *root, git_tree_entry *entry, void *payload); + +/** Tree traversal modes */ +enum git_treewalk_mode { + GIT_TREEWALK_PRE = 0, /* Pre-order */ + GIT_TREEWALK_POST = 1, /* Post-order */ +}; + +/** + * Traverse the entries in a tree and its subtrees in + * post or pre order + * + * The entries will be traversed in the specified order, + * children subtrees will be automatically loaded as required, + * and the `callback` will be called once per entry with + * the current (relative) root for the entry and the entry + * data itself. + * + * If the callback returns a negative value, the passed entry + * will be skiped on the traversal. + * + * @param tree The tree to walk + * @param callback Function to call on each tree entry + * @param mode Traversal mode (pre or post-order) + * @param payload Opaque pointer to be passed on each callback + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_walk(git_tree *tree, git_treewalk_cb callback, int mode, void *payload); + +/** @} */ + +GIT_END_DECL +#endif diff --git a/git2/include/git2/types.h b/git2/include/git2/types.h new file mode 100644 index 000000000..cfb0acf33 --- /dev/null +++ b/git2/include/git2/types.h @@ -0,0 +1,177 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_types_h__ +#define INCLUDE_git_types_h__ + +#include "common.h" + +/** + * @file git2/types.h + * @brief libgit2 base & compatibility types + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Cross-platform compatibility types for off_t / time_t + * + * NOTE: This needs to be in a public header so that both the library + * implementation and client applications both agree on the same types. + * Otherwise we get undefined behavior. + * + * Use the "best" types that each platform provides. Currently we truncate + * these intermediate representations for compatibility with the git ABI, but + * if and when it changes to support 64 bit types, our code will naturally + * adapt. + * NOTE: These types should match those that are returned by our internal + * stat() functions, for all platforms. + */ +#include + +#if defined(_MSC_VER) + +typedef __int64 git_off_t; +typedef __time64_t git_time_t; + +#elif defined(__MINGW32__) + +typedef off64_t git_off_t; +typedef __time64_t git_time_t; + +#elif defined(__HAIKU__) + +typedef __haiku_std_int64 git_off_t; +typedef __haiku_std_int64 git_time_t; + +#else /* POSIX */ + +/* + * Note: Can't use off_t since if a client program includes + * before us (directly or indirectly), they'll get 32 bit off_t in their client + * app, even though /we/ define _FILE_OFFSET_BITS=64. + */ +typedef int64_t git_off_t; +typedef int64_t git_time_t; + +#endif + +/** Basic type (loose or packed) of any Git object. */ +typedef enum { + GIT_OBJ_ANY = -2, /**< Object can be any of the following */ + GIT_OBJ_BAD = -1, /**< Object is invalid. */ + GIT_OBJ__EXT1 = 0, /**< Reserved for future use. */ + GIT_OBJ_COMMIT = 1, /**< A commit object. */ + GIT_OBJ_TREE = 2, /**< A tree (directory listing) object. */ + GIT_OBJ_BLOB = 3, /**< A file revision object. */ + GIT_OBJ_TAG = 4, /**< An annotated tag object. */ + GIT_OBJ__EXT2 = 5, /**< Reserved for future use. */ + GIT_OBJ_OFS_DELTA = 6, /**< A delta, base is given by an offset. */ + GIT_OBJ_REF_DELTA = 7, /**< A delta, base is given by object id. */ +} git_otype; + +/** An open object database handle. */ +typedef struct git_odb git_odb; + +/** A custom backend in an ODB */ +typedef struct git_odb_backend git_odb_backend; + +/** An object read from the ODB */ +typedef struct git_odb_object git_odb_object; + +/** A stream to read/write from the ODB */ +typedef struct git_odb_stream git_odb_stream; + +/** + * Representation of an existing git repository, + * including all its object contents + */ +typedef struct git_repository git_repository; + +/** Representation of a generic object in a repository */ +typedef struct git_object git_object; + +/** Representation of an in-progress walk through the commits in a repo */ +typedef struct git_revwalk git_revwalk; + +/** Parsed representation of a tag object. */ +typedef struct git_tag git_tag; + +/** In-memory representation of a blob object. */ +typedef struct git_blob git_blob; + +/** Parsed representation of a commit object. */ +typedef struct git_commit git_commit; + +/** Representation of each one of the entries in a tree object. */ +typedef struct git_tree_entry git_tree_entry; + +/** Representation of a tree object. */ +typedef struct git_tree git_tree; + +/** Constructor for in-memory trees */ +typedef struct git_treebuilder git_treebuilder; + +/** Memory representation of an index file. */ +typedef struct git_index git_index; + +/** Memory representation of a set of config files */ +typedef struct git_config git_config; + +/** Interface to access a configuration file */ +typedef struct git_config_file git_config_file; + +/** Representation of a reference log entry */ +typedef struct git_reflog_entry git_reflog_entry; + +/** Representation of a reference log */ +typedef struct git_reflog git_reflog; + +/** Representation of a git note */ +typedef struct git_note git_note; + +/** Time in a signature */ +typedef struct git_time { + git_time_t time; /** time in seconds from epoch */ + int offset; /** timezone offset, in minutes */ +} git_time; + +/** An action signature (e.g. for committers, taggers, etc) */ +typedef struct git_signature { + char *name; /** full name of the author */ + char *email; /** email of the author */ + git_time when; /** time when the action happened */ +} git_signature; + +/** In-memory representation of a reference. */ +typedef struct git_reference git_reference; + +/** Basic type of any Git reference. */ +typedef enum { + GIT_REF_INVALID = 0, /** Invalid reference */ + GIT_REF_OID = 1, /** A reference which points at an object id */ + GIT_REF_SYMBOLIC = 2, /** A reference which points at another reference */ + GIT_REF_PACKED = 4, + GIT_REF_HAS_PEEL = 8, + GIT_REF_LISTALL = GIT_REF_OID|GIT_REF_SYMBOLIC|GIT_REF_PACKED, +} git_ref_t; + +/** Basic type of any Git branch. */ +typedef enum { + GIT_BRANCH_LOCAL = 1, + GIT_BRANCH_REMOTE = 2, +} git_branch_t; + +typedef struct git_refspec git_refspec; +typedef struct git_remote git_remote; + +typedef struct git_remote_head git_remote_head; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/git2/include/git2/version.h b/git2/include/git2/version.h new file mode 100644 index 000000000..8edbe323c --- /dev/null +++ b/git2/include/git2/version.h @@ -0,0 +1,15 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_version_h__ +#define INCLUDE_git_version_h__ + +#define LIBGIT2_VERSION "0.17.0" +#define LIBGIT2_VER_MAJOR 0 +#define LIBGIT2_VER_MINOR 17 +#define LIBGIT2_VER_REVISION 0 + +#endif diff --git a/git2/include/git2/windows.h b/git2/include/git2/windows.h new file mode 100644 index 000000000..8b743f0aa --- /dev/null +++ b/git2/include/git2/windows.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2009-2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_windows_h__ +#define INCLUDE_git_windows_h__ + +#include "common.h" + +/** + * @file git2/windows.h + * @brief Windows-specific functions + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Set the active codepage for Windows syscalls + * + * All syscalls performed by the library will assume + * this codepage when converting paths and strings + * to use by the Windows kernel. + * + * The default value of UTF-8 will work automatically + * with most Git repositories created on Unix systems. + * + * This settings needs only be changed when working + * with repositories that contain paths in specific, + * non-UTF codepages. + * + * A full list of all available codepage identifiers may + * be found at: + * + * http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx + * + * @param codepage numeric codepage identifier + */ +GIT_EXTERN(void) gitwin_set_codepage(unsigned int codepage); + +/** + * Return the active codepage for Windows syscalls + * + * @return numeric codepage identifier + */ +GIT_EXTERN(unsigned int) gitwin_get_codepage(void); + +/** + * Set the active Windows codepage to UTF-8 (this is + * the default value) + */ +GIT_EXTERN(void) gitwin_set_utf8(void); + +/** @} */ +GIT_END_DECL +#endif +