Jakub Narebski [off-list ref] writes:
(with either "..., 'owner', ..." or "..., [ 'owner' ], ..." for single-key
filling), or
if (project_info_needs_filled($pr, ['age', 'age_string'], \@fill_only) {
Is it?
Whatever. I am not sure what @fill_only is needed for, if the name stands
for "only fill these fields, if this argument is empty". After all,
doesn't the above example callsite, without ", \@fill_only" at the end,
say "I am going to use age and age_string, so these two need to be filled"
already?
On Fri, 10 Feb 2012, Junio C Hamano wrote:
Jakub Narebski [off-list ref] writes:
quoted
(with either "..., 'owner', ..." or "..., [ 'owner' ], ..." for single-key
filling), or
if (project_info_needs_filled($pr, ['age', 'age_string'], \@fill_only) {
Is it?
Whatever. I am not sure what @fill_only is needed for, if the name stands
for "only fill these fields, if this argument is empty". After all,
doesn't the above example callsite, without ", \@fill_only" at the end,
say "I am going to use age and age_string, so these two need to be filled"
already?
No, the above example callsite says "Do I need to fill either 'age' or
'age_string'", and is followed by actually filling this info.
Currently the code flow WRT. project information goes like this:
git_get_projects_list()
# this fills some of project info; what is filled depends on whether
# $projects_list is a file with list of project or directory to scan
filter_forks_from_projects_list()
# this does not use project info
fill_project_list_info()
# this fills all the rest of project info on reduced list
search_projects_list(<search data>)
# this uses some of project info
After 2/5 the code goes like this:
git_get_projects_list()
# this fills some of project info; what is filled depends on whether
# $projects_list is a file with list of project or directory to scan
filter_forks_from_projects_list()
# this does not use project info
fill_project_list_info(<search data>)
# this fills the rest of project info required for search on reduced list
search_projects_list(<search data>)
# this uses some of project info
fill_project_list_info()
# this fills all the rest of project info on further reduced list
If @fill_only is empty, it means for fill_project_list_info to fill
all the data, if it is not empty it means that those fields needs to
be filled.
The code of fill_project_list_info goes like this
if (do we need to fill 'age' or 'age_string'?) {
fill 'age' and 'age_string'
}
if (do we need to fill 'desc_long' or 'descr'?) {
fill 'descr_long' and 'descr'
}
if (we are interested in 'ctags' &&
do we need to fill 'ctags'?) {
fill 'ctags'
}
...
--
Jakub Narebski
Poland