it will properly delete all its cycle but it will not free any ‘dependent’ data record unless it is a TDirectoryFile.
BTW. You seem to suggest that the TDirectoryFile::Purge1 will also leave “orphaned” data records (in some cases only?).
It should not in the normal case. In the case of a TTree the dependent data record of the ‘removed old cycle’ are also dependent of the newest cycle. [The user can make this untrue if they re-use the concept of cycle for something else than ‘backing up’ the TTree meta-data]
SomeTFile->Delete(“SomeTFolder*;*”) properly (recursively) delete all its cycles, objects that it keeps and “free” all the corresponding data records or not?
If i recall correctly, TFolder are stored in a single data record.
Last but not least, does the “rootrm” utility properly “free” data records?
It does not. (It currently use ‘just’ TFile::Delete).
In any case, could you please add clear notes in the TFile::Delete1 method description:
Indeed this is needed.