@@ -205,6 +205,7 @@ static void resolve(const struct traverse_info *info, struct name_entry *ours, s
205205static void unresolved_directory (const struct traverse_info * info ,
206206 struct name_entry n [3 ])
207207{
208+ struct repository * r = the_repository ;
208209 char * newbase ;
209210 struct name_entry * p ;
210211 struct tree_desc t [3 ];
@@ -220,9 +221,9 @@ static void unresolved_directory(const struct traverse_info *info,
220221 newbase = traverse_path (info , p );
221222
222223#define ENTRY_OID (e ) (((e)->mode && S_ISDIR((e)->mode)) ? &(e)->oid : NULL)
223- buf0 = fill_tree_descriptor (t + 0 , ENTRY_OID (n + 0 ));
224- buf1 = fill_tree_descriptor (t + 1 , ENTRY_OID (n + 1 ));
225- buf2 = fill_tree_descriptor (t + 2 , ENTRY_OID (n + 2 ));
224+ buf0 = fill_tree_descriptor (r , t + 0 , ENTRY_OID (n + 0 ));
225+ buf1 = fill_tree_descriptor (r , t + 1 , ENTRY_OID (n + 1 ));
226+ buf2 = fill_tree_descriptor (r , t + 2 , ENTRY_OID (n + 2 ));
226227#undef ENTRY_OID
227228
228229 merge_trees (t , newbase );
@@ -351,30 +352,33 @@ static void merge_trees(struct tree_desc t[3], const char *base)
351352 traverse_trees (& the_index , 3 , t , & info );
352353}
353354
354- static void * get_tree_descriptor (struct tree_desc * desc , const char * rev )
355+ static void * get_tree_descriptor (struct repository * r ,
356+ struct tree_desc * desc ,
357+ const char * rev )
355358{
356359 struct object_id oid ;
357360 void * buf ;
358361
359- if (get_oid ( rev , & oid ))
362+ if (repo_get_oid ( r , rev , & oid ))
360363 die ("unknown rev %s" , rev );
361- buf = fill_tree_descriptor (desc , & oid );
364+ buf = fill_tree_descriptor (r , desc , & oid );
362365 if (!buf )
363366 die ("%s is not a tree" , rev );
364367 return buf ;
365368}
366369
367370int cmd_merge_tree (int argc , const char * * argv , const char * prefix )
368371{
372+ struct repository * r = the_repository ;
369373 struct tree_desc t [3 ];
370374 void * buf1 , * buf2 , * buf3 ;
371375
372376 if (argc != 4 )
373377 usage (merge_tree_usage );
374378
375- buf1 = get_tree_descriptor (t + 0 , argv [1 ]);
376- buf2 = get_tree_descriptor (t + 1 , argv [2 ]);
377- buf3 = get_tree_descriptor (t + 2 , argv [3 ]);
379+ buf1 = get_tree_descriptor (r , t + 0 , argv [1 ]);
380+ buf2 = get_tree_descriptor (r , t + 1 , argv [2 ]);
381+ buf3 = get_tree_descriptor (r , t + 2 , argv [3 ]);
378382 merge_trees (t , "" );
379383 free (buf1 );
380384 free (buf2 );
0 commit comments