Re: CvsNT API implemented in shared library
"kaczoroj" <[email protected]> Tue, 28 Nov 2006 00:20:03 -0000
| Newsgroups | gmane.comp.version-control.cvs.gui.devel |
|---|---|
| Message-ID | <[email protected]> |
--NkibcVsRWPLmpkHxNHUlBmm8MTKjBhbCkYTdqOe Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Guy, To make a long story short: There is a lot more things to do and=20 piping works pretty well. Piping also has some advantages other=20 linking with API's thanks to a separation from cvs client binary. On top of that I would be very cautious with recent CVSNT project=20 releases. Ever since it become commercial things are not going well=20 from a cvsgui point of view, but that is a story for another=20 discussion... Best Regards, Jerzy --- In [email protected], Guy Rouillier <guyr-ml1@...> wrote: > > While setting up a new Linux instance in a virtual machine, I=20 downloaded > the latest stable CvsNT version. While building, I noticed a new > subdirectory called "cvsapi" and investigated. At the bottom of=20 this > email is an exchange I had on the CvsNT Dev mailing list. I=20 haven't had > a chance yet to read the code Arthur pointed me to, but I thought=20 others > on this list might find this interesting. Finally, we have an > alternative to piping input and output from a separate CVS process. >=20 > I'd prefer an API implementation, assuming of course it has all the > options the command line provides. I'd like to solicit other=20 opinions. > Of course, such a move would require use of CvsNT, since the old=20 CVS > doesn't have this option. >=20 > Here's my email and a reply from the CvsNT Dev list: >=20 > Guy, >=20 > The CVSAPI provides a bunch of methods that are useful for CVS GUI=20 clients, > including spawning CVS processes, finding CVS Servers (browse and=20 define > servers) etc. >=20 > There is not (yet) an API for the CVS/Entries - but that will be=20 done as a > part of the EVS project (I think) - check out the evs-dev newsgroup=20 for > more > info on that. >=20 > The documentation is what is in the source code... If you checkout=20 the > cvsnt > project and look in the WorkspaceViewer folder - that is a sample=20 app that > uses most of the main features of CVSAPI... >=20 > Regards, >=20 >=20 > Arthur >=20 > "Guy Rouillier" <guyr-ml1@...> wrote in message > news:mailman.238.1164500728.16616.cvsnt-dev@... > > >I originally asked this on the users list, and a suggestion=20 there was to > > >post over here. > > > > > > I work on gCvs, one of the CvsGui family of products. We=20 currently use > > > the cvsgui pipe implementation to provide CVS input and receive > output. I > > > noticed when building the latest cvsnt that it builds a shared=20 cvsapi > > > library. I couldn't locate any documentation. Is this library > intended > > > to be a direct API replacement for the old pipe method of=20 invoking CVS? > > > If so, that would be great! Does any documentation exist?=20=20 Does the > API > > > provide functions to navigate the local sandbox, e.g.,=20 retrieving a > > > filtered set of CVS entries in the sandbox? Thanks. > > > > > > -- > > > Guy Rouillier >=20 >=20 >=20 > --=20 > Guy Rouillier > --NkibcVsRWPLmpkHxNHUlBmm8MTKjBhbCkYTdqOe Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> </head> <!-- Network content --> <body style="background-color: #ffffff;"> <!--~-|**|PrettyHtmlStartT|**|-~--> <div id="ygrp-mlmsg" style="width:655px; position:relative;"> <div id="ygrp-msg" style="width: 490px; padding: 0 15px 0 0; float:left; z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~--> <div id="ygrp-text"> <p>Guy,<br> <br> To make a long story short: There is a lot more things to do and <br> piping works pretty well. Piping also has some advantages other <br> linking with API's thanks to a separation from cvs client binary.<br> <br> On top of that I would be very cautious with recent CVSNT project <br> releases. Ever since it become commercial things are not going well <br> from a cvsgui point of view, but that is a story for another <br> discussion..<wbr>.<br> <br> Best Regards,<br> Jerzy<br> <br> --- In <a href="mailto:cvsgui-dev%40yahoogroups.com">cvsgui-dev@yahoogro<wbr>ups.com</a>, Guy Rouillier <guyr-ml1@..<wbr>.> wrote:<br> ><br> > While setting up a new Linux instance in a virtual machine, I <br> downloaded<br> > the latest stable CvsNT version. While building, I noticed a new<br> > subdirectory called "cvsapi" and investigated. At the bottom of <br> this<br> > email is an exchange I had on the CvsNT Dev mailing list. I <br> haven't had<br> > a chance yet to read the code Arthur pointed me to, but I thought <br> others<br> > on this list might find this interesting. Finally, we have an<br> > alternative to piping input and output from a separate CVS process.<br> > <br> > I'd prefer an API implementation, assuming of course it has all the<br> > options the command line provides. I'd like to solicit other <br> opinions.<br> > Of course, such a move would require use of CvsNT, since the old <br> CVS<br> > doesn't have this option.<br> > <br> > Here's my email and a reply from the CvsNT Dev list:<br> > <br> > Guy,<br> > <br> > The CVSAPI provides a bunch of methods that are useful for CVS GUI <br> clients,<br> > including spawning CVS processes, finding CVS Servers (browse and <br> define<br> > servers) etc.<br> > <br> > There is not (yet) an API for the CVS/Entries - but that will be <br> done as a<br> > part of the EVS project (I think) - check out the evs-dev newsgroup <br> for<br> > more<br> > info on that.<br> > <br> > The documentation is what is in the source code... If you checkout <br> the<br> > cvsnt<br> > project and look in the WorkspaceViewer folder - that is a sample <br> app that<br> > uses most of the main features of CVSAPI...<br> > <br> > Regards,<br> > <br> > <br> > Arthur<br> > <br> > "Guy Rouillier" <guyr-ml1@..<wbr>.> wrote in message<br> > news:mailman.<wbr>238.1164500728.<wbr>16616.cvsnt-<wbr>dev@...<br> > > >I originally asked this on the users list, and a suggestion <br> there was to<br> > > >post over here.<br> > > ><br> > > > I work on gCvs, one of the CvsGui family of products. We <br> currently use<br> > > > the cvsgui pipe implementation to provide CVS input and receive<br> > output. I<br> > > > noticed when building the latest cvsnt that it builds a shared <br> cvsapi<br> > > > library. I couldn't locate any documentation. Is this library<br> > intended<br> > > > to be a direct API replacement for the old pipe method of <br> invoking CVS?<br> > > > If so, that would be great! Does any documentation exist? <br> Does the<br> > API<br> > > > provide functions to navigate the local sandbox, e.g., <br> retrieving a<br> > > > filtered set of CVS entries in the sandbox? Thanks.<br> > > ><br> > > > --<br> > > > Guy Rouillier<br> > <br> > <br> > <br> > -- <br> > Guy Rouillier<br> ><br> <br> </p> </div> <!--~-|**|PrettyHtmlStart|**|-~--> <span width="1" style="color: white;">__._,_.___</span> <!-- Start the section with Message In topic --> <div id="ygrp-actbar"> <span class="left"> <a href="http://groups.yahoo.com/group/cvsgui-dev/message/1460;_ylc=X3oDMTM0MWwzMGgyBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBG1zZ0lkAzE0NjEEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMTY0NjczODE3BHRwY0lkAzE0NjA-"> Messages in this topic </a> (<span class="bld">2</span>) </span> <a href="http://groups.yahoo.com/group/cvsgui-dev/post;_ylc=X3oDMTJwaDdtZzFxBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBG1zZ0lkAzE0NjEEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMTY0NjczODE3?act=reply&messageNum=1461"> <span class="bld"> Reply </span> (via web post) </a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/post;_ylc=X3oDMTJlcWZhYXUxBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTE2NDY3MzgxNw--" class="bld"> Start a new topic </a> </div> <!------- Start Nav Bar ------> <!-- |**|begin egp html banner|**| --> <div id="ygrp-vitnav"> <a href="http://groups.yahoo.com/group/cvsgui-dev/messages;_ylc=X3oDMTJlZXBjNzJkBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTE2NDY3MzgxNw--">Messages</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/files;_ylc=X3oDMTJmOTBubHBnBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzExNjQ2NzM4MTc-">Files</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/photos;_ylc=X3oDMTJla2s0bjNwBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTE2NDY3MzgxNw--">Photos</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/links;_ylc=X3oDMTJmaWs3ajJqBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzExNjQ2NzM4MTc-">Links</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/database;_ylc=X3oDMTJjMm04ODl0BF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2RiBHN0aW1lAzExNjQ2NzM4MTc-">Database</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/polls;_ylc=X3oDMTJmbGFjbDZsBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA3BvbGxzBHN0aW1lAzExNjQ2NzM4MTc-">Polls</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/members;_ylc=X3oDMTJlYnNjZ25jBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA21icnMEc3RpbWUDMTE2NDY3MzgxNw--">Members</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/calendar;_ylc=X3oDMTJkMjlmcG8zBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2NhbARzdGltZQMxMTY0NjczODE3">Calendar</a> </div> <!-- |**|end egp html banner|**| --> <!-- Do not have place to put it yet --> <div id="ygrp-grft"> </div> <!-- yahoo logo --> <!-- |**|begin egp html banner|**| --> <div id="ygrp-ft"> <a href="http://groups.yahoo.com/;_ylc=X3oDMTJka2x2NWxuBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMTY0NjczODE3"> <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br> <a href="http://groups.yahoo.com/group/cvsgui-dev/join;_ylc=X3oDMTJmdTV1NHBvBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzExNjQ2NzM4MTc-">Change settings via the Web</a> (Yahoo! ID required) <br> Change settings via email: <a href="mailto:[email protected]?subject=Email Delivery: Digest">Switch delivery to Daily Digest</a> | <a href = "mailto:[email protected]?subject=Change Delivery Format: Traditional">Switch format to Traditional</a> <br> <a href="http://groups.yahoo.com/group/cvsgui-dev;_ylc=X3oDMTJkaW9wMWRyBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMTY0NjczODE3"> Visit Your Group </a> | <a href="http://docs.yahoo.com/info/terms/"> Yahoo! Groups Terms of Use </a> | <a href="mailto:[email protected]?subject="> Unsubscribe </a> </div> <!-- |**|end egp html banner|**| --> </div> <!-- ygrp-msg --> <!-- Sponsor --> <!-- |**|begin egp html banner|**| --> <div id="ygrp-sponsor" style="width:140px;float: left; clear: none; margin-left: 5px; background:white; margin-bottom:25px ;position:absolute; top:0; right: 0;"> <!-- Network content --> <!-- Start vitality --> <div id="ygrp-vital"> <a href="http://groups.yahoo.com/group/cvsgui-dev;_ylc=X3oDMTJlNGdmODlmBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTE2NDY3MzgxNw--"> Visit Your Group </a> </div> <div id="hd">SPONSORED LINKS</div> <div id="ov"> <ul> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjM2RtdXQ3BF9TAzk3MzU5NzE0BF9wAzEEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjQ2NzM4MTk-?t=ms&k=Software+development+services&w1=Software+development+services&w2=Software+development&w3=Development+software&w4=Software+development+company&w5=Custom+software+development&c=5&s=154&g=2&.sig=7x2qo6dMYy1p5AU1pt1tiQ">Software development services</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjbHEyYjY2BF9TAzk3MzU5NzE0BF9wAzIEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjQ2NzM4MTk-?t=ms&k=Software+development&w1=Software+development+services&w2=Software+development&w3=Development+software&w4=Software+development+company&w5=Custom+software+development&c=5&s=154&g=2&.sig=BN1lrlsQSEiIXBpRBgFwvg">Software development</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjMjhhaTByBF9TAzk3MzU5NzE0BF9wAzMEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjQ2NzM4MTk-?t=ms&k=Development+software&w1=Software+development+services&w2=Software+development&w3=Development+software&w4=Software+development+company&w5=Custom+software+development&c=5&s=154&g=2&.sig=tCpQXu3D1f1U1uy5lsC3_g">Development software</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjMzh0NHU4BF9TAzk3MzU5NzE0BF9wAzQEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjQ2NzM4MTk-?t=ms&k=Software+development+company&w1=Software+development+services&w2=Software+development&w3=Development+software&w4=Software+development+company&w5=Custom+software+development&c=5&s=154&g=2&.sig=vprGpfTz1GxuQRXlltd5Og">Software development company</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjdHF0cmlvBF9TAzk3MzU5NzE0BF9wAzUEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjQ2NzM4MTk-?t=ms&k=Custom+software+development&w1=Software+development+services&w2=Software+development&w3=Development+software&w4=Software+development+company&w5=Custom+software+development&c=5&s=154&g=2&.sig=GblHBdeKJR4WCTYIwY_tYA">Custom software development</a></li> </ul> </div> <!-- Network content --> <div id="nc"> <div class="ad"> <div id="hd1">Yahoo! Mail</div> <p><a href="http://us.ard.yahoo.com/SIG=12hhkrhjd/M=493064.8985657.9760727.8674578/D=groups/S=1705007181:NC/Y=YAHOO/EXP=1164681019/A=3848568/R=0/SIG=12jllrvsk/*http://us.rd.yahoo.com/evt=42409/*http://advision.webevents.yahoo.com/handraisers">Next gen email?</a></p> <p>Try the all-new</p> <p>Yahoo! Mail Beta.</p> </div> <div class="ad"> <div id="hd1">Y! Messenger</div> <p><a href="http://us.ard.yahoo.com/SIG=12hmv3qab/M=493064.8985659.9760753.8674578/D=groups/S=1705007181:NC/Y=YAHOO/EXP=1164681019/A=3848589/R=0/SIG=12dds2hov/*http://us.rd.yahoo.com/evt=42403/*http://messenger.yahoo.com/feat_voice.php">Talk it up - free!</a></p> <p>Call your friends</p> <p>worldwide - free!</p> </div> <div class="ad"> <div id="hd1">Search Ads</div> <p><a href="http://us.ard.yahoo.com/SIG=12hl67o4q/M=493064.8985663.9760769.8674578/D=groups/S=1705007181:NC/Y=YAHOO/EXP=1164681019/A=3848641/R=0/SIG=1312g85fq/*http://searchmarketing.yahoo.com/arp/srchv2.php?o=US2003&cmp=Yahoo&ctv=Groups2&s=Y&s2=&s3=&b=50">Get new customers.</a></p> <p>List your web site</p> <p>in Yahoo! Search.</p> </div> </div> </div> <!-- |**|end egp html banner|**| --> <div style="clear:both; color: #FFF; font-size:1px;">.</div> </div> <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2493245/grpspId=1705007181/msgId=1461/stime=1164673817/nc1=3848568/nc2=3848589/nc3=3848641" width="1" height="1"> <br> <span style="color: white;">__,_._,___</span> <!--~-|**|PrettyHtmlEnd|**|-~--> </body> <!--~-|**|PrettyHtmlStart|**|-~--> <head> <style type="text/css"> <!-- #ygrp-mlmsg {font-size:13px; font-family: arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;} #ygrp-mlmsg pre, code {font:115% monospace;*font-size:100%;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family: Georgia; } #ygrp-text p{ margin: 0 0 1em 0; } #ygrp-tpmsgs{ font-family: Arial; clear: both; } #ygrp-vitnav{ padding-top: 10px; font-family: Verdana; font-size: 77%; margin: 0; } #ygrp-vitnav a{ padding: 0 1px; } #ygrp-actbar{ clear: both; margin: 25px 0; white-space:nowrap; color: #666; text-align: right; } #ygrp-actbar .left{ float: left; white-space:nowrap; } .bld{font-weight:bold;} #ygrp-grft{ font-family: Verdana; font-size: 77%; padding: 15px 0; } #ygrp-ft{ font-family: verdana; font-size: 77%; border-top: 1px solid #666; padding: 5px 0; } #ygrp-mlmsg #logo{ padding-bottom: 10px; } #ygrp-vital{ background-color: #e0ecee; margin-bottom: 20px; padding: 2px 0 8px 8px; } #ygrp-vital #vithd{ font-size: 77%; font-family: Verdana; font-weight: bold; color: #333; text-transform: uppercase; } #ygrp-vital ul{ padding: 0; margin: 2px 0; } #ygrp-vital ul li{ list-style-type: none; clear: both; border: 1px solid #e0ecee; } #ygrp-vital ul li .ct{ font-weight: bold; color: #ff7900; float: right; width: 2em; text-align:right; padding-right: .5em; } #ygrp-vital ul li .cat{ font-weight: bold; } #ygrp-vital a { text-decoration: none; } #ygrp-vital a:hover{ text-decoration: underline; } #ygrp-sponsor #hd{ color: #999; font-size: 77%; } #ygrp-sponsor #ov{ padding: 6px 13px; background-color: #e0ecee; margin-bottom: 20px; } #ygrp-sponsor #ov ul{ padding: 0 0 0 8px; margin: 0; } #ygrp-sponsor #ov li{ list-style-type: square; padding: 6px 0; font-size: 77%; } #ygrp-sponsor #ov li a{ text-decoration: none; font-size: 130%; } #ygrp-sponsor #nc { background-color: #eee; margin-bottom: 20px; padding: 0 8px; } #ygrp-sponsor .ad{ padding: 8px 0; } #ygrp-sponsor .ad #hd1{ font-family: Arial; font-weight: bold; color: #628c2a; font-size: 100%; line-height: 122%; } #ygrp-sponsor .ad a{ text-decoration: none; } #ygrp-sponsor .ad a:hover{ text-decoration: underline; } #ygrp-sponsor .ad p{ margin: 0; } o {font-size: 0; } .MsoNormal { margin: 0 0 0 0; } #ygrp-text tt{ font-size: 120%; } blockquote{margin: 0 0 0 4px;} .replbq {margin:4} --> </style> </head> <!--~-|**|PrettyHtmlEnd|**|-~--> </html><!--End group email --> --NkibcVsRWPLmpkHxNHUlBmm8MTKjBhbCkYTdqOe--