File tree Expand file tree Collapse file tree 2 files changed +44
-30
lines changed Expand file tree Collapse file tree 2 files changed +44
-30
lines changed Original file line number Diff line number Diff line change @@ -420,36 +420,6 @@ static int write_bundle_refs(int bundle_fd, struct rev_info *revs)
420420				e -> name );
421421			goto skip_write_ref ;
422422		}
423- 		/* 
424- 		 * If you run "git bundle create bndl v1.0..v2.0", the 
425- 		 * name of the positive ref is "v2.0" but that is the 
426- 		 * commit that is referenced by the tag, and not the tag 
427- 		 * itself. 
428- 		 */ 
429- 		if  (!oideq (& oid , & e -> item -> oid )) {
430- 			/* 
431- 			 * Is this the positive end of a range expressed 
432- 			 * in terms of a tag (e.g. v2.0 from the range 
433- 			 * "v1.0..v2.0")? 
434- 			 */ 
435- 			struct  commit  * one  =  lookup_commit_reference (revs -> repo , & oid );
436- 			struct  object  * obj ;
437- 
438- 			if  (e -> item  ==  & (one -> object )) {
439- 				/* 
440- 				 * Need to include e->name as an 
441- 				 * independent ref to the pack-objects 
442- 				 * input, so that the tag is included 
443- 				 * in the output; otherwise we would 
444- 				 * end up triggering "empty bundle" 
445- 				 * error. 
446- 				 */ 
447- 				obj  =  parse_object_or_die (& oid , e -> name );
448- 				obj -> flags  |= SHOWN ;
449- 				add_pending_object (revs , obj , e -> name );
450- 			}
451- 			goto skip_write_ref ;
452- 		}
453423
454424		ref_count ++ ;
455425		write_or_die (bundle_fd , oid_to_hex (& e -> item -> oid ), the_hash_algo -> hexsz );
Original file line number Diff line number Diff line change @@ -504,6 +504,50 @@ test_expect_success 'unfiltered bundle with --objects' '
504504	test_cmp expect actual 
505505' 
506506
507+ test_expect_success ' full bundle upto annotated tag' ' 
508+ 	git bundle create v2.bdl \ 
509+ 		v2 && 
510+ 
511+ 	git bundle verify v2.bdl | 
512+ 		make_user_friendly_and_stable_output >actual && 
513+ 
514+ 	format_and_save_expect <<-EOF && 
515+ 	The bundle contains this ref: 
516+ 	<TAG-2> refs/tags/v2 
517+ 	The bundle records a complete history. 
518+ 	$HASH_MESSAGE 
519+ 	EOF 
520+ 	test_cmp expect actual 
521+ ' 
522+ 
523+ test_expect_success ' clone from full bundle upto annotated tag' ' 
524+ 	git clone --mirror v2.bdl tag-clone.git && 
525+ 	git -C tag-clone.git show-ref | 
526+ 		make_user_friendly_and_stable_output >actual && 
527+ 	cat >expect <<-\EOF && 
528+ 	<TAG-2> refs/tags/v2 
529+ 	EOF 
530+ 	test_cmp expect actual 
531+ ' 
532+ 
533+ test_expect_success ' incremental bundle between two annotated tags' ' 
534+ 	git bundle create v1-v2.bdl \ 
535+ 		v1..v2 && 
536+ 
537+ 	git bundle verify v1-v2.bdl | 
538+ 		make_user_friendly_and_stable_output >actual && 
539+ 
540+ 	format_and_save_expect <<-EOF && 
541+ 	The bundle contains this ref: 
542+ 	<TAG-2> refs/tags/v2 
543+ 	The bundle requires these 2 refs: 
544+ 	<COMMIT-E> Z 
545+ 	<COMMIT-B> Z 
546+ 	$HASH_MESSAGE 
547+ 	EOF 
548+ 	test_cmp expect actual 
549+ ' 
550+ 
507551for  filter  in  " blob:none" " tree:0" " tree:1" " blob:limit=100" 
508552do 
509553	test_expect_success " filtered bundle: $filter " ' 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments