Hi John, I am happy that your are working on it and have some nice results. John LeMoyne Castle píše v Pá 24. 06. 2011 v 02:38 -0700:
Hi Petr,
Sorry about the confusion I created on a previous summary thread in my brainstorming attempt to get development summaries into the wiki. I know it was bad because it even seemed to infect your response a little.
I am not aware of any confusion. It is normal to have different views on something and exchange ideas :-)
This should be clearer. Here is an example of a wrapper (wiki-dev-sum) http://nabble.documentfoundation.org/file/n3103449/wiki-dev-sum wiki-dev-sum
OK, if I understand it correctly, it has the following purpose: 1. purpose is to generate the statistic for all active branches. Well, this might make sense. I actually use a similar wrapper that updates the repository to a given branch and get the last changes. It is written in bash. Please, find it attached. It would be great to pass the list of branches via the command line options. You could use --option=<param> even in bash. You could get the param via: param=`echo $arg | sed "s/--option=//"` Note that the situation is a bit complicated. I have separate git tree for master, libreoffice-3-4* and libreoffice-3-3* branches because they are not compatible: + libreoffice-3-3 uses "build" repo as the toplevel dir ; "bootstrap" repo is in build/clone/bootstrap. + libreoffice-3-4 uses "bootstrap" as the top level module + master is going to be switched to "single" git repository, see http://wiki.documentfoundation.org/Development/One_Git_Conversion Well, it might be interesting to move this functionality to the lo-commit-stat script. You could add new option: --branches=<branch>[,...] I created extra wrapper because it was easier to do it in bash and I wanted a quick solution ;-) 2. purpose is to define the start and end day according to the week. It would be great to have it in the lo-commit-stat script. It is very useful also for generating the plain log for E-mail. Could you please add --year=<year> --week=<week> --last-week options int lo-commit-stat? You could do something like: if (defined $last_week) { $year = get_this_year(); $week = get_this_week(); } if (defined $week && ! defined $year) { $year = get_this_year(); } if (defined $week && defined $year) { die "Error: Do not define extra git arguments together with --year, --week, --this-week options" if (@git_args); @git_args = get_git_args_for_feek($year, $week); $log_suffix = "week-$year-$week" unless (defined $log_suffix) } You need not process these options in the wiki-dev-sum wrapper. It might be enough to pass them to the lo-commit-stat script. 3. Is there any other purpose of the wiki-dev-sum script? BTW1: I was not sure what the --echo option means. Such functionality is usually enabled via the option "--verbose" ;-) Also the following negative condition looks a bit cryptic: (! defined $echo) || show_call I think that (defined $verbose) && show_call(...) or show_call(...) if (defined $verbose); is slightly better readable ;-) BTW2: Using /tmp/commit-log-$branch-wiki.log is a bit dangerous because any user could write to this file (security hole, write access problems). I suggest to create a temporary directory under /tmp/wiki-dev-sum-XXXXXX and put files under it. The question is why you need the temp file at all. It would be better if lo-commit-stat generates the right file to the final location and no postprocessing is needed.
that operates on a slightly modified lo-commit-stat script (basically just adds --wiki format option) http://nabble.documentfoundation.org/file/n3103449/lo-commit-stat lo-commit-stat
It looks great. I am just not sure about the change: --- cut --- -(defined $top_dir) || die "Error: top directory is not defined\n"; +if (! defined $top_dir) { + usage(); + exit; +} --- cut --- I think that the user might be confused why it prints help and what is the exact problem.
The intention is to make as few changes as possible in lo-commit-stat while getting to where a Weekly Development Summary wiki page is generated easily.
Do not hesitate to do more changes in lo-commit-stat ;-)
I attached full scripts and not patches because the pair is brand new and neither fully tested nor reviewed at all: i.e. not yet ready to patch in.
Yup, the full files are fine.
In particular, I need to restore the linked bug numbers to the 1st commit line (except in the rare case there are three or more associated issues). That will reduce the page length quite a bit. I generated two wiki pages: http://wiki.documentfoundation.org/Development/2010/MasterWeek39 -- and http://wiki.documentfoundation.org/Development/2011/MasterWeek24 (last week)
It looks great. I like the number of commits in the titles. I prefer the more compressed format used for the week 24. I would omit the "LibreOffice issue", "Red Hat issue" strings. They are repeated too many times. It would look ugly if there are more bug numbers associated. People get this information after they click the link. If there is an unknown bug, just print the number as a plain text. Also I would switch the order of developer names and bugzilla numbers. IMHO, people should use it in the following order: + read the short description + look into bugzilla for more details if needed + ask the author if still in doubts You could actually read the E-mail addresses from the git log and create E-mail link to the author.
** Please Note: Many of the commits listed for this week were actually merged into master as late as Spring 2011. The commits listed here have a patch date within week 39 of 2010. **
Great catch!
In light of this snafu created by late submit and necessarily later merge, I will again approach/expose/question my confusion by attacking the utility of wiki-dev-sum as I had originally intended it: I don't think the present wiki-dev-sum script helps fill in the missing wiki summaries...
You might try to play with "git log" options. There are various options about filtering the merged commits.
It seems that in catching up the old pages, any wrapper needs to edit the original existing *-<branch>-week-<year>-<week>.log files into a wiki format. The alternative of trying to trace the history of the OOo patches through the merging branches to generate the correct commit list in wiki format (re-creating the true history - ferreting out the patch *application* dates) appears to be a real design and implementation challenge and difficult work to verify.
I think that it does not make sense to parse the old logs. I improved the format over time, so it would be a nightmare. I would either ignore the older weeks at all. Alternatively, I would generate them using the last version of your scripts. Any problems with merged commits should be solvable by the right git log flags. If it does not work, it need not be 100% correct.
To prevent the summaries from overwhelming the Dev category page I suggest they be moved to a form like Week<yyyy><ww>SummaryFor<branch> so that this long list of summaries is at the bottom of the category. They seem to be a better fit in QA with just an index page (per branch?) in Dev wiki so that they remain visible in Dev.
Good point! Alternatively, you might create a top level page with links to the week summary. I suggest to mention the last week on top of the page.
If you don't have time to look at the scripts, please at least review my interpretation of the sudden appearance of dozens of commits 'back in the day' of the brand new master trunk (39-2010 Please Note...).
I hope that better "git log" options might help you. If you are lost, you could ask Jan Holesovsky <kendy@suse.cz> or Norbert Thiebaud <nthiebaud@gmail.com>. They are git experts. Please, do it in separate mail. They are not interested into the rest of this long mail ;-)
I apologize for the delay - I hope this post and wiki-dev-sum clarify the 'wikify' idea.
Do not worry. Everyone is busy. I am happy that you are working on it and that it looks promising. BTW: If you replay, please add me into CC. I might miss your answer on the high traffic mailing list :-) Best Regards, Petr
Attachment:
lo-week-stat
Description: application/shellscript