<commit_before>//
//  GITTreeEntry.h
//  CocoaGit
//
//  Created by <NAME> on 05/08/2008.
//  Copyright 2008 <EMAIL>. All rights reserved.
//

#import <Cocoa/Cocoa.h>

extern const NSUInteger kGITPackedSha1Length;
extern const NSUInteger kGITUnpackedSha1Length;

@class GITRepo;
@interface GITTreeEntry : NSObject
{
    GITRepo  * repo;    //!< Repository the entry belongs to. Used for accessing the object
    NSString * name;    //!< Name of the entry, either a file or directory name
    NSUInteger mode;    //!< File mode of the entry
    
    NSString * sha1;    //!< SHA1 of the object referenced
    id object;          //!< The object which is referenced. This is lazy loaded.
}

@property(readonly,copy) GITRepo * repo;<commit_msg>Add note about changing TreeEntry from having a GITRepo property to a GITTree property.<commit_after>//
//  GITTreeEntry.h
//  CocoaGit
//
//  Created by <NAME> on 05/08/2008.
//  Copyright 2008 ManicPanda.com. All rights reserved.
//

#import <Cocoa/Cocoa.h>

extern const NSUInteger kGITPackedSha1Length;
extern const NSUInteger kGITUnpackedSha1Length;

@class GITRepo;
/*! An entry in tree listing.
 * \todo Consider changing from having a GITRepo instance
 * as part of the class to having an instance of the tree
 * which the entry is a part of. We can then defer to the
 * trees repo for object loading. We then need to be very
 * careful about creating memory dependencies which are
 * difficult to manage and may result in memory leakage.
 */
@interface GITTreeEntry : NSObject
{
    GITRepo  * repo;    //!< Repository the entry belongs to. Used for accessing the object
    NSString * name;    //!< Name of the entry, either a file or directory name
    NSUInteger mode;    //!< File mode of the entry
    
    NSString * sha1;    //!< SHA1 of the object referenced
    id object;          //!< The object which is referenced. This is lazy loaded.
}

@property(readonly,copy) GITRepo * repo;
{'fraction_non_alphanumeric': 0.08856848609680741, 'fraction_numerical': 0.016477857878475798, 'mean_word_length': 3.056367432150313, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3339686', 'n_tokens_mistral': 627, 'n_tokens_neox': 593, 'n_words': 239}