|
|
|
Gossamer
|
After setting up statsvn I had one of our developers come to me, he swore that he had changed some lines of code but that statsvn was showing 0 changes. So, I looked into it and have found a number of cases where it will show 0 lines changed for X files, and when I go look in our Trac at a Diff for that commit I can clearly see lines being changed. Here is a copy/paste of the offending line in statsvn:
Most Recent Commits ryan 2009-05-21 14:13 Rev.: 16400 support for trade bucket 0 lines of code changed in 2 files: * sx_protocol.h (new) When I go and look in trac here is the diff: trunk/L/kr/sx_protocol.h ¶ r15973 r16400 110 110 SX_EXCH_STOCKQUOTE, // 30 111 111 SX_OPTIONGREEK, // 31 112 UNUSED32, // 32 112 SX_TRDBUCKET, // 32 113 113 UNUSED33, // 33 114 114 UNUSED34, // 34 … … 565 565 typedef struct 566 566 { 567 char szSymbol[8]; 568 int num_bidinterval; 569 int num_bidvol; 570 char bidXch[10]; 571 int nbidintvl_daily; 572 int nbidvol_daily; 573 int num_askinterval; 574 int num_askvol; 575 char askXch[10]; 576 int naskintvl_daily; 577 int naskvol_daily; 578 } sx_trdBucket; 579 580 //------------------------- 581 //------------------------- 582 typedef struct 583 { 567 584 char szSymbol[6]; 568 585 int16_t bidNickels[7]; … … 1239 1256 sx_optionTV tv; 1240 1257 sx_optionGreek ogk; 1258 sx_trdBucket trdbuck; 1241 1259 sx_clientStatus cs; 1242 1260 sx_level1 level1; The diff is showing 1 line removed and 15 or so added. Looking at another place where this happened he changed 7 lines, but only changed variable and method/function names. Is this why it reports a 0, does it require that they be drastic changes or completely new lines of actual code? I did a number of searches in google and on the forum and didn't find anything. I also looked through some statsvn's for some other repos and noticed numerous commits with the same thing, 0 lines changed in X files. SO, I guess my question is whether this is how it is suppose to work, and if so, is there a way to manipulate what it does and does not count. If not, how do I fix it? |
||||||||||||||||
|
Jason Kealey-2
|
When running StatSVN, did the engine complain about unexpected/missing files or other issues?
Is the checked out copy used by StatSVN used only by StatSVN and no other software? --- Jason Kealey - [hidden email] LavaBlast Franchise Software - http://www.lavablast.com Simplifying day-to-day franchise operations On Mon, Jun 1, 2009 at 2:26 PM, Gossamer <[hidden email]> wrote:
------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ Statsvn-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/statsvn-users |
||||||||||||||||
|
Gossamer
|
I just grep'd the log, nothing for unexpected, missing only brought up code segments from Diff's, so it doesn't seem like it was having any issues. As far as I know it runs pretty smoothly each day. In case it is relevant, I have a script cron'd each day that runs a checkout, then runs statsvn 15 seperate times, for 5 different time periods for the whole trunk and 2 different folders by themselves. The 0 lines changes seems to be consistent throught all these time periods (which are 1 week, 1,3,6 and 12 months). The version it checks out is indeed ONLY used by statsvn, no one else touches it.
On Mon, Jun 1, 2009 at 1:40 PM, Jason Kealey <[hidden email]> wrote: When running StatSVN, did the engine complain about unexpected/missing files or other issues? -- Adam Davis [hidden email] 312-360-2444 ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Statsvn-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/statsvn-users |
||||||||||||||||
|
Jason Kealey-2
|
It would be interesting if you could find your cached line count folder, delete all the entries for one particular file then run statsvn with -debug -verbose to see the exact command svn diff that is executed ( I think we output that with -debug enabled). That would give you something to execute manually and look at what your svn server returns for this command.
(I understand that this is complex, but if you want to investigate, that would be great!) Thanks,
--- Jason Kealey - [hidden email] LavaBlast Franchise Software - http://www.lavablast.com Simplifying day-to-day franchise operations On Mon, Jun 1, 2009 at 3:10 PM, Adam Davis <[hidden email]> wrote: I just grep'd the log, nothing for unexpected, missing only brought up code segments from Diff's, so it doesn't seem like it was having any issues. As far as I know it runs pretty smoothly each day. In case it is relevant, I have a script cron'd each day that runs a checkout, then runs statsvn 15 seperate times, for 5 different time periods for the whole trunk and 2 different folders by themselves. The 0 lines changes seems to be consistent throught all these time periods (which are 1 week, 1,3,6 and 12 months). The version it checks out is indeed ONLY used by statsvn, no one else touches it. ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Statsvn-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/statsvn-users |
||||||||||||||||
|
Gossamer
|
I'd love to investigate, but I'm unsure where I would locate the cached line count folder, is this something created by statsvn, or by the svn checkin? Can you give me an idea of where to look?
On Mon, Jun 1, 2009 at 2:17 PM, Jason Kealey <[hidden email]> wrote: It would be interesting if you could find your cached line count folder, delete all the entries for one particular file then run statsvn with -debug -verbose to see the exact command svn diff that is executed ( I think we output that with -debug enabled). That would give you something to execute manually and look at what your svn server returns for this command. -- Adam Davis [hidden email] 312-360-2444 ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Statsvn-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/statsvn-users |
||||||||||||||||
|
Jason Kealey-2
|
It is located in your home folder, in the .statsvn subdirectory. (~/.statsvn/).
Thanks, ---
Jason Kealey - [hidden email] LavaBlast Franchise Software - http://www.lavablast.com Simplifying day-to-day franchise operations On Mon, Jun 1, 2009 at 3:33 PM, Adam Davis <[hidden email]> wrote: I'd love to investigate, but I'm unsure where I would locate the cached line count folder, is this something created by statsvn, or by the svn checkin? Can you give me an idea of where to look? ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Statsvn-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/statsvn-users |
||||||||||||||||
|
Gossamer
|
I tried removing the lines for the file from the check-in I posted, didn't make a difference. SO, I decided to just rename the cache file and run it again, which took longer and had lots more output, but still no difference. I grep'd through the log file for just "16400" and only got lines like this:
L/kr/sx_protocol.h CURRENT REVISION = 16400 Deleted false I noticed the the lines that seemed to deal with diff's referred to the revisions as r16400, but there were no lines matching that. Just to try, I reran statsvn with a longer time period log file (actually a year this time, we actually truncate all our times to 01/01) but still no difference. I did this because I noticed that the previous time the file had been edited was 7 some odd months ago, so I felt it was worth trying. I do have a gigantic log file (230MB, ran all 15 instances with -debug -verbos), so if there is anything else you want me to look for, let me know. I'm commited to helping in any way I can to figure this issue out, I'll rerun statsvn as many times as needed. Just because it might help, here is my daily script that runs the 15 instances of statsvn: #!/usr/bin/perl use strict; chdir("/var/www/statsvn/"); system("svn up trunk"); my @time = localtime(); my $DD = $time[3]; my $MM = $time[4] + 1; my $YYYY = $time[5] + 1900; my $oneW; my $oneM; my $threeM; my $sixM; my $oneY; my $start = "{$YYYY-01-01}"; my $end = "{$YYYY-$MM-$DD}"; $oneY = "$start:$end"; system("svn log -v --xml -r $oneY trunk > logfile1y.log"); system("java -jar statsvn.jar -debug -verbose -exclude \"archive/**;L/boost/**;\" -output-dir 1y -debug logfile1y.log trunk"); system("java -jar statsvn.jar -debug -verbose -exclude \"boost/**;\" -output-dir 1y-L -debug logfile1y.log trunk/L"); system("java -jar statsvn.jar -debug -verbose -output-dir 1y-Lkr -debug logfile1y.log trunk/L/kr"); if($DD <= 7) { if($MM == 1) { $oneW = "$start:$end"; } else { $oneW = "{$YYYY-".($MM - 1)."-".(30 + $DD - 7)."}:$end"; } } else { $oneW = "{$YYYY-$MM-".($DD - 7)."}:$end"; } system("svn log -v --xml -r $oneW trunk > logfile1w.log"); system("java -jar statsvn.jar -debug -verbose -exclude \"archive/**;L/boost/**;\" -output-dir 1w -debug logfile1w.log trunk"); system("java -jar statsvn.jar -debug -verbose -exclude \"boost/**;\" -output-dir 1w-L -debug logfile1w.log trunk/L"); system("java -jar statsvn.jar -debug -verbose -output-dir 1w-Lkr -debug logfile1w.log trunk/L/kr"); if($MM == 1) { $oneM = "$start:$end"; } else { $oneM = "{$YYYY-".($MM - 1)."-$DD}:$end"; } system("svn log -v --xml -r $oneM trunk > logfile1m.log"); system("java -jar statsvn.jar -debug -verbose -exclude \"archive/**;L/boost/**;\" -output-dir 1m -debug logfile1m.log trunk"); system("java -jar statsvn.jar -debug -verbose -exclude \"boost/**;\" -output-dir 1m-L -debug logfile1m.log trunk/L"); system("java -jar statsvn.jar -debug -verbose -output-dir 1m-Lkr -debug logfile1m.log trunk/L/kr"); if($MM <= 3) { $threeM = "$start:$end"; } else { $threeM = "{$YYYY-".($MM - 3)."-$DD}:$end"; } system("svn log -v --xml -r $threeM trunk > logfile3m.log"); system("java -jar statsvn.jar -debug -verbose -exclude \"archive/**;L/boost/**;\" -output-dir 3m -debug logfile3m.log trunk"); system("java -jar statsvn.jar -debug -verbose -exclude \"boost/**;\" -output-dir 3m-L -debug logfile1m.log trunk/L"); system("java -jar statsvn.jar -debug -verbose -output-dir 3m-Lkr -debug logfile1m.log trunk/L/kr"); if($MM <= 6) { $sixM = "$start:$end"; } else { $sixM = "{$YYYY-".($MM - 6)."-$DD}:$end"; } system("svn log -v --xml -r $sixM trunk > logfile6m.log"); system("java -jar statsvn.jar -debug -verbose -exclude \"archive/**;L/boost/**;\" -output-dir 6m -debug logfile6m.log trunk"); system("java -jar statsvn.jar -debug -verbose -exclude \"boost/**;\" -output-dir 6m-L -debug logfile6m.log trunk/L"); system("java -jar statsvn.jar -debug -verbose -output-dir 6m-Lkr -debug logfile6m.log trunk/L/kr"); On Mon, Jun 1, 2009 at 2:44 PM, Jason Kealey <[hidden email]> wrote: It is located in your home folder, in the .statsvn subdirectory. (~/.statsvn/). -- Adam Davis [hidden email] 312-360-2444 ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Statsvn-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/statsvn-users |
||||||||||||||||
|
Jason Kealey-2
|
Could you try running without truncation? (or run from the start until a year later against a copy of the repository checked out at that date and see if that helps). Truncation may be the cause of this issue. As you saw, the previous results are cached, so StatSVN may be able to re-use the older results in the new generation once you do that once (hypothesis). PS: If you are not doing this already, try with the beta jar: http://www.statsvn.org/beta/statsvn.jar . It is supposed to be less memory-vore. (Send your results to benoitx).
Thanks, ---Jason Kealey - [hidden email] LavaBlast Franchise Software - http://www.lavablast.com Simplifying day-to-day franchise operations On Mon, Jun 1, 2009 at 5:56 PM, Adam Davis <[hidden email]> wrote: I tried removing the lines for the file from the check-in I posted, didn't make a difference. SO, I decided to just rename the cache file and run it again, which took longer and had lots more output, but still no difference. I grep'd through the log file for just "16400" and only got lines like this: ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Statsvn-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/statsvn-users |
||||||||||||||||
|
Gossamer
|
When I originally installed and started testing statsvn I tried to run it on trunk over the whole time period since the start of this svn repo (basically i didn't specify a time period when generating the log file from svn), but that would just hang and never finish (I let it run for 48 hours in -debug and -verbose and it still stopped at the same point) I'll see about trying with an earlier checkin as you suggest, as well as testing the beta jar (I'm currently using the 0.5.0 released recently) , but it won't be till tomorrow some time, have to intersperse this with all my regular work.
On Mon, Jun 1, 2009 at 5:32 PM, Jason Kealey <[hidden email]> wrote:
-- Adam Davis [hidden email] 312-360-2444 ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Statsvn-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/statsvn-users |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |