Re: Fast multi-file diff
"kaczoroj" <[email protected]> Sat, 09 Dec 2006 22:24:57 -0000
| Newsgroups | gmane.comp.version-control.cvs.gui.devel |
|---|---|
| Message-ID | <[email protected]> |
--X-Qn2B6W3tef35Lv31Bg7vWF8jf5KDmsibXID8e Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Kirill, Finally! I was beginning to think that you decided to keep that for=20 yourself... ;) Yes, you can checkin the changes now. No problem for the release. I=20 can manage it quite easily and I think it's good to have your new=20 implementation included as well so it can get some exposure.=20 You can always checkin the code in the future as well - I have a=20 "moving tag" before relase which gets frozen when the actual release=20 is made so I am not affected by any work of other people. I do not use beautifier but I do reformat the code a bit in order to=20 keep the formatting uniform. It helps me to maintain the code later=20 on. I will give you a feedback on the other issues tomorrow - too tired=20 to come up with something comprehensive right now ;) Best Regards, Jerzy --- In [email protected], "kirillmueller" <mail@...> wrote: > > Hi all, >=20 > I've been testing my implementation of fast multi-file diff for > roughly half a year now, and I feel it's about time to commit it :-) > Sorry for the delay... >=20 > Just as a reminder: Instead of issuing separate checkout commands=20 for > each file in question, it just issues a single checkout for all=20 files > and creates separate files from cvs's output (which contains all=20 files > joined together in this case). Thus, at most two invocations of cvs > checkout are needed for any diff. >=20 > 1. First of all, I'd like to ask if I can commit the changes now,=20 just > before the 2.0.8 release. I've already committed some refactoring, > sorry if this leads to additional trouble. >=20 > 2. Jerzy, do you use a beautifier or something to format the=20 sources? > I've noticed that some of my commits were altered by you, mostly it > was about spaces before/after parentheses. >=20 > 3. There is a problem with "spamming" the external diff with, say,=20 100 > pairs of files at once. Sleeping between diff invocations doesn't=20 help > much, I'll open a new post for this issue. For now, the safest thing > would be to offer an option like "Bulk checkout" to give the user=20 the > opportunity to resort to the original behavior. What do you think? >=20 > 4. In an earlier discussion > (http://tech.groups.yahoo.com/group/cvsgui-dev/message/1365), the > concept of "baskets" was mentioned. I think, as a first step, we=20 could > introduce a "flag" field in the file view and offer an option to set > the flag through diff. That is, the user chooses an option like > "select flag" in the diff dialog, and the command just selects the > flag for the files where differences were found. Then, the user=20 could > filter the current view to show only the flagged files, or sort by > flag. (The "select flag" option conflicts with "use the external=20 diff" > and "don't use the external diff (output diff to console)", so > something like radio buttons would do here.) In addition, the flag=20 for > each file could be set and cleared manually. -- Personally, I would > value such an option. How about you? >=20 >=20 > Kind regards, >=20 > Kirill > --X-Qn2B6W3tef35Lv31Bg7vWF8jf5KDmsibXID8e 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>Kirill,<br> <br> Finally! I was beginning to think that you decided to keep that for <br> yourself... ;)<br> <br> Yes, you can checkin the changes now. No problem for the release. I <br> can manage it quite easily and I think it's good to have your new <br> implementation included as well so it can get some exposure. <br> <br> You can always checkin the code in the future as well - I have a <br> "moving tag" before relase which gets frozen when the actual release <br> is made so I am not affected by any work of other people.<br> <br> I do not use beautifier but I do reformat the code a bit in order to <br> keep the formatting uniform. It helps me to maintain the code later <br> on.<br> <br> I will give you a feedback on the other issues tomorrow - too tired <br> to come up with something comprehensive right now ;)<br> <br> Best Regards,<br> Jerzy<br> <br> --- In <a href="mailto:cvsgui-dev%40yahoogroups.com">cvsgui-dev@yahoogro<wbr>ups.com</a>, "kirillmueller" <mail@...> wrote:<br> ><br> > Hi all,<br> > <br> > I've been testing my implementation of fast multi-file diff for<br> > roughly half a year now, and I feel it's about time to commit it :-)<br> > Sorry for the delay...<br> > <br> > Just as a reminder: Instead of issuing separate checkout commands <br> for<br> > each file in question, it just issues a single checkout for all <br> files<br> > and creates separate files from cvs's output (which contains all <br> files<br> > joined together in this case). Thus, at most two invocations of cvs<br> > checkout are needed for any diff.<br> > <br> > 1. First of all, I'd like to ask if I can commit the changes now, <br> just<br> > before the 2.0.8 release. I've already committed some refactoring,<br> > sorry if this leads to additional trouble.<br> > <br> > 2. Jerzy, do you use a beautifier or something to format the <br> sources?<br> > I've noticed that some of my commits were altered by you, mostly it<br> > was about spaces before/after parentheses.<br> > <br> > 3. There is a problem with "spamming" the external diff with, say, <br> 100<br> > pairs of files at once. Sleeping between diff invocations doesn't <br> help<br> > much, I'll open a new post for this issue. For now, the safest thing<br> > would be to offer an option like "Bulk checkout" to give the user <br> the<br> > opportunity to resort to the original behavior. What do you think?<br> > <br> > 4. In an earlier discussion<br> > (<a href="http://tech.groups.yahoo.com/group/cvsgui-dev/message/1365">http://tech.<wbr>groups.yahoo.<wbr>com/group/<wbr>cvsgui-dev/<wbr>message/1365</a>), the<br> > concept of "baskets" was mentioned. I think, as a first step, we <br> could<br> > introduce a "flag" field in the file view and offer an option to set<br> > the flag through diff. That is, the user chooses an option like<br> > "select flag" in the diff dialog, and the command just selects the<br> > flag for the files where differences were found. Then, the user <br> could<br> > filter the current view to show only the flagged files, or sort by<br> > flag. (The "select flag" option conflicts with "use the external <br> diff"<br> > and "don't use the external diff (output diff to console)", so<br> > something like radio buttons would do here.) In addition, the flag <br> for<br> > each file could be set and cleared manually. -- Personally, I would<br> > value such an option. How about you?<br> > <br> > <br> > Kind regards,<br> > <br> > Kirill<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/1464;_ylc=X3oDMTM0YmJhaWVpBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBG1zZ0lkAzE0NjcEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMTY1NzAzMjg2BHRwY0lkAzE0NjQ-"> Messages in this topic </a> (<span class="bld">2</span>) </span> <a href="http://groups.yahoo.com/group/cvsgui-dev/post;_ylc=X3oDMTJwZnNkbnViBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBG1zZ0lkAzE0NjcEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMTY1NzAzMjg2?act=reply&messageNum=1467"> <span class="bld"> Reply </span> (via web post) </a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/post;_ylc=X3oDMTJldWpiNGdhBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTE2NTcwMzI4Ng--" 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=X3oDMTJlcGI5bGRyBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTE2NTcwMzI4Ng--">Messages</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/files;_ylc=X3oDMTJmNXM1cG41BF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzExNjU3MDMyODY-">Files</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/photos;_ylc=X3oDMTJlNzMwcWR1BF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTE2NTcwMzI4Ng--">Photos</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/links;_ylc=X3oDMTJmamhxNmhxBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzExNjU3MDMyODY-">Links</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/database;_ylc=X3oDMTJjbjBrNms5BF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2RiBHN0aW1lAzExNjU3MDMyODY-">Database</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/polls;_ylc=X3oDMTJmN2pzbmowBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA3BvbGxzBHN0aW1lAzExNjU3MDMyODY-">Polls</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/members;_ylc=X3oDMTJlMDUwZjByBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA21icnMEc3RpbWUDMTE2NTcwMzI4Ng--">Members</a> | <a href="http://groups.yahoo.com/group/cvsgui-dev/calendar;_ylc=X3oDMTJkdXZxc2RhBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2NhbARzdGltZQMxMTY1NzAzMjg2">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=X3oDMTJkaWxpZ2ttBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMTY1NzAzMjg2"> <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=X3oDMTJmZTQ1OXVrBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzExNjU3MDMyODY-">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=X3oDMTJkbHJtanUxBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMTY1NzAzMjg2"> 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=X3oDMTJlaWRqbXZmBF9TAzk3MzU5NzE0BGdycElkAzI0OTMyNDUEZ3Jwc3BJZAMxNzA1MDA3MTgxBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTE2NTcwMzI4Ng--"> Visit Your Group </a> </div> <div id="hd">SPONSORED LINKS</div> <div id="ov"> <ul> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjb2J1NGl2BF9TAzk3MzU5NzE0BF9wAzEEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjU3MDMyODY-?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=X3oDMTJjNTNmbTljBF9TAzk3MzU5NzE0BF9wAzIEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjU3MDMyODY-?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=X3oDMTJjZHZwcnRuBF9TAzk3MzU5NzE0BF9wAzMEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjU3MDMyODY-?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=X3oDMTJjMnJ2MW5pBF9TAzk3MzU5NzE0BF9wAzQEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjU3MDMyODY-?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=X3oDMTJjdHFybHFjBF9TAzk3MzU5NzE0BF9wAzUEZ3JwSWQDMjQ5MzI0NQRncnBzcElkAzE3MDUwMDcxODEEc2VjA3NsbW9kBHN0aW1lAzExNjU3MDMyODY-?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=12h7ip4ef/M=493064.8985657.9760727.8674578/D=groups/S=1705007181:NC/Y=YAHOO/EXP=1165710486/A=3848570/R=0/SIG=12j26nlu5/*http://us.rd.yahoo.com/evt=42411/*http://advision.webevents.yahoo.com/handraisers">Get it all!</a></p> <p>With the all-new</p> <p>Yahoo! Mail Beta</p> </div> <div class="ad"> <div id="hd1">Need traffic?</div> <p><a href="http://us.ard.yahoo.com/SIG=12hgnjmn7/M=493064.8985663.9760769.8674578/D=groups/S=1705007181:NC/Y=YAHOO/EXP=1165710486/A=3848644/R=0/SIG=131l83flq/*http://searchmarketing.yahoo.com/arp/srchv2.php?o=US2006&cmp=Yahoo&ctv=Groups5&s=Y&s2=&s3=&b=50">Drive customers</a></p> <p>With search ads</p> <p>on Yahoo!</p> </div> <div class="ad"> <div id="hd1">Y! Messenger</div> <p><a href="http://us.ard.yahoo.com/SIG=12h0os0l7/M=493064.8985659.9760753.8674578/D=groups/S=1705007181:NC/Y=YAHOO/EXP=1165710486/A=3848586/R=0/SIG=12dds2hov/*http://us.rd.yahoo.com/evt=42403/*http://messenger.yahoo.com/feat_voice.php">PC-to-PC calls</a></p> <p>Call your friends</p> <p>worldwide - free!</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=1467/stime=1165703286/nc1=3848570/nc2=3848644/nc3=3848586" 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 --> --X-Qn2B6W3tef35Lv31Bg7vWF8jf5KDmsibXID8e--