diff options
Diffstat (limited to 'remote.c')
| -rw-r--r-- | remote.c | 35 | 
1 files changed, 20 insertions, 15 deletions
@@ -1171,7 +1171,6 @@ static void show_push_unqualified_ref_name_error(const char *dst_value,  						 const char *matched_src_name)  {  	struct object_id oid; -	enum object_type type;  	/*  	 * TRANSLATORS: "matches '%s'%" is the <dst> part of "git push @@ -1196,30 +1195,37 @@ static void show_push_unqualified_ref_name_error(const char *dst_value,  		BUG("'%s' is not a valid object, "  		    "match_explicit_lhs() should catch this!",  		    matched_src_name); -	type = odb_read_object_info(the_repository->objects, &oid, NULL); -	if (type == OBJ_COMMIT) { + +	switch (odb_read_object_info(the_repository->objects, &oid, NULL)) { +	case OBJ_COMMIT:  		advise(_("The <src> part of the refspec is a commit object.\n"  			 "Did you mean to create a new branch by pushing to\n"  			 "'%s:refs/heads/%s'?"),  		       matched_src_name, dst_value); -	} else if (type == OBJ_TAG) { +		break; +	case OBJ_TAG:  		advise(_("The <src> part of the refspec is a tag object.\n"  			 "Did you mean to create a new tag by pushing to\n"  			 "'%s:refs/tags/%s'?"),  		       matched_src_name, dst_value); -	} else if (type == OBJ_TREE) { +		break; +	case OBJ_TREE:  		advise(_("The <src> part of the refspec is a tree object.\n"  			 "Did you mean to tag a new tree by pushing to\n"  			 "'%s:refs/tags/%s'?"),  		       matched_src_name, dst_value); -	} else if (type == OBJ_BLOB) { +		break; +	case OBJ_BLOB:  		advise(_("The <src> part of the refspec is a blob object.\n"  			 "Did you mean to tag a new blob by pushing to\n"  			 "'%s:refs/tags/%s'?"),  		       matched_src_name, dst_value); -	} else { -		BUG("'%s' should be commit/tag/tree/blob, is '%d'", -		    matched_src_name, type); +		break; +	default: +		advise(_("The <src> part of the refspec ('%s') " +			 "is an object ID that doesn't exist.\n"), +		       matched_src_name); +		break;  	}  } @@ -2137,9 +2143,6 @@ static int stat_branch_pair(const char *branch_name, const char *base,  	struct object_id oid;  	struct commit *ours, *theirs;  	struct rev_info revs; -	struct setup_revision_opt opt = { -		.free_removed_argv_elements = 1, -	};  	struct strvec argv = STRVEC_INIT;  	/* Cannot stat if what we used to build on no longer exists */ @@ -2174,7 +2177,7 @@ static int stat_branch_pair(const char *branch_name, const char *base,  	strvec_push(&argv, "--");  	repo_init_revisions(the_repository, &revs, NULL); -	setup_revisions(argv.nr, argv.v, &revs, &opt); +	setup_revisions_from_strvec(&argv, &revs, NULL);  	if (prepare_revision_walk(&revs))  		die(_("revision walk setup failed")); @@ -2578,7 +2581,8 @@ struct check_and_collect_until_cb_data {  };  /* Get the timestamp of the latest entry. */ -static int peek_reflog(struct object_id *o_oid UNUSED, +static int peek_reflog(const char *refname UNUSED, +		       struct object_id *o_oid UNUSED,  		       struct object_id *n_oid UNUSED,  		       const char *ident UNUSED,  		       timestamp_t timestamp, int tz UNUSED, @@ -2589,7 +2593,8 @@ static int peek_reflog(struct object_id *o_oid UNUSED,  	return 1;  } -static int check_and_collect_until(struct object_id *o_oid UNUSED, +static int check_and_collect_until(const char *refname UNUSED, +				   struct object_id *o_oid UNUSED,  				   struct object_id *n_oid,  				   const char *ident UNUSED,  				   timestamp_t timestamp, int tz UNUSED,  | 
