rugged 0.24.0b6 → 0.24.0b7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/src/commit_list.h +1 -0
- data/vendor/libgit2/src/index.c +29 -9
- data/vendor/libgit2/src/merge.c +170 -22
- data/vendor/libgit2/src/pool.h +2 -2
- data/vendor/libgit2/src/refdb_fs.c +1 -1
- data/vendor/libgit2/src/transports/git.c +7 -4
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 34a82c36a2937fc0183d0c2a5cad5682c4d64055
         | 
| 4 | 
            +
              data.tar.gz: 98ef84b8da23e17429430ebc0cc37b860e51bc28
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3d288fc1bb1799b49da9fbf7e525def0695dfcddd347cfcc08f6855dc6e9fba31913547bc21d8560d99a1dbadf3e06913ebd447f13ced8f0f9d3f1c24d8bf520
         | 
| 7 | 
            +
              data.tar.gz: f624e44c09a2f0742b23e79b6151729f80381be2e3b91a4130debbd372ff4246e269d741887cab61a9459ecaa3484f437add2cb5cb5984e40377730fb851f56c
         | 
    
        data/lib/rugged/version.rb
    CHANGED
    
    
    
        data/vendor/libgit2/src/index.c
    CHANGED
    
    | @@ -2899,6 +2899,7 @@ int git_index_read_index( | |
| 2899 2899 | 
             
            {
         | 
| 2900 2900 | 
             
            	git_vector new_entries = GIT_VECTOR_INIT,
         | 
| 2901 2901 | 
             
            		remove_entries = GIT_VECTOR_INIT;
         | 
| 2902 | 
            +
            	git_idxmap *new_entries_map = NULL;
         | 
| 2902 2903 | 
             
            	git_iterator *index_iterator = NULL;
         | 
| 2903 2904 | 
             
            	git_iterator *new_iterator = NULL;
         | 
| 2904 2905 | 
             
            	git_iterator_options opts = GIT_ITERATOR_OPTIONS_INIT;
         | 
| @@ -2908,9 +2909,15 @@ int git_index_read_index( | |
| 2908 2909 | 
             
            	int error;
         | 
| 2909 2910 |  | 
| 2910 2911 | 
             
            	if ((error = git_vector_init(&new_entries, new_index->entries.length, index->entries._cmp)) < 0 ||
         | 
| 2911 | 
            -
            		(error = git_vector_init(&remove_entries, index->entries.length, NULL)) < 0 | 
| 2912 | 
            +
            		(error = git_vector_init(&remove_entries, index->entries.length, NULL)) < 0 ||
         | 
| 2913 | 
            +
            		(error = git_idxmap_alloc(&new_entries_map)) < 0)
         | 
| 2912 2914 | 
             
            		goto done;
         | 
| 2913 2915 |  | 
| 2916 | 
            +
            	if (index->ignore_case)
         | 
| 2917 | 
            +
            		kh_resize(idxicase, (khash_t(idxicase) *) new_entries_map, new_index->entries.length);
         | 
| 2918 | 
            +
            	else
         | 
| 2919 | 
            +
            		kh_resize(idx, new_entries_map, new_index->entries.length);
         | 
| 2920 | 
            +
             | 
| 2914 2921 | 
             
            	opts.flags = GIT_ITERATOR_DONT_IGNORE_CASE;
         | 
| 2915 2922 |  | 
| 2916 2923 | 
             
            	if ((error = git_iterator_for_index(&index_iterator, index, &opts)) < 0 ||
         | 
| @@ -2924,6 +2931,7 @@ int git_index_read_index( | |
| 2924 2931 | 
             
            		goto done;
         | 
| 2925 2932 |  | 
| 2926 2933 | 
             
            	while (true) {
         | 
| 2934 | 
            +
            		git_index_entry *add_entry = NULL, *remove_entry = NULL;
         | 
| 2927 2935 | 
             
            		int diff;
         | 
| 2928 2936 |  | 
| 2929 2937 | 
             
            		if (old_entry && new_entry)
         | 
| @@ -2936,27 +2944,37 @@ int git_index_read_index( | |
| 2936 2944 | 
             
            			break;
         | 
| 2937 2945 |  | 
| 2938 2946 | 
             
            		if (diff < 0) {
         | 
| 2939 | 
            -
            			 | 
| 2947 | 
            +
            			remove_entry = (git_index_entry *)old_entry;
         | 
| 2940 2948 | 
             
            		} else if (diff > 0) {
         | 
| 2941 | 
            -
            			if ((error = index_entry_dup(& | 
| 2949 | 
            +
            			if ((error = index_entry_dup(&add_entry, index, new_entry)) < 0)
         | 
| 2942 2950 | 
             
            				goto done;
         | 
| 2943 | 
            -
             | 
| 2944 | 
            -
            			git_vector_insert(&new_entries, entry);
         | 
| 2945 2951 | 
             
            		} else {
         | 
| 2946 2952 | 
             
            			/* Path and stage are equal, if the OID is equal, keep it to
         | 
| 2947 2953 | 
             
            			 * keep the stat cache data.
         | 
| 2948 2954 | 
             
            			 */
         | 
| 2949 2955 | 
             
            			if (git_oid_equal(&old_entry->id, &new_entry->id)) {
         | 
| 2950 | 
            -
            				 | 
| 2956 | 
            +
            				add_entry = (git_index_entry *)old_entry;
         | 
| 2951 2957 | 
             
            			} else {
         | 
| 2952 | 
            -
            				if ((error = index_entry_dup(& | 
| 2958 | 
            +
            				if ((error = index_entry_dup(&add_entry, index, new_entry)) < 0)
         | 
| 2953 2959 | 
             
            					goto done;
         | 
| 2954 2960 |  | 
| 2955 | 
            -
            				 | 
| 2956 | 
            -
            				git_vector_insert(&remove_entries, (git_index_entry *)old_entry);
         | 
| 2961 | 
            +
            				remove_entry = (git_index_entry *)old_entry;
         | 
| 2957 2962 | 
             
            			}
         | 
| 2958 2963 | 
             
            		}
         | 
| 2959 2964 |  | 
| 2965 | 
            +
            		if (add_entry) {
         | 
| 2966 | 
            +
            			if ((error = git_vector_insert(&new_entries, add_entry)) == 0)
         | 
| 2967 | 
            +
            				INSERT_IN_MAP_EX(index, new_entries_map, add_entry, error);
         | 
| 2968 | 
            +
            		}
         | 
| 2969 | 
            +
             | 
| 2970 | 
            +
            		if (remove_entry && !error)
         | 
| 2971 | 
            +
            			error = git_vector_insert(&remove_entries, remove_entry);
         | 
| 2972 | 
            +
             | 
| 2973 | 
            +
            		if (error < 0) {
         | 
| 2974 | 
            +
            			giterr_set(GITERR_INDEX, "failed to insert entry");
         | 
| 2975 | 
            +
            			return error;
         | 
| 2976 | 
            +
            		}
         | 
| 2977 | 
            +
             | 
| 2960 2978 | 
             
            		if (diff <= 0) {
         | 
| 2961 2979 | 
             
            			if ((error = git_iterator_advance(&old_entry, index_iterator)) < 0 &&
         | 
| 2962 2980 | 
             
            				error != GIT_ITEROVER)
         | 
| @@ -2974,6 +2992,7 @@ int git_index_read_index( | |
| 2974 2992 | 
             
            	git_index_reuc_clear(index);
         | 
| 2975 2993 |  | 
| 2976 2994 | 
             
            	git_vector_swap(&new_entries, &index->entries);
         | 
| 2995 | 
            +
            	new_entries_map = git__swap(index->entries_map, new_entries_map);
         | 
| 2977 2996 |  | 
| 2978 2997 | 
             
            	git_vector_foreach(&remove_entries, i, entry) {
         | 
| 2979 2998 | 
             
            		if (index->tree)
         | 
| @@ -2985,6 +3004,7 @@ int git_index_read_index( | |
| 2985 3004 | 
             
            	error = 0;
         | 
| 2986 3005 |  | 
| 2987 3006 | 
             
            done:
         | 
| 3007 | 
            +
            	git_idxmap_free(new_entries_map);
         | 
| 2988 3008 | 
             
            	git_vector_free(&new_entries);
         | 
| 2989 3009 | 
             
            	git_vector_free(&remove_entries);
         | 
| 2990 3010 | 
             
            	git_iterator_free(index_iterator);
         | 
    
        data/vendor/libgit2/src/merge.c
    CHANGED
    
    | @@ -302,30 +302,59 @@ static int interesting(git_pqueue *list) | |
| 302 302 | 
             
            	return 0;
         | 
| 303 303 | 
             
            }
         | 
| 304 304 |  | 
| 305 | 
            -
             | 
| 305 | 
            +
            static void clear_commit_marks_1(git_commit_list **plist,
         | 
| 306 | 
            +
            		git_commit_list_node *commit, unsigned int mark)
         | 
| 306 307 | 
             
            {
         | 
| 307 | 
            -
            	 | 
| 308 | 
            -
             | 
| 309 | 
            -
            	git_commit_list_node *two;
         | 
| 310 | 
            -
            	git_commit_list *result = NULL, *tmp = NULL;
         | 
| 311 | 
            -
            	git_pqueue list;
         | 
| 308 | 
            +
            	while (commit) {
         | 
| 309 | 
            +
            		unsigned int i;
         | 
| 312 310 |  | 
| 313 | 
            -
             | 
| 314 | 
            -
             | 
| 315 | 
            -
             | 
| 316 | 
            -
            		 | 
| 311 | 
            +
            		if (!(mark & commit->flags))
         | 
| 312 | 
            +
            			return;
         | 
| 313 | 
            +
             | 
| 314 | 
            +
            		commit->flags &= ~mark;
         | 
| 315 | 
            +
             | 
| 316 | 
            +
            		for (i = 1; i < commit->out_degree; i++) {
         | 
| 317 | 
            +
            			git_commit_list_node *p = commit->parents[i];
         | 
| 318 | 
            +
            			git_commit_list_insert(p, plist);
         | 
| 319 | 
            +
            		}
         | 
| 320 | 
            +
             | 
| 321 | 
            +
            		commit = commit->out_degree ? commit->parents[0] : NULL;
         | 
| 317 322 | 
             
            	}
         | 
| 323 | 
            +
            }
         | 
| 318 324 |  | 
| 319 | 
            -
             | 
| 320 | 
            -
             | 
| 321 | 
            -
             | 
| 322 | 
            -
             | 
| 325 | 
            +
            static void clear_commit_marks_many(git_vector *commits, unsigned int mark)
         | 
| 326 | 
            +
            {
         | 
| 327 | 
            +
            	git_commit_list *list = NULL;
         | 
| 328 | 
            +
            	git_commit_list_node *c;
         | 
| 329 | 
            +
            	unsigned int i;
         | 
| 330 | 
            +
             | 
| 331 | 
            +
            	git_vector_foreach(commits, i, c) {
         | 
| 332 | 
            +
            		git_commit_list_insert(c, &list);
         | 
| 323 333 | 
             
            	}
         | 
| 324 334 |  | 
| 325 | 
            -
            	 | 
| 326 | 
            -
            		 | 
| 335 | 
            +
            	while (list)
         | 
| 336 | 
            +
            		clear_commit_marks_1(&list, git_commit_list_pop(&list), mark);
         | 
| 337 | 
            +
            }
         | 
| 327 338 |  | 
| 328 | 
            -
             | 
| 339 | 
            +
            static void clear_commit_marks(git_commit_list_node *commit, unsigned int mark)
         | 
| 340 | 
            +
            {
         | 
| 341 | 
            +
            	git_commit_list *list = NULL;
         | 
| 342 | 
            +
            	git_commit_list_insert(commit, &list);
         | 
| 343 | 
            +
            	while (list)
         | 
| 344 | 
            +
            		clear_commit_marks_1(&list, git_commit_list_pop(&list), mark);
         | 
| 345 | 
            +
            }
         | 
| 346 | 
            +
             | 
| 347 | 
            +
            static int paint_down_to_common(
         | 
| 348 | 
            +
            	git_commit_list **out, git_revwalk *walk, git_commit_list_node *one, git_vector *twos)
         | 
| 349 | 
            +
            {
         | 
| 350 | 
            +
            	git_pqueue list;
         | 
| 351 | 
            +
            	git_commit_list *result = NULL;
         | 
| 352 | 
            +
            	git_commit_list_node *two;
         | 
| 353 | 
            +
             | 
| 354 | 
            +
            	int error;
         | 
| 355 | 
            +
            	unsigned int i;
         | 
| 356 | 
            +
             | 
| 357 | 
            +
            	if (git_pqueue_init(&list, 0, twos->length * 2, git_commit_list_time_cmp) < 0)
         | 
| 329 358 | 
             
            		return -1;
         | 
| 330 359 |  | 
| 331 360 | 
             
            	one->flags |= PARENT1;
         | 
| @@ -376,19 +405,138 @@ int git_merge__bases_many(git_commit_list **out, git_revwalk *walk, git_commit_l | |
| 376 405 | 
             
            	}
         | 
| 377 406 |  | 
| 378 407 | 
             
            	git_pqueue_free(&list);
         | 
| 408 | 
            +
            	*out = result;
         | 
| 409 | 
            +
            	return 0;
         | 
| 410 | 
            +
            }
         | 
| 411 | 
            +
             | 
| 412 | 
            +
            static int remove_redundant(git_revwalk *walk, git_vector *commits)
         | 
| 413 | 
            +
            {
         | 
| 414 | 
            +
            	git_vector work = GIT_VECTOR_INIT;
         | 
| 415 | 
            +
            	unsigned char *redundant;
         | 
| 416 | 
            +
            	unsigned int *filled_index;
         | 
| 417 | 
            +
            	unsigned int i, j;
         | 
| 418 | 
            +
            	int error = 0;
         | 
| 419 | 
            +
             | 
| 420 | 
            +
            	redundant = git__calloc(commits->length, 1);
         | 
| 421 | 
            +
            	GITERR_CHECK_ALLOC(redundant);
         | 
| 422 | 
            +
            	filled_index = git__calloc((commits->length - 1), sizeof(unsigned int));
         | 
| 423 | 
            +
            	GITERR_CHECK_ALLOC(filled_index);
         | 
| 424 | 
            +
             | 
| 425 | 
            +
            	for (i = 0; i < commits->length; ++i) {
         | 
| 426 | 
            +
            		if ((error = git_commit_list_parse(walk, commits->contents[i])) < 0)
         | 
| 427 | 
            +
            			goto done;
         | 
| 428 | 
            +
            	}
         | 
| 429 | 
            +
             | 
| 430 | 
            +
            	for (i = 0; i < commits->length; ++i) {
         | 
| 431 | 
            +
            		git_commit_list *common = NULL;
         | 
| 432 | 
            +
            		git_commit_list_node *commit = commits->contents[i];
         | 
| 433 | 
            +
             | 
| 434 | 
            +
            		if (redundant[i])
         | 
| 435 | 
            +
            			continue;
         | 
| 436 | 
            +
             | 
| 437 | 
            +
            		git_vector_clear(&work);
         | 
| 438 | 
            +
             | 
| 439 | 
            +
            		for (j = 0; j < commits->length; j++) {
         | 
| 440 | 
            +
            			if (i == j || redundant[j])
         | 
| 441 | 
            +
            				continue;
         | 
| 442 | 
            +
             | 
| 443 | 
            +
            			filled_index[work.length] = j;
         | 
| 444 | 
            +
            			if ((error = git_vector_insert(&work, commits->contents[j])) < 0)
         | 
| 445 | 
            +
            				goto done;
         | 
| 446 | 
            +
            		}
         | 
| 447 | 
            +
             | 
| 448 | 
            +
            		error = paint_down_to_common(&common, walk, commit, &work);
         | 
| 449 | 
            +
            		if (error < 0)
         | 
| 450 | 
            +
            			goto done;
         | 
| 451 | 
            +
             | 
| 452 | 
            +
            		if (commit->flags & PARENT2)
         | 
| 453 | 
            +
            			redundant[i] = 1;
         | 
| 454 | 
            +
             | 
| 455 | 
            +
            		for (j = 0; j < work.length; j++) {
         | 
| 456 | 
            +
            			git_commit_list_node *w = work.contents[j];
         | 
| 457 | 
            +
            			if (w->flags & PARENT1)
         | 
| 458 | 
            +
            				redundant[filled_index[j]] = 1;
         | 
| 459 | 
            +
            		}
         | 
| 460 | 
            +
             | 
| 461 | 
            +
            		clear_commit_marks(commit, ALL_FLAGS);
         | 
| 462 | 
            +
            		clear_commit_marks_many(&work, ALL_FLAGS);
         | 
| 463 | 
            +
             | 
| 464 | 
            +
            		git_commit_list_free(&common);
         | 
| 465 | 
            +
            	}
         | 
| 466 | 
            +
             | 
| 467 | 
            +
            	for (i = 0; i < commits->length; ++i) {
         | 
| 468 | 
            +
            		if (redundant[i])
         | 
| 469 | 
            +
            			commits->contents[i] = NULL;
         | 
| 470 | 
            +
            	}
         | 
| 471 | 
            +
             | 
| 472 | 
            +
            done:
         | 
| 473 | 
            +
            	git__free(redundant);
         | 
| 474 | 
            +
            	git__free(filled_index);
         | 
| 475 | 
            +
            	git_vector_free(&work);
         | 
| 476 | 
            +
            	return error;
         | 
| 477 | 
            +
            }
         | 
| 478 | 
            +
             | 
| 479 | 
            +
            int git_merge__bases_many(git_commit_list **out, git_revwalk *walk, git_commit_list_node *one, git_vector *twos)
         | 
| 480 | 
            +
            {
         | 
| 481 | 
            +
            	int error;
         | 
| 482 | 
            +
            	unsigned int i;
         | 
| 483 | 
            +
            	git_commit_list_node *two;
         | 
| 484 | 
            +
            	git_commit_list *result = NULL, *tmp = NULL;
         | 
| 485 | 
            +
             | 
| 486 | 
            +
            	/* If there's only the one commit, there can be no merge bases */
         | 
| 487 | 
            +
            	if (twos->length == 0) {
         | 
| 488 | 
            +
            		*out = NULL;
         | 
| 489 | 
            +
            		return 0;
         | 
| 490 | 
            +
            	}
         | 
| 491 | 
            +
             | 
| 492 | 
            +
            	/* if the commit is repeated, we have a our merge base already */
         | 
| 493 | 
            +
            	git_vector_foreach(twos, i, two) {
         | 
| 494 | 
            +
            		if (one == two)
         | 
| 495 | 
            +
            			return git_commit_list_insert(one, out) ? 0 : -1;
         | 
| 496 | 
            +
            	}
         | 
| 497 | 
            +
             | 
| 498 | 
            +
            	if (git_commit_list_parse(walk, one) < 0)
         | 
| 499 | 
            +
            		return -1;
         | 
| 500 | 
            +
             | 
| 501 | 
            +
            	error = paint_down_to_common(&result, walk, one, twos);
         | 
| 502 | 
            +
            	if (error < 0)
         | 
| 503 | 
            +
            		return error;
         | 
| 379 504 |  | 
| 380 505 | 
             
            	/* filter out any stale commits in the results */
         | 
| 381 506 | 
             
            	tmp = result;
         | 
| 382 507 | 
             
            	result = NULL;
         | 
| 383 508 |  | 
| 384 509 | 
             
            	while (tmp) {
         | 
| 385 | 
            -
            		 | 
| 386 | 
            -
            		if (!( | 
| 387 | 
            -
            			if (git_commit_list_insert_by_date( | 
| 510 | 
            +
            		git_commit_list_node *c = git_commit_list_pop(&tmp);
         | 
| 511 | 
            +
            		if (!(c->flags & STALE))
         | 
| 512 | 
            +
            			if (git_commit_list_insert_by_date(c, &result) == NULL)
         | 
| 388 513 | 
             
            				return -1;
         | 
| 514 | 
            +
            	}
         | 
| 515 | 
            +
             | 
| 516 | 
            +
            	/*
         | 
| 517 | 
            +
            	 * more than one merge base -- see if there are redundant merge
         | 
| 518 | 
            +
            	 * bases and remove them
         | 
| 519 | 
            +
            	 */
         | 
| 520 | 
            +
            	if (result && result->next) {
         | 
| 521 | 
            +
            		git_vector redundant = GIT_VECTOR_INIT;
         | 
| 522 | 
            +
             | 
| 523 | 
            +
            		while (result)
         | 
| 524 | 
            +
            			git_vector_insert(&redundant, git_commit_list_pop(&result));
         | 
| 525 | 
            +
             | 
| 526 | 
            +
            		clear_commit_marks(one, ALL_FLAGS);
         | 
| 527 | 
            +
            		clear_commit_marks_many(twos, ALL_FLAGS);
         | 
| 528 | 
            +
             | 
| 529 | 
            +
            		if ((error = remove_redundant(walk, &redundant)) < 0) {
         | 
| 530 | 
            +
            			git_vector_free(&redundant);
         | 
| 531 | 
            +
            			return error;
         | 
| 532 | 
            +
            		}
         | 
| 533 | 
            +
             | 
| 534 | 
            +
            		git_vector_foreach(&redundant, i, two) {
         | 
| 535 | 
            +
            			if (two != NULL)
         | 
| 536 | 
            +
            				git_commit_list_insert_by_date(two, &result);
         | 
| 537 | 
            +
            		}
         | 
| 389 538 |  | 
| 390 | 
            -
            		 | 
| 391 | 
            -
            		tmp = next;
         | 
| 539 | 
            +
            		git_vector_free(&redundant);
         | 
| 392 540 | 
             
            	}
         | 
| 393 541 |  | 
| 394 542 | 
             
            	*out = result;
         | 
    
        data/vendor/libgit2/src/pool.h
    CHANGED
    
    | @@ -38,12 +38,12 @@ typedef struct { | |
| 38 38 | 
             
             *
         | 
| 39 39 | 
             
             * To allocation strings, use like this:
         | 
| 40 40 | 
             
             *
         | 
| 41 | 
            -
             *     git_pool_init(&string_pool, 1 | 
| 41 | 
            +
             *     git_pool_init(&string_pool, 1);
         | 
| 42 42 | 
             
             *     my_string = git_pool_strdup(&string_pool, your_string);
         | 
| 43 43 | 
             
             *
         | 
| 44 44 | 
             
             * To allocate items of fixed size, use like this:
         | 
| 45 45 | 
             
             *
         | 
| 46 | 
            -
             *     git_pool_init(&pool, sizeof(item) | 
| 46 | 
            +
             *     git_pool_init(&pool, sizeof(item));
         | 
| 47 47 | 
             
             *     my_item = git_pool_malloc(&pool, 1);
         | 
| 48 48 | 
             
             *
         | 
| 49 49 | 
             
             * Of course, you can use this in other ways, but those are the
         | 
| @@ -1464,7 +1464,7 @@ static int reflog_parse(git_reflog *log, const char *buf, size_t buf_size) | |
| 1464 1464 | 
             
            		entry = git__calloc(1, sizeof(git_reflog_entry));
         | 
| 1465 1465 | 
             
            		GITERR_CHECK_ALLOC(entry);
         | 
| 1466 1466 |  | 
| 1467 | 
            -
            		entry->committer =  | 
| 1467 | 
            +
            		entry->committer = git__calloc(1, sizeof(git_signature));
         | 
| 1468 1468 | 
             
            		GITERR_CHECK_ALLOC(entry->committer);
         | 
| 1469 1469 |  | 
| 1470 1470 | 
             
            		if (git_oid_fromstrn(&entry->oid_old, buf, GIT_OID_HEXSZ) < 0)
         | 
| @@ -130,11 +130,14 @@ static int git_proto_stream_write( | |
| 130 130 |  | 
| 131 131 | 
             
            static void git_proto_stream_free(git_smart_subtransport_stream *stream)
         | 
| 132 132 | 
             
            {
         | 
| 133 | 
            -
            	git_proto_stream *s | 
| 134 | 
            -
            	git_subtransport *t | 
| 135 | 
            -
             | 
| 133 | 
            +
            	git_proto_stream *s;
         | 
| 134 | 
            +
            	git_subtransport *t;
         | 
| 135 | 
            +
             | 
| 136 | 
            +
            	if (!stream)
         | 
| 137 | 
            +
            		return;
         | 
| 136 138 |  | 
| 137 | 
            -
            	 | 
| 139 | 
            +
            	s = (git_proto_stream *)stream;
         | 
| 140 | 
            +
            	t = OWNING_SUBTRANSPORT(s);
         | 
| 138 141 |  | 
| 139 142 | 
             
            	t->current_stream = NULL;
         | 
| 140 143 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rugged
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.24. | 
| 4 | 
            +
              version: 0.24.0b7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Scott Chacon
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2015- | 
| 12 | 
            +
            date: 2015-11-02 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: rake-compiler
         |