@@ -202,52 +202,6 @@ struct tree *lookup_tree(const unsigned char *sha1)
202202 return (struct tree * ) obj ;
203203}
204204
205- /*
206- * NOTE! Tree refs to external git repositories
207- * (ie gitlinks) do not count as real references.
208- *
209- * You don't have to have those repositories
210- * available at all, much less have the objects
211- * accessible from the current repository.
212- */
213- static void track_tree_refs (struct tree * item )
214- {
215- int n_refs = 0 , i ;
216- struct object_refs * refs ;
217- struct tree_desc desc ;
218- struct name_entry entry ;
219-
220- /* Count how many entries there are.. */
221- init_tree_desc (& desc , item -> buffer , item -> size );
222- while (tree_entry (& desc , & entry )) {
223- if (S_ISGITLINK (entry .mode ))
224- continue ;
225- n_refs ++ ;
226- }
227-
228- /* Allocate object refs and walk it again.. */
229- i = 0 ;
230- refs = alloc_object_refs (n_refs );
231- init_tree_desc (& desc , item -> buffer , item -> size );
232- while (tree_entry (& desc , & entry )) {
233- struct object * obj ;
234-
235- if (S_ISGITLINK (entry .mode ))
236- continue ;
237- if (S_ISDIR (entry .mode ))
238- obj = & lookup_tree (entry .sha1 )-> object ;
239- else if (S_ISREG (entry .mode ) || S_ISLNK (entry .mode ))
240- obj = & lookup_blob (entry .sha1 )-> object ;
241- else {
242- warning ("in tree %s: entry %s has bad mode %.6o\n" ,
243- sha1_to_hex (item -> object .sha1 ), entry .path , entry .mode );
244- obj = lookup_unknown_object (entry .sha1 );
245- }
246- refs -> ref [i ++ ] = obj ;
247- }
248- set_object_refs (& item -> object , refs );
249- }
250-
251205int parse_tree_buffer (struct tree * item , void * buffer , unsigned long size )
252206{
253207 if (item -> object .parsed )
@@ -256,8 +210,6 @@ int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size)
256210 item -> buffer = buffer ;
257211 item -> size = size ;
258212
259- if (track_object_refs )
260- track_tree_refs (item );
261213 return 0 ;
262214}
263215
0 commit comments