Patch level :10.0

Files correlati     :niet patch
Ricompilazione Demo : [ ]
Commento            :
commentato il pezzo di fascicolatore che chiedeva di allineare i numeri di patch di altri moduli. Sbagliava la scelta dei sottomoduli e non aggiornava il .ini della patch del modulo dipendente. E poi non serviva ad una ceppa in quanto alla domanda si rispondeva sempre NO.


git-svn-id: svn://10.65.10.50/trunk@20130 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2010-02-16 15:09:31 +00:00
parent 7292de12d9
commit ffba90fcc7

View File

@ -1202,23 +1202,23 @@ bool TCreadischi_mask::modules_notify(TSheet_field& f, int row, KEY k)
bool TModule_mask::module_dependent(int rownum, TString_array &p_submodules, TString &sub_mod, TString &ver, int & patch) const
{
TSheet_field& modsheet = get_sheet()->mask().sfield(F_SHEET);
TToken_string& curr_row=modsheet.row(rownum);
TAuto_token_string ext_mod=curr_row.get(modsheet.cid2index(S_EXTERN));
TToken_string& curr_row = modsheet.row(rownum);
TAuto_token_string ext_mod = curr_row.get(modsheet.cid2index(S_EXTERN));
const int smods = ext_mod.blank() ? 0 : ext_mod.items() ;
for (int c=0; c < smods; c++)
for (int c = 0; c < smods; c++)
{
// is an external SUB module ?
sub_mod = ext_mod.get(c);
if (sub_mod[2]!='\0' )
if (sub_mod[2] != '\0')
{
// check patched submodules
const int pmods = p_submodules.items();
for (int p=0; p < pmods; p++)
for (int p = 0; p < pmods; p++)
{
if (p_submodules.row(p) == sub_mod)
{
ver=curr_row.get(modsheet.cid2index(S_VERSION));
patch=atoi(curr_row.get(modsheet.cid2index(S_PATCHLEVEL)));
ver = curr_row.get(modsheet.cid2index(S_VERSION));
patch = atoi(curr_row.get(modsheet.cid2index(S_PATCHLEVEL)));
return true;
}
} // loop over patched modules
@ -1251,15 +1251,21 @@ bool TModule_mask::check_patchlevels( TMod_composition_msk &mm)
}
// cerca i moduli che includono i sottomoduli patchati
bool need_update(false);
//*** QUESTA PARTE E' STATA COMMENTATA IN QUANTO PIUTTOSTO INUTILE PER COME FUNZIONA *** 16-02-2010
//Infatti dovrebbe leggere l'elenco dei files della patch appena creata di un modulo, e per ognuno di tali files..
//..dovrebbe controllare se il suo sottomodulo compare nella lista dei sottomoduli di dipendenza di altri moduli;..
//..solo in questo caso dovrebbe avvertire della necessità di aggiornare anche i moduli dipendenti; inoltre funziona..
//..male anche l'aggiornatore, in quanto aggiorna lo sheet ma il numero di patch nel .ini della patch del modulo..
//..dipendente risulta non aggiornata!
/*bool need_update(false);
TString16 sub_mod, sub_ver;
int sub_patch;
TSheet_field& modsheet = get_sheet()->mask().sfield(F_SHEET);
FOR_EACH_SHEET_ROW(modsheet, midx, mriga)
{
TToken_string& curr_row=modsheet.row(midx);
TToken_string& curr_row = modsheet.row(midx);
TString16 mod_code(curr_row.get(modsheet.cid2index(S_MODULE)));
if (module_dependent(midx,patched_submodules, sub_mod, sub_ver, sub_patch))
if (module_dependent(midx, patched_submodules, sub_mod, sub_ver, sub_patch))
{
if (version == sub_ver)
{
@ -1273,27 +1279,28 @@ bool TModule_mask::check_patchlevels( TMod_composition_msk &mm)
} else
if (!sub_ver.blank())
warning_box(FR("Il modulo '%s', dipendente dal sottomodulo '%s' \nha codice di release %s"),
(const char *)mod_code, (const char *)sub_mod,(const char *)sub_ver);
(const char *)mod_code, (const char *)sub_mod,(const char *)sub_ver);
}
else if (module_dependent(midx,submodules, sub_mod, sub_ver, sub_patch))
else if (module_dependent(midx, submodules, sub_mod, sub_ver, sub_patch))
{
if (version == sub_ver)
{
if ( patchlev > sub_patch
&& noyes_box(FR("Il modulo '%s' dipende da sottomoduli del modulo '%s'.\n Aggiorno il suo numero di patch a %d ?"),(const char *)mod_code,(const char *)module,patchlev))
&& noyes_box(FR("Il modulo '%s' dipende da sottomoduli del modulo '%s'.\n Aggiorno il suo numero di patch a %d ?"),
(const char *)mod_code,(const char *)module,patchlev))
{
curr_row.add(patchlev , modsheet.cid2index(S_PATCHLEVEL));
curr_row.add(get(S_DATE) , modsheet.cid2index(S_DATE));
curr_row.add(patchlev, modsheet.cid2index(S_PATCHLEVEL));
curr_row.add(get(S_DATE), modsheet.cid2index(S_DATE));
need_update=true;
}
} else
if (!sub_ver.blank())
warning_box(FR("Il modulo '%s', dipendente da sottomoduli del modulo '%s'\nha codice di release %s"),
(const char *)mod_code, (const char *)sub_mod,(const char *)sub_ver);
(const char *)mod_code, (const char *)sub_mod, (const char *)sub_ver);
}
}
if (need_update)
modsheet.force_update();
modsheet.force_update();*/
return true;
}