Merge branch 'jc/no-cmd-as-subroutine'

Calling cmd_foo() as if it is a general purpose helper function is
a no-no.  Correct two instances of such to set an example.

* jc/no-cmd-as-subroutine:
  merge-ours: do not use cmd_*() as a subroutine
  describe: do not use cmd_*() as a subroutine
This commit is contained in:
Junio C Hamano 2017-11-06 13:11:21 +09:00
Родитель 0b646bcac9 a92b1095d1
Коммит 22ddc4bf29
2 изменённых файлов: 18 добавлений и 13 удалений

Просмотреть файл

@ -7,12 +7,12 @@
#include "builtin.h"
#include "exec_cmd.h"
#include "parse-options.h"
#include "revision.h"
#include "diff.h"
#include "hashmap.h"
#include "argv-array.h"
#include "run-command.h"
#define SEEN (1u << 0)
#define MAX_TAGS (FLAG_BITS - 1)
static const char * const describe_usage[] = {
@ -543,7 +543,9 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
}
} else if (dirty) {
static struct lock_file index_lock;
int fd;
struct rev_info revs;
struct argv_array args = ARGV_ARRAY_INIT;
int fd, result;
read_cache_preload(NULL);
refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED,
@ -552,8 +554,13 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
if (0 <= fd)
update_index_if_able(&the_index, &index_lock);
if (!cmd_diff_index(ARRAY_SIZE(diff_index_args) - 1,
diff_index_args, prefix))
init_revisions(&revs, prefix);
argv_array_pushv(&args, diff_index_args);
if (setup_revisions(args.argc, args.argv, &revs, NULL) != 1)
BUG("malformed internal diff-index command line");
result = run_diff_index(&revs, 0);
if (!diff_result_code(&revs.diffopt, result))
suffix = NULL;
else
suffix = dirty;

Просмотреть файл

@ -9,26 +9,24 @@
*/
#include "git-compat-util.h"
#include "builtin.h"
#include "diff.h"
static const char builtin_merge_ours_usage[] =
"git merge-ours <base>... -- HEAD <remote>...";
static const char *diff_index_args[] = {
"diff-index", "--quiet", "--cached", "HEAD", "--", NULL
};
#define NARGS (ARRAY_SIZE(diff_index_args) - 1)
int cmd_merge_ours(int argc, const char **argv, const char *prefix)
{
if (argc == 2 && !strcmp(argv[1], "-h"))
usage(builtin_merge_ours_usage);
/*
* We need to exit with 2 if the index does not match our HEAD tree,
* because the current index is what we will be committing as the
* merge result.
* The contents of the current index becomes the tree we
* commit. The index must match HEAD, or this merge cannot go
* through.
*/
if (cmd_diff_index(NARGS, diff_index_args, prefix))
if (read_cache() < 0)
die_errno("read_cache failed");
if (index_differs_from("HEAD", 0, 0))
exit(2);
exit(0);
}