mirror of
https://github.com/git/git.git
synced 2024-11-24 02:17:02 +08:00
Merge branch 'jc/diff-no-no-index'
* jc/diff-no-no-index: git diff --no-index: default to page like other diff frontends git-diff: allow --no-index semantics a bit more "git diff": do not ignore index without --no-index diff-files: do not play --no-index games tests: do not use implicit "git diff --no-index"
This commit is contained in:
commit
3beb56bde6
@ -8,7 +8,7 @@ git-diff-files - Compares files in the working tree and the index
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-diff-files' [-q] [-0|-1|-2|-3|-c|--cc|--no-index] [<common diff options>] [<path>...]
|
||||
'git-diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -36,9 +36,6 @@ omit diff output for unmerged entries and just show "Unmerged".
|
||||
diff, similar to the way 'diff-tree' shows a merge
|
||||
commit with these flags.
|
||||
|
||||
--no-index::
|
||||
Compare the two given files / directories.
|
||||
|
||||
-q::
|
||||
Remain silent even on nonexistent files
|
||||
|
||||
|
1
Makefile
1
Makefile
@ -405,6 +405,7 @@ LIB_OBJS += diffcore-order.o
|
||||
LIB_OBJS += diffcore-pickaxe.o
|
||||
LIB_OBJS += diffcore-rename.o
|
||||
LIB_OBJS += diff-delta.o
|
||||
LIB_OBJS += diff-no-index.o
|
||||
LIB_OBJS += diff-lib.o
|
||||
LIB_OBJS += diff.o
|
||||
LIB_OBJS += dir.o
|
||||
|
@ -10,26 +10,54 @@
|
||||
#include "builtin.h"
|
||||
|
||||
static const char diff_files_usage[] =
|
||||
"git-diff-files [-q] [-0/-1/2/3 |-c|--cc|--no-index] [<common diff options>] [<path>...]"
|
||||
"git-diff-files [-q] [-0/-1/2/3 |-c|--cc] [<common diff options>] [<path>...]"
|
||||
COMMON_DIFF_OPTIONS_HELP;
|
||||
|
||||
int cmd_diff_files(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
struct rev_info rev;
|
||||
int nongit;
|
||||
int result;
|
||||
unsigned options = 0;
|
||||
|
||||
prefix = setup_git_directory_gently(&nongit);
|
||||
init_revisions(&rev, prefix);
|
||||
git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
|
||||
rev.abbrev = 0;
|
||||
|
||||
if (!setup_diff_no_index(&rev, argc, argv, nongit, prefix))
|
||||
argc = 0;
|
||||
else
|
||||
argc = setup_revisions(argc, argv, &rev, NULL);
|
||||
argc = setup_revisions(argc, argv, &rev, NULL);
|
||||
while (1 < argc && argv[1][0] == '-') {
|
||||
if (!strcmp(argv[1], "--base"))
|
||||
rev.max_count = 1;
|
||||
else if (!strcmp(argv[1], "--ours"))
|
||||
rev.max_count = 2;
|
||||
else if (!strcmp(argv[1], "--theirs"))
|
||||
rev.max_count = 3;
|
||||
else if (!strcmp(argv[1], "-q"))
|
||||
options |= DIFF_SILENT_ON_REMOVED;
|
||||
else
|
||||
usage(diff_files_usage);
|
||||
argv++; argc--;
|
||||
}
|
||||
if (!rev.diffopt.output_format)
|
||||
rev.diffopt.output_format = DIFF_FORMAT_RAW;
|
||||
result = run_diff_files_cmd(&rev, argc, argv);
|
||||
|
||||
/*
|
||||
* Make sure there are NO revision (i.e. pending object) parameter,
|
||||
* rev.max_count is reasonable (0 <= n <= 3), and
|
||||
* there is no other revision filtering parameters.
|
||||
*/
|
||||
if (rev.pending.nr ||
|
||||
rev.min_age != -1 || rev.max_age != -1 ||
|
||||
3 < rev.max_count)
|
||||
usage(diff_files_usage);
|
||||
|
||||
if (rev.max_count == -1 &&
|
||||
(rev.diffopt.output_format & DIFF_FORMAT_PATCH))
|
||||
rev.combine_merges = rev.dense_combined_merges = 1;
|
||||
|
||||
if (read_cache() < 0) {
|
||||
perror("read_cache");
|
||||
return -1;
|
||||
}
|
||||
result = run_diff_files(&rev, options);
|
||||
return diff_result_code(&rev.diffopt, result);
|
||||
}
|
||||
|
@ -202,6 +202,37 @@ static void refresh_index_quietly(void)
|
||||
rollback_lock_file(lock_file);
|
||||
}
|
||||
|
||||
static int builtin_diff_files(struct rev_info *revs, int argc, const char **argv)
|
||||
{
|
||||
int result;
|
||||
unsigned int options = 0;
|
||||
|
||||
while (1 < argc && argv[1][0] == '-') {
|
||||
if (!strcmp(argv[1], "--base"))
|
||||
revs->max_count = 1;
|
||||
else if (!strcmp(argv[1], "--ours"))
|
||||
revs->max_count = 2;
|
||||
else if (!strcmp(argv[1], "--theirs"))
|
||||
revs->max_count = 3;
|
||||
else if (!strcmp(argv[1], "-q"))
|
||||
options |= DIFF_SILENT_ON_REMOVED;
|
||||
else
|
||||
return error("invalid option: %s", argv[1]);
|
||||
argv++; argc--;
|
||||
}
|
||||
|
||||
if (revs->max_count == -1 &&
|
||||
(revs->diffopt.output_format & DIFF_FORMAT_PATCH))
|
||||
revs->combine_merges = revs->dense_combined_merges = 1;
|
||||
|
||||
if (read_cache() < 0) {
|
||||
perror("read_cache");
|
||||
return -1;
|
||||
}
|
||||
result = run_diff_files(revs, options);
|
||||
return diff_result_code(&revs->diffopt, result);
|
||||
}
|
||||
|
||||
int cmd_diff(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
int i;
|
||||
@ -230,6 +261,9 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
|
||||
* N=2, M=0:
|
||||
* tree vs tree (diff-tree)
|
||||
*
|
||||
* N=0, M=0, P=2:
|
||||
* compare two filesystem entities (aka --no-index).
|
||||
*
|
||||
* Other cases are errors.
|
||||
*/
|
||||
|
||||
@ -240,21 +274,21 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
|
||||
diff_use_color_default = git_use_color_default;
|
||||
|
||||
init_revisions(&rev, prefix);
|
||||
|
||||
/* If this is a no-index diff, just run it and exit there. */
|
||||
diff_no_index(&rev, argc, argv, nongit, prefix);
|
||||
|
||||
/* Otherwise, we are doing the usual "git" diff */
|
||||
rev.diffopt.skip_stat_unmatch = !!diff_auto_refresh_index;
|
||||
|
||||
if (!setup_diff_no_index(&rev, argc, argv, nongit, prefix))
|
||||
argc = 0;
|
||||
else
|
||||
argc = setup_revisions(argc, argv, &rev, NULL);
|
||||
if (nongit)
|
||||
die("Not a git repository");
|
||||
argc = setup_revisions(argc, argv, &rev, NULL);
|
||||
if (!rev.diffopt.output_format) {
|
||||
rev.diffopt.output_format = DIFF_FORMAT_PATCH;
|
||||
if (diff_setup_done(&rev.diffopt) < 0)
|
||||
die("diff_setup_done failed");
|
||||
}
|
||||
if (rev.diffopt.prefix && nongit) {
|
||||
rev.diffopt.prefix = NULL;
|
||||
rev.diffopt.prefix_length = 0;
|
||||
}
|
||||
DIFF_OPT_SET(&rev.diffopt, ALLOW_EXTERNAL);
|
||||
DIFF_OPT_SET(&rev.diffopt, RECURSIVE);
|
||||
|
||||
@ -265,7 +299,8 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
|
||||
if (!DIFF_OPT_TST(&rev.diffopt, EXIT_WITH_STATUS))
|
||||
setup_pager();
|
||||
|
||||
/* Do we have --cached and not have a pending object, then
|
||||
/*
|
||||
* Do we have --cached and not have a pending object, then
|
||||
* default to HEAD by hand. Eek.
|
||||
*/
|
||||
if (!rev.pending.nr) {
|
||||
@ -333,7 +368,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
|
||||
if (!ents) {
|
||||
switch (blobs) {
|
||||
case 0:
|
||||
result = run_diff_files_cmd(&rev, argc, argv);
|
||||
result = builtin_diff_files(&rev, argc, argv);
|
||||
break;
|
||||
case 1:
|
||||
if (paths != 1)
|
||||
|
323
diff-lib.c
323
diff-lib.c
@ -8,7 +8,6 @@
|
||||
#include "diffcore.h"
|
||||
#include "revision.h"
|
||||
#include "cache-tree.h"
|
||||
#include "path-list.h"
|
||||
#include "unpack-trees.h"
|
||||
#include "refs.h"
|
||||
|
||||
@ -16,328 +15,6 @@
|
||||
* diff-files
|
||||
*/
|
||||
|
||||
static int read_directory(const char *path, struct path_list *list)
|
||||
{
|
||||
DIR *dir;
|
||||
struct dirent *e;
|
||||
|
||||
if (!(dir = opendir(path)))
|
||||
return error("Could not open directory %s", path);
|
||||
|
||||
while ((e = readdir(dir)))
|
||||
if (strcmp(".", e->d_name) && strcmp("..", e->d_name))
|
||||
path_list_insert(e->d_name, list);
|
||||
|
||||
closedir(dir);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_mode(const char *path, int *mode)
|
||||
{
|
||||
struct stat st;
|
||||
|
||||
if (!path || !strcmp(path, "/dev/null"))
|
||||
*mode = 0;
|
||||
else if (!strcmp(path, "-"))
|
||||
*mode = create_ce_mode(0666);
|
||||
else if (stat(path, &st))
|
||||
return error("Could not access '%s'", path);
|
||||
else
|
||||
*mode = st.st_mode;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int queue_diff(struct diff_options *o,
|
||||
const char *name1, const char *name2)
|
||||
{
|
||||
int mode1 = 0, mode2 = 0;
|
||||
|
||||
if (get_mode(name1, &mode1) || get_mode(name2, &mode2))
|
||||
return -1;
|
||||
|
||||
if (mode1 && mode2 && S_ISDIR(mode1) != S_ISDIR(mode2))
|
||||
return error("file/directory conflict: %s, %s", name1, name2);
|
||||
|
||||
if (S_ISDIR(mode1) || S_ISDIR(mode2)) {
|
||||
char buffer1[PATH_MAX], buffer2[PATH_MAX];
|
||||
struct path_list p1 = {NULL, 0, 0, 1}, p2 = {NULL, 0, 0, 1};
|
||||
int len1 = 0, len2 = 0, i1, i2, ret = 0;
|
||||
|
||||
if (name1 && read_directory(name1, &p1))
|
||||
return -1;
|
||||
if (name2 && read_directory(name2, &p2)) {
|
||||
path_list_clear(&p1, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (name1) {
|
||||
len1 = strlen(name1);
|
||||
if (len1 > 0 && name1[len1 - 1] == '/')
|
||||
len1--;
|
||||
memcpy(buffer1, name1, len1);
|
||||
buffer1[len1++] = '/';
|
||||
}
|
||||
|
||||
if (name2) {
|
||||
len2 = strlen(name2);
|
||||
if (len2 > 0 && name2[len2 - 1] == '/')
|
||||
len2--;
|
||||
memcpy(buffer2, name2, len2);
|
||||
buffer2[len2++] = '/';
|
||||
}
|
||||
|
||||
for (i1 = i2 = 0; !ret && (i1 < p1.nr || i2 < p2.nr); ) {
|
||||
const char *n1, *n2;
|
||||
int comp;
|
||||
|
||||
if (i1 == p1.nr)
|
||||
comp = 1;
|
||||
else if (i2 == p2.nr)
|
||||
comp = -1;
|
||||
else
|
||||
comp = strcmp(p1.items[i1].path,
|
||||
p2.items[i2].path);
|
||||
|
||||
if (comp > 0)
|
||||
n1 = NULL;
|
||||
else {
|
||||
n1 = buffer1;
|
||||
strncpy(buffer1 + len1, p1.items[i1++].path,
|
||||
PATH_MAX - len1);
|
||||
}
|
||||
|
||||
if (comp < 0)
|
||||
n2 = NULL;
|
||||
else {
|
||||
n2 = buffer2;
|
||||
strncpy(buffer2 + len2, p2.items[i2++].path,
|
||||
PATH_MAX - len2);
|
||||
}
|
||||
|
||||
ret = queue_diff(o, n1, n2);
|
||||
}
|
||||
path_list_clear(&p1, 0);
|
||||
path_list_clear(&p2, 0);
|
||||
|
||||
return ret;
|
||||
} else {
|
||||
struct diff_filespec *d1, *d2;
|
||||
|
||||
if (DIFF_OPT_TST(o, REVERSE_DIFF)) {
|
||||
unsigned tmp;
|
||||
const char *tmp_c;
|
||||
tmp = mode1; mode1 = mode2; mode2 = tmp;
|
||||
tmp_c = name1; name1 = name2; name2 = tmp_c;
|
||||
}
|
||||
|
||||
if (!name1)
|
||||
name1 = "/dev/null";
|
||||
if (!name2)
|
||||
name2 = "/dev/null";
|
||||
d1 = alloc_filespec(name1);
|
||||
d2 = alloc_filespec(name2);
|
||||
fill_filespec(d1, null_sha1, mode1);
|
||||
fill_filespec(d2, null_sha1, mode2);
|
||||
|
||||
diff_queue(&diff_queued_diff, d1, d2);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Does the path name a blob in the working tree, or a directory
|
||||
* in the working tree?
|
||||
*/
|
||||
static int is_in_index(const char *path)
|
||||
{
|
||||
int len, pos;
|
||||
struct cache_entry *ce;
|
||||
|
||||
len = strlen(path);
|
||||
while (path[len-1] == '/')
|
||||
len--;
|
||||
if (!len)
|
||||
return 1; /* "." */
|
||||
pos = cache_name_pos(path, len);
|
||||
if (0 <= pos)
|
||||
return 1;
|
||||
pos = -1 - pos;
|
||||
while (pos < active_nr) {
|
||||
ce = active_cache[pos++];
|
||||
if (ce_namelen(ce) <= len ||
|
||||
strncmp(ce->name, path, len) ||
|
||||
(ce->name[len] > '/'))
|
||||
break; /* path cannot be a prefix */
|
||||
if (ce->name[len] == '/')
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int handle_diff_files_args(struct rev_info *revs,
|
||||
int argc, const char **argv,
|
||||
unsigned int *options)
|
||||
{
|
||||
*options = 0;
|
||||
|
||||
/* revs->max_count == -2 means --no-index */
|
||||
while (1 < argc && argv[1][0] == '-') {
|
||||
if (!strcmp(argv[1], "--base"))
|
||||
revs->max_count = 1;
|
||||
else if (!strcmp(argv[1], "--ours"))
|
||||
revs->max_count = 2;
|
||||
else if (!strcmp(argv[1], "--theirs"))
|
||||
revs->max_count = 3;
|
||||
else if (!strcmp(argv[1], "-n") ||
|
||||
!strcmp(argv[1], "--no-index")) {
|
||||
revs->max_count = -2;
|
||||
DIFF_OPT_SET(&revs->diffopt, EXIT_WITH_STATUS);
|
||||
DIFF_OPT_SET(&revs->diffopt, NO_INDEX);
|
||||
}
|
||||
else if (!strcmp(argv[1], "-q"))
|
||||
*options |= DIFF_SILENT_ON_REMOVED;
|
||||
else
|
||||
return error("invalid option: %s", argv[1]);
|
||||
argv++; argc--;
|
||||
}
|
||||
|
||||
if (revs->max_count == -1 && revs->diffopt.nr_paths == 2) {
|
||||
/*
|
||||
* If two files are specified, and at least one is untracked,
|
||||
* default to no-index.
|
||||
*/
|
||||
read_cache();
|
||||
if (!is_in_index(revs->diffopt.paths[0]) ||
|
||||
!is_in_index(revs->diffopt.paths[1])) {
|
||||
revs->max_count = -2;
|
||||
DIFF_OPT_SET(&revs->diffopt, NO_INDEX);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Make sure there are NO revision (i.e. pending object) parameter,
|
||||
* rev.max_count is reasonable (0 <= n <= 3),
|
||||
* there is no other revision filtering parameters.
|
||||
*/
|
||||
if (revs->pending.nr || revs->max_count > 3 ||
|
||||
revs->min_age != -1 || revs->max_age != -1)
|
||||
return error("no revision allowed with diff-files");
|
||||
|
||||
if (revs->max_count == -1 &&
|
||||
(revs->diffopt.output_format & DIFF_FORMAT_PATCH))
|
||||
revs->combine_merges = revs->dense_combined_merges = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int is_outside_repo(const char *path, int nongit, const char *prefix)
|
||||
{
|
||||
int i;
|
||||
if (nongit || !strcmp(path, "-") || is_absolute_path(path))
|
||||
return 1;
|
||||
if (prefixcmp(path, "../"))
|
||||
return 0;
|
||||
if (!prefix)
|
||||
return 1;
|
||||
for (i = strlen(prefix); !prefixcmp(path, "../"); ) {
|
||||
while (i > 0 && prefix[i - 1] != '/')
|
||||
i--;
|
||||
if (--i < 0)
|
||||
return 1;
|
||||
path += 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int setup_diff_no_index(struct rev_info *revs,
|
||||
int argc, const char ** argv, int nongit, const char *prefix)
|
||||
{
|
||||
int i;
|
||||
for (i = 1; i < argc; i++)
|
||||
if (argv[i][0] != '-' || argv[i][1] == '\0')
|
||||
break;
|
||||
else if (!strcmp(argv[i], "--")) {
|
||||
i++;
|
||||
break;
|
||||
} else if (i < argc - 3 && !strcmp(argv[i], "--no-index")) {
|
||||
i = argc - 3;
|
||||
DIFF_OPT_SET(&revs->diffopt, EXIT_WITH_STATUS);
|
||||
break;
|
||||
}
|
||||
if (nongit && argc != i + 2)
|
||||
die("git diff [--no-index] takes two paths");
|
||||
|
||||
if (argc != i + 2 || (!is_outside_repo(argv[i + 1], nongit, prefix) &&
|
||||
!is_outside_repo(argv[i], nongit, prefix)))
|
||||
return -1;
|
||||
|
||||
diff_setup(&revs->diffopt);
|
||||
for (i = 1; i < argc - 2; )
|
||||
if (!strcmp(argv[i], "--no-index"))
|
||||
i++;
|
||||
else {
|
||||
int j = diff_opt_parse(&revs->diffopt,
|
||||
argv + i, argc - i);
|
||||
if (!j)
|
||||
die("invalid diff option/value: %s", argv[i]);
|
||||
i += j;
|
||||
}
|
||||
|
||||
if (prefix) {
|
||||
int len = strlen(prefix);
|
||||
|
||||
revs->diffopt.paths = xcalloc(2, sizeof(char*));
|
||||
for (i = 0; i < 2; i++) {
|
||||
const char *p = argv[argc - 2 + i];
|
||||
/*
|
||||
* stdin should be spelled as '-'; if you have
|
||||
* path that is '-', spell it as ./-.
|
||||
*/
|
||||
p = (strcmp(p, "-")
|
||||
? xstrdup(prefix_filename(prefix, len, p))
|
||||
: p);
|
||||
revs->diffopt.paths[i] = p;
|
||||
}
|
||||
}
|
||||
else
|
||||
revs->diffopt.paths = argv + argc - 2;
|
||||
revs->diffopt.nr_paths = 2;
|
||||
DIFF_OPT_SET(&revs->diffopt, NO_INDEX);
|
||||
revs->max_count = -2;
|
||||
if (diff_setup_done(&revs->diffopt) < 0)
|
||||
die("diff_setup_done failed");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int run_diff_files_cmd(struct rev_info *revs, int argc, const char **argv)
|
||||
{
|
||||
unsigned int options;
|
||||
|
||||
if (handle_diff_files_args(revs, argc, argv, &options))
|
||||
return -1;
|
||||
|
||||
if (DIFF_OPT_TST(&revs->diffopt, NO_INDEX)) {
|
||||
if (revs->diffopt.nr_paths != 2)
|
||||
return error("need two files/directories with --no-index");
|
||||
if (queue_diff(&revs->diffopt, revs->diffopt.paths[0],
|
||||
revs->diffopt.paths[1]))
|
||||
return -1;
|
||||
diffcore_std(&revs->diffopt);
|
||||
diff_flush(&revs->diffopt);
|
||||
/*
|
||||
* The return code for --no-index imitates diff(1):
|
||||
* 0 = no changes, 1 = changes, else error
|
||||
*/
|
||||
return revs->diffopt.found_changes;
|
||||
}
|
||||
|
||||
if (read_cache() < 0) {
|
||||
perror("read_cache");
|
||||
return -1;
|
||||
}
|
||||
return run_diff_files(revs, options);
|
||||
}
|
||||
|
||||
/*
|
||||
* Has the work tree entity been removed?
|
||||
*
|
||||
|
263
diff-no-index.c
Normal file
263
diff-no-index.c
Normal file
@ -0,0 +1,263 @@
|
||||
/*
|
||||
* "diff --no-index" support
|
||||
* Copyright (c) 2007 by Johannes Schindelin
|
||||
* Copyright (c) 2008 by Junio C Hamano
|
||||
*/
|
||||
|
||||
#include "cache.h"
|
||||
#include "color.h"
|
||||
#include "commit.h"
|
||||
#include "blob.h"
|
||||
#include "tag.h"
|
||||
#include "diff.h"
|
||||
#include "diffcore.h"
|
||||
#include "revision.h"
|
||||
#include "log-tree.h"
|
||||
#include "builtin.h"
|
||||
#include "path-list.h"
|
||||
|
||||
static int read_directory(const char *path, struct path_list *list)
|
||||
{
|
||||
DIR *dir;
|
||||
struct dirent *e;
|
||||
|
||||
if (!(dir = opendir(path)))
|
||||
return error("Could not open directory %s", path);
|
||||
|
||||
while ((e = readdir(dir)))
|
||||
if (strcmp(".", e->d_name) && strcmp("..", e->d_name))
|
||||
path_list_insert(e->d_name, list);
|
||||
|
||||
closedir(dir);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_mode(const char *path, int *mode)
|
||||
{
|
||||
struct stat st;
|
||||
|
||||
if (!path || !strcmp(path, "/dev/null"))
|
||||
*mode = 0;
|
||||
else if (!strcmp(path, "-"))
|
||||
*mode = create_ce_mode(0666);
|
||||
else if (stat(path, &st))
|
||||
return error("Could not access '%s'", path);
|
||||
else
|
||||
*mode = st.st_mode;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int queue_diff(struct diff_options *o,
|
||||
const char *name1, const char *name2)
|
||||
{
|
||||
int mode1 = 0, mode2 = 0;
|
||||
|
||||
if (get_mode(name1, &mode1) || get_mode(name2, &mode2))
|
||||
return -1;
|
||||
|
||||
if (mode1 && mode2 && S_ISDIR(mode1) != S_ISDIR(mode2))
|
||||
return error("file/directory conflict: %s, %s", name1, name2);
|
||||
|
||||
if (S_ISDIR(mode1) || S_ISDIR(mode2)) {
|
||||
char buffer1[PATH_MAX], buffer2[PATH_MAX];
|
||||
struct path_list p1 = {NULL, 0, 0, 1}, p2 = {NULL, 0, 0, 1};
|
||||
int len1 = 0, len2 = 0, i1, i2, ret = 0;
|
||||
|
||||
if (name1 && read_directory(name1, &p1))
|
||||
return -1;
|
||||
if (name2 && read_directory(name2, &p2)) {
|
||||
path_list_clear(&p1, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (name1) {
|
||||
len1 = strlen(name1);
|
||||
if (len1 > 0 && name1[len1 - 1] == '/')
|
||||
len1--;
|
||||
memcpy(buffer1, name1, len1);
|
||||
buffer1[len1++] = '/';
|
||||
}
|
||||
|
||||
if (name2) {
|
||||
len2 = strlen(name2);
|
||||
if (len2 > 0 && name2[len2 - 1] == '/')
|
||||
len2--;
|
||||
memcpy(buffer2, name2, len2);
|
||||
buffer2[len2++] = '/';
|
||||
}
|
||||
|
||||
for (i1 = i2 = 0; !ret && (i1 < p1.nr || i2 < p2.nr); ) {
|
||||
const char *n1, *n2;
|
||||
int comp;
|
||||
|
||||
if (i1 == p1.nr)
|
||||
comp = 1;
|
||||
else if (i2 == p2.nr)
|
||||
comp = -1;
|
||||
else
|
||||
comp = strcmp(p1.items[i1].path,
|
||||
p2.items[i2].path);
|
||||
|
||||
if (comp > 0)
|
||||
n1 = NULL;
|
||||
else {
|
||||
n1 = buffer1;
|
||||
strncpy(buffer1 + len1, p1.items[i1++].path,
|
||||
PATH_MAX - len1);
|
||||
}
|
||||
|
||||
if (comp < 0)
|
||||
n2 = NULL;
|
||||
else {
|
||||
n2 = buffer2;
|
||||
strncpy(buffer2 + len2, p2.items[i2++].path,
|
||||
PATH_MAX - len2);
|
||||
}
|
||||
|
||||
ret = queue_diff(o, n1, n2);
|
||||
}
|
||||
path_list_clear(&p1, 0);
|
||||
path_list_clear(&p2, 0);
|
||||
|
||||
return ret;
|
||||
} else {
|
||||
struct diff_filespec *d1, *d2;
|
||||
|
||||
if (DIFF_OPT_TST(o, REVERSE_DIFF)) {
|
||||
unsigned tmp;
|
||||
const char *tmp_c;
|
||||
tmp = mode1; mode1 = mode2; mode2 = tmp;
|
||||
tmp_c = name1; name1 = name2; name2 = tmp_c;
|
||||
}
|
||||
|
||||
if (!name1)
|
||||
name1 = "/dev/null";
|
||||
if (!name2)
|
||||
name2 = "/dev/null";
|
||||
d1 = alloc_filespec(name1);
|
||||
d2 = alloc_filespec(name2);
|
||||
fill_filespec(d1, null_sha1, mode1);
|
||||
fill_filespec(d2, null_sha1, mode2);
|
||||
|
||||
diff_queue(&diff_queued_diff, d1, d2);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int path_outside_repo(const char *path)
|
||||
{
|
||||
/*
|
||||
* We have already done setup_git_directory_gently() so we
|
||||
* know we are inside a git work tree already.
|
||||
*/
|
||||
const char *work_tree;
|
||||
size_t len;
|
||||
|
||||
if (!is_absolute_path(path))
|
||||
return 0;
|
||||
work_tree = get_git_work_tree();
|
||||
len = strlen(work_tree);
|
||||
if (strncmp(path, work_tree, len) ||
|
||||
(path[len] != '\0' && path[len] != '/'))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void diff_no_index(struct rev_info *revs,
|
||||
int argc, const char **argv,
|
||||
int nongit, const char *prefix)
|
||||
{
|
||||
int i;
|
||||
int no_index = 0;
|
||||
unsigned options = 0;
|
||||
|
||||
/* Were we asked to do --no-index explicitly? */
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (!strcmp(argv[i], "--"))
|
||||
return;
|
||||
if (!strcmp(argv[i], "--no-index"))
|
||||
no_index = 1;
|
||||
if (argv[i][0] != '-')
|
||||
break;
|
||||
}
|
||||
|
||||
if (!no_index && !nongit) {
|
||||
/*
|
||||
* Inside a git repository, without --no-index. Only
|
||||
* when a path outside the repository is given,
|
||||
* e.g. "git diff /var/tmp/[12]", or "git diff
|
||||
* Makefile /var/tmp/Makefile", allow it to be used as
|
||||
* a colourful "diff" replacement.
|
||||
*/
|
||||
if ((argc != i + 2) ||
|
||||
(!path_outside_repo(argv[i]) &&
|
||||
!path_outside_repo(argv[i+1])))
|
||||
return;
|
||||
}
|
||||
if (argc != i + 2)
|
||||
die("git diff %s takes two paths",
|
||||
no_index ? "--no-index" : "[--no-index]");
|
||||
|
||||
/*
|
||||
* If the user asked for our exit code then don't start a
|
||||
* pager or we would end up reporting its exit code instead.
|
||||
*/
|
||||
if (!DIFF_OPT_TST(&revs->diffopt, EXIT_WITH_STATUS))
|
||||
setup_pager();
|
||||
|
||||
diff_setup(&revs->diffopt);
|
||||
if (!revs->diffopt.output_format)
|
||||
revs->diffopt.output_format = DIFF_FORMAT_PATCH;
|
||||
for (i = 1; i < argc - 2; ) {
|
||||
int j;
|
||||
if (!strcmp(argv[i], "--no-index"))
|
||||
i++;
|
||||
else if (!strcmp(argv[1], "-q"))
|
||||
options |= DIFF_SILENT_ON_REMOVED;
|
||||
else {
|
||||
j = diff_opt_parse(&revs->diffopt, argv + i, argc - i);
|
||||
if (!j)
|
||||
die("invalid diff option/value: %s", argv[i]);
|
||||
i += j;
|
||||
}
|
||||
}
|
||||
|
||||
if (prefix) {
|
||||
int len = strlen(prefix);
|
||||
|
||||
revs->diffopt.paths = xcalloc(2, sizeof(char*));
|
||||
for (i = 0; i < 2; i++) {
|
||||
const char *p = argv[argc - 2 + i];
|
||||
/*
|
||||
* stdin should be spelled as '-'; if you have
|
||||
* path that is '-', spell it as ./-.
|
||||
*/
|
||||
p = (strcmp(p, "-")
|
||||
? xstrdup(prefix_filename(prefix, len, p))
|
||||
: p);
|
||||
revs->diffopt.paths[i] = p;
|
||||
}
|
||||
}
|
||||
else
|
||||
revs->diffopt.paths = argv + argc - 2;
|
||||
revs->diffopt.nr_paths = 2;
|
||||
|
||||
DIFF_OPT_SET(&revs->diffopt, EXIT_WITH_STATUS);
|
||||
DIFF_OPT_SET(&revs->diffopt, NO_INDEX);
|
||||
|
||||
revs->max_count = -2;
|
||||
if (diff_setup_done(&revs->diffopt) < 0)
|
||||
die("diff_setup_done failed");
|
||||
|
||||
if (queue_diff(&revs->diffopt, revs->diffopt.paths[0],
|
||||
revs->diffopt.paths[1]))
|
||||
exit(1);
|
||||
diffcore_std(&revs->diffopt);
|
||||
diff_flush(&revs->diffopt);
|
||||
|
||||
/*
|
||||
* The return code for --no-index imitates diff(1):
|
||||
* 0 = no changes, 1 = changes, else error
|
||||
*/
|
||||
exit(revs->diffopt.found_changes);
|
||||
}
|
6
diff.h
6
diff.h
@ -251,10 +251,6 @@ extern const char *diff_unique_abbrev(const unsigned char *, int);
|
||||
/* report racily-clean paths as modified */
|
||||
#define DIFF_RACY_IS_MODIFIED 02
|
||||
extern int run_diff_files(struct rev_info *revs, unsigned int option);
|
||||
extern int setup_diff_no_index(struct rev_info *revs,
|
||||
int argc, const char ** argv, int nongit, const char *prefix);
|
||||
extern int run_diff_files_cmd(struct rev_info *revs, int argc, const char **argv);
|
||||
|
||||
extern int run_diff_index(struct rev_info *revs, int cached);
|
||||
|
||||
extern int do_diff_cache(const unsigned char *, struct diff_options *);
|
||||
@ -262,4 +258,6 @@ extern int diff_flush_patch_id(struct diff_options *, unsigned char *);
|
||||
|
||||
extern int diff_result_code(struct diff_options *, int);
|
||||
|
||||
extern void diff_no_index(struct rev_info *, int, const char **, int, const char *);
|
||||
|
||||
#endif /* DIFF_H */
|
||||
|
2
git.c
2
git.c
@ -294,7 +294,7 @@ static void handle_internal_command(int argc, const char **argv)
|
||||
{ "count-objects", cmd_count_objects, RUN_SETUP },
|
||||
{ "describe", cmd_describe, RUN_SETUP },
|
||||
{ "diff", cmd_diff },
|
||||
{ "diff-files", cmd_diff_files },
|
||||
{ "diff-files", cmd_diff_files, RUN_SETUP },
|
||||
{ "diff-index", cmd_diff_index, RUN_SETUP },
|
||||
{ "diff-tree", cmd_diff_tree, RUN_SETUP },
|
||||
{ "fast-export", cmd_fast_export, RUN_SETUP },
|
||||
|
@ -11,7 +11,7 @@ compare_diff_raw () {
|
||||
|
||||
sed -e "$sanitize_diff_raw" <"$1" >.tmp-1
|
||||
sed -e "$sanitize_diff_raw" <"$2" >.tmp-2
|
||||
git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||
test_cmp .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||
}
|
||||
|
||||
sanitize_diff_raw_z='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*$/ X X \1#/'
|
||||
@ -23,7 +23,7 @@ compare_diff_raw_z () {
|
||||
|
||||
perl -pe 'y/\000/\012/' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1
|
||||
perl -pe 'y/\000/\012/' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2
|
||||
git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||
test_cmp .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||
}
|
||||
|
||||
compare_diff_patch () {
|
||||
@ -37,5 +37,5 @@ compare_diff_patch () {
|
||||
/^[dis]*imilarity index [0-9]*%$/d
|
||||
/^index [0-9a-f]*\.\.[0-9a-f]/d
|
||||
' <"$2" >.tmp-2
|
||||
git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||
test_cmp .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||
}
|
||||
|
@ -16,96 +16,96 @@ test_expect_success \
|
||||
'long lines without spaces should be unchanged' '
|
||||
echo "$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt$ttt$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt$ttt$ttt$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'lines with spaces at the beginning should be unchanged' '
|
||||
echo "$sss$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$sss$sss$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$sss$sss$sss$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'lines with intermediate spaces should be unchanged' '
|
||||
echo "$ttt$sss$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt$sss$sss$ttt" >expect &&
|
||||
git stripspace <expect >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'consecutive blank lines should be unified' '
|
||||
printf "$ttt\n\n$ttt\n" > expect &&
|
||||
printf "$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt\n\n$ttt\n" > expect &&
|
||||
printf "$ttt$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt$ttt\n\n$ttt\n" > expect &&
|
||||
printf "$ttt$ttt$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$ttt\n" > expect &&
|
||||
printf "$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$ttt$ttt\n" > expect &&
|
||||
printf "$ttt\n\n\n\n\n$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$ttt$ttt$ttt\n" > expect &&
|
||||
printf "$ttt\n\n\n\n\n$ttt$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$ttt\n" > expect &&
|
||||
printf "$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt\n\n$ttt\n" > expect &&
|
||||
printf "$ttt$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt$ttt\n\n$ttt\n" > expect &&
|
||||
printf "$ttt$ttt$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$ttt\n" > expect &&
|
||||
printf "$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$ttt$ttt\n" > expect &&
|
||||
printf "$ttt\n\t\n \n\n \t\t\n$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$ttt$ttt$ttt\n" > expect &&
|
||||
printf "$ttt\n\t\n \n\n \t\t\n$ttt$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -113,114 +113,114 @@ test_expect_success \
|
||||
> expect &&
|
||||
|
||||
printf "\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "\n\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$sss\n$sss\n$sss\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$sss$sss\n$sss\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "\n$sss\n$sss$sss\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$sss$sss$sss$sss\n\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "\n$sss$sss$sss$sss\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "\n\n$sss$sss$sss$sss\n" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'consecutive blank lines at the beginning should be removed' '
|
||||
printf "$ttt\n" > expect &&
|
||||
printf "\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n" > expect &&
|
||||
printf "\n\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt\n" > expect &&
|
||||
printf "\n\n\n$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt$ttt\n" > expect &&
|
||||
printf "\n\n\n$ttt$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt$ttt$ttt\n" > expect &&
|
||||
printf "\n\n\n$ttt$ttt$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n" > expect &&
|
||||
|
||||
printf "$sss\n$sss\n$sss\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "\n$sss\n$sss$sss\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$sss$sss\n$sss\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$sss$sss$sss\n\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "\n$sss$sss$sss\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "\n\n$sss$sss$sss\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'consecutive blank lines at the end should be removed' '
|
||||
printf "$ttt\n" > expect &&
|
||||
printf "$ttt\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n" > expect &&
|
||||
printf "$ttt\n\n\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt\n" > expect &&
|
||||
printf "$ttt$ttt\n\n\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt$ttt\n" > expect &&
|
||||
printf "$ttt$ttt$ttt\n\n\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt$ttt$ttt\n" > expect &&
|
||||
printf "$ttt$ttt$ttt$ttt\n\n\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n" > expect &&
|
||||
|
||||
printf "$ttt\n$sss\n$sss\n$sss\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$sss\n$sss$sss\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n$sss$sss\n$sss\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n$sss$sss$sss\n\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n$sss$sss$sss\n\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n\n\n$sss$sss$sss\n" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -257,27 +257,27 @@ test_expect_success \
|
||||
'text plus spaces without newline should show the correct lines' '
|
||||
printf "$ttt\n" >expect &&
|
||||
printf "$ttt$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n" >expect &&
|
||||
printf "$ttt$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n" >expect &&
|
||||
printf "$ttt$sss$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt\n" >expect &&
|
||||
printf "$ttt$ttt$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt\n" >expect &&
|
||||
printf "$ttt$ttt$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt$ttt\n" >expect &&
|
||||
printf "$ttt$ttt$ttt$sss" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -294,27 +294,27 @@ test_expect_success \
|
||||
'text plus spaces at end should be cleaned and newline must remain' '
|
||||
echo "$ttt" >expect &&
|
||||
echo "$ttt$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt" >expect &&
|
||||
echo "$ttt$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt" >expect &&
|
||||
echo "$ttt$sss$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt$ttt" >expect &&
|
||||
echo "$ttt$ttt$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt$ttt" >expect &&
|
||||
echo "$ttt$ttt$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$ttt$ttt$ttt" >expect &&
|
||||
echo "$ttt$ttt$ttt$sss" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
# spaces only:
|
||||
@ -324,19 +324,19 @@ test_expect_success \
|
||||
printf "" >expect &&
|
||||
|
||||
echo | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$sss$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "$sss$sss$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -353,43 +353,43 @@ test_expect_success \
|
||||
printf "" >expect &&
|
||||
|
||||
printf "" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$sss$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$sss$sss$sss$sss" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'consecutive text lines should be unchanged' '
|
||||
printf "$ttt$ttt\n$ttt\n" >expect &&
|
||||
printf "$ttt$ttt\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n$ttt$ttt\n$ttt\n" >expect &&
|
||||
printf "$ttt\n$ttt$ttt\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n$ttt\n$ttt\n$ttt$ttt\n" >expect &&
|
||||
printf "$ttt\n$ttt\n$ttt\n$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n$ttt\n\n$ttt$ttt\n$ttt\n" >expect &&
|
||||
printf "$ttt\n$ttt\n\n$ttt$ttt\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt$ttt\n\n$ttt\n$ttt$ttt\n" >expect &&
|
||||
printf "$ttt$ttt\n\n$ttt\n$ttt$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
printf "$ttt\n$ttt$ttt\n\n$ttt\n" >expect &&
|
||||
printf "$ttt\n$ttt$ttt\n\n$ttt\n" | git stripspace >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'strip comments, too' '
|
||||
|
@ -29,7 +29,7 @@ EOF
|
||||
test_expect_success 'test help' '
|
||||
! test-parse-options -h > output 2> output.err &&
|
||||
test ! -s output &&
|
||||
git diff expect.err output.err
|
||||
test_cmp expect.err output.err
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
@ -40,7 +40,7 @@ EOF
|
||||
|
||||
test_expect_success 'short options' '
|
||||
test-parse-options -s123 -b -i 1729 -b > output 2> output.err &&
|
||||
git diff expect output &&
|
||||
test_cmp expect output &&
|
||||
test ! -s output.err
|
||||
'
|
||||
cat > expect << EOF
|
||||
@ -53,7 +53,7 @@ test_expect_success 'long options' '
|
||||
test-parse-options --boolean --integer 1729 --boolean --string2=321 \
|
||||
> output 2> output.err &&
|
||||
test ! -s output.err &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
@ -69,7 +69,7 @@ test_expect_success 'intermingled arguments' '
|
||||
test-parse-options a1 --string 123 b1 --boolean -j 13 -- --boolean \
|
||||
> output 2> output.err &&
|
||||
test ! -s output.err &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
@ -81,13 +81,13 @@ EOF
|
||||
test_expect_success 'unambiguously abbreviated option' '
|
||||
test-parse-options --int 2 --boolean --no-bo > output 2> output.err &&
|
||||
test ! -s output.err &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_expect_success 'unambiguously abbreviated option with "="' '
|
||||
test-parse-options --int=2 > output 2> output.err &&
|
||||
test ! -s output.err &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_expect_success 'ambiguously abbreviated option' '
|
||||
@ -104,7 +104,7 @@ EOF
|
||||
test_expect_success 'non ambiguous option (after two options it abbreviates)' '
|
||||
test-parse-options --st 123 > output 2> output.err &&
|
||||
test ! -s output.err &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect.err << EOF
|
||||
@ -114,7 +114,7 @@ EOF
|
||||
test_expect_success 'detect possible typos' '
|
||||
! test-parse-options -boolean > output 2> output.err &&
|
||||
test ! -s output &&
|
||||
git diff expect.err output.err
|
||||
test_cmp expect.err output.err
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
@ -127,7 +127,7 @@ EOF
|
||||
test_expect_success 'keep some options as arguments' '
|
||||
test-parse-options --quux > output 2> output.err &&
|
||||
test ! -s output.err &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -131,7 +131,7 @@ _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||
|
||||
check_result () {
|
||||
git ls-files --stage | sed -e 's/ '"$_x40"' / X /' >current &&
|
||||
git diff expected current
|
||||
test_cmp expected current
|
||||
}
|
||||
|
||||
# This is done on an empty work directory, which is the normal
|
||||
|
@ -33,7 +33,7 @@ compare_change () {
|
||||
-e '/^--- /d; /^+++ /d; /^@@ /d;' \
|
||||
-e 's/^\([-+][0-7][0-7][0-7][0-7][0-7][0-7]\) '"$_x40"' /\1 X /p' \
|
||||
"$1"
|
||||
git diff expected current
|
||||
test_cmp expected current
|
||||
}
|
||||
|
||||
check_cache_at () {
|
||||
@ -86,7 +86,7 @@ test_expect_success \
|
||||
'rm -f .git/index &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >1-3.out &&
|
||||
git diff M.out 1-3.out &&
|
||||
test_cmp M.out 1-3.out &&
|
||||
check_cache_at bozbar dirty &&
|
||||
check_cache_at frotz dirty &&
|
||||
check_cache_at nitfol dirty'
|
||||
@ -101,7 +101,7 @@ test_expect_success \
|
||||
git update-index --add yomin &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >4.out || return 1
|
||||
git diff M.out 4.out >4diff.out
|
||||
git diff --no-index M.out 4.out >4diff.out
|
||||
compare_change 4diff.out expected &&
|
||||
check_cache_at yomin clean'
|
||||
|
||||
@ -115,7 +115,7 @@ test_expect_success \
|
||||
echo yomin yomin >yomin &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >5.out || return 1
|
||||
git diff M.out 5.out >5diff.out
|
||||
git diff --no-index M.out 5.out >5diff.out
|
||||
compare_change 5diff.out expected &&
|
||||
check_cache_at yomin dirty'
|
||||
|
||||
@ -127,7 +127,7 @@ test_expect_success \
|
||||
git update-index --add frotz &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >6.out &&
|
||||
git diff M.out 6.out &&
|
||||
test_cmp M.out 6.out &&
|
||||
check_cache_at frotz clean'
|
||||
|
||||
test_expect_success \
|
||||
@ -140,7 +140,7 @@ test_expect_success \
|
||||
echo frotz frotz >frotz &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >7.out &&
|
||||
git diff M.out 7.out &&
|
||||
test_cmp M.out 7.out &&
|
||||
check_cache_at frotz dirty'
|
||||
|
||||
test_expect_success \
|
||||
@ -171,7 +171,7 @@ test_expect_success \
|
||||
git update-index --add rezrov &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >10.out &&
|
||||
git diff M.out 10.out'
|
||||
test_cmp M.out 10.out'
|
||||
|
||||
test_expect_success \
|
||||
'11 - dirty path removed.' \
|
||||
@ -216,7 +216,7 @@ test_expect_success \
|
||||
git update-index --add nitfol &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >14.out || return 1
|
||||
git diff M.out 14.out >14diff.out
|
||||
git diff --no-index M.out 14.out >14diff.out
|
||||
compare_change 14diff.out expected &&
|
||||
check_cache_at nitfol clean'
|
||||
|
||||
@ -230,7 +230,7 @@ test_expect_success \
|
||||
echo nitfol nitfol nitfol >nitfol &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >15.out || return 1
|
||||
git diff M.out 15.out >15diff.out
|
||||
git diff --no-index M.out 15.out >15diff.out
|
||||
compare_change 15diff.out expected &&
|
||||
check_cache_at nitfol dirty'
|
||||
|
||||
@ -262,7 +262,7 @@ test_expect_success \
|
||||
git update-index --add bozbar &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >18.out &&
|
||||
git diff M.out 18.out &&
|
||||
test_cmp M.out 18.out &&
|
||||
check_cache_at bozbar clean'
|
||||
|
||||
test_expect_success \
|
||||
@ -275,7 +275,7 @@ test_expect_success \
|
||||
echo gnusto gnusto >bozbar &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >19.out &&
|
||||
git diff M.out 19.out &&
|
||||
test_cmp M.out 19.out &&
|
||||
check_cache_at bozbar dirty'
|
||||
|
||||
test_expect_success \
|
||||
@ -287,7 +287,7 @@ test_expect_success \
|
||||
git update-index --add bozbar &&
|
||||
read_tree_twoway $treeH $treeM &&
|
||||
git ls-files --stage >20.out &&
|
||||
git diff M.out 20.out &&
|
||||
test_cmp M.out 20.out &&
|
||||
check_cache_at bozbar dirty'
|
||||
|
||||
test_expect_success \
|
||||
@ -337,7 +337,7 @@ test_expect_success \
|
||||
git update-index --add DF &&
|
||||
read_tree_twoway $treeDF $treeDFDF &&
|
||||
git ls-files --stage >DFDFcheck.out &&
|
||||
git diff DFDF.out DFDFcheck.out &&
|
||||
test_cmp DFDF.out DFDFcheck.out &&
|
||||
check_cache_at DF/DF dirty &&
|
||||
:'
|
||||
|
||||
|
@ -16,7 +16,7 @@ compare_change () {
|
||||
sed >current \
|
||||
-e '/^--- /d; /^+++ /d; /^@@ /d;' \
|
||||
-e 's/^\(.[0-7][0-7][0-7][0-7][0-7][0-7]\) '"$_x40"' /\1 X /' "$1"
|
||||
git diff expected current
|
||||
test_cmp expected current
|
||||
}
|
||||
|
||||
check_cache_at () {
|
||||
|
@ -427,13 +427,13 @@ cat > expect << EOF
|
||||
weird
|
||||
EOF
|
||||
|
||||
test_expect_success "rename succeeded" "git diff expect .git/config"
|
||||
test_expect_success "rename succeeded" "test_cmp expect .git/config"
|
||||
|
||||
test_expect_success "rename non-existing section" '
|
||||
! git config --rename-section branch."world domination" branch.drei
|
||||
'
|
||||
|
||||
test_expect_success "rename succeeded" "git diff expect .git/config"
|
||||
test_expect_success "rename succeeded" "test_cmp expect .git/config"
|
||||
|
||||
test_expect_success "rename another section" \
|
||||
'git config --rename-section branch."1 234 blabl/a" branch.drei'
|
||||
@ -449,7 +449,7 @@ cat > expect << EOF
|
||||
weird
|
||||
EOF
|
||||
|
||||
test_expect_success "rename succeeded" "git diff expect .git/config"
|
||||
test_expect_success "rename succeeded" "test_cmp expect .git/config"
|
||||
|
||||
cat >> .git/config << EOF
|
||||
[branch "zwei"] a = 1 [branch "vier"]
|
||||
@ -465,7 +465,7 @@ weird
|
||||
EOF
|
||||
|
||||
test_expect_success "section was removed properly" \
|
||||
"git diff -u expect .git/config"
|
||||
"test_cmp expect .git/config"
|
||||
|
||||
rm .git/config
|
||||
|
||||
|
@ -11,7 +11,7 @@ setup() {
|
||||
check() {
|
||||
echo "$2" >expected
|
||||
git config --get "$1" >actual
|
||||
git diff actual expected
|
||||
test_cmp actual expected
|
||||
}
|
||||
|
||||
test_expect_success 'modify same key' '
|
||||
|
@ -37,7 +37,7 @@ C? option C with an optional argument
|
||||
Extras
|
||||
extra1 line above used to cause a segfault but no longer does
|
||||
EOF
|
||||
git diff expect.err output.err
|
||||
test_cmp expect.err output.err
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -65,7 +65,7 @@ test_expect_success \
|
||||
--exclude-per-directory=.gitignore \
|
||||
--exclude-from=.git/ignore \
|
||||
>output &&
|
||||
git diff expect output'
|
||||
test_cmp expect output'
|
||||
|
||||
# Test \r\n (MSDOS-like systems)
|
||||
printf '*.1\r\n/*.3\r\n!*.6\r\n' >.gitignore
|
||||
@ -77,7 +77,7 @@ test_expect_success \
|
||||
--exclude-per-directory=.gitignore \
|
||||
--exclude-from=.git/ignore \
|
||||
>output &&
|
||||
git diff expect output'
|
||||
test_cmp expect output'
|
||||
|
||||
cat > excludes-file << EOF
|
||||
*.[1-8]
|
||||
|
@ -23,7 +23,7 @@ test_expect_success \
|
||||
test_expect_success \
|
||||
'git ls-files without path restriction.' \
|
||||
'git ls-files --others >output &&
|
||||
git diff output - <<EOF
|
||||
test_cmp output - <<EOF
|
||||
--
|
||||
-foo
|
||||
output
|
||||
@ -34,7 +34,7 @@ EOF
|
||||
test_expect_success \
|
||||
'git ls-files with path restriction.' \
|
||||
'git ls-files --others path0 >output &&
|
||||
git diff output - <<EOF
|
||||
test_cmp output - <<EOF
|
||||
path0
|
||||
EOF
|
||||
'
|
||||
@ -42,7 +42,7 @@ EOF
|
||||
test_expect_success \
|
||||
'git ls-files with path restriction with --.' \
|
||||
'git ls-files --others -- path0 >output &&
|
||||
git diff output - <<EOF
|
||||
test_cmp output - <<EOF
|
||||
path0
|
||||
EOF
|
||||
'
|
||||
@ -50,7 +50,7 @@ EOF
|
||||
test_expect_success \
|
||||
'git ls-files with path restriction with -- --.' \
|
||||
'git ls-files --others -- -- >output &&
|
||||
git diff output - <<EOF
|
||||
test_cmp output - <<EOF
|
||||
--
|
||||
EOF
|
||||
'
|
||||
@ -58,7 +58,7 @@ EOF
|
||||
test_expect_success \
|
||||
'git ls-files with no path restriction.' \
|
||||
'git ls-files --others -- >output &&
|
||||
git diff output - <<EOF
|
||||
test_cmp output - <<EOF
|
||||
--
|
||||
-foo
|
||||
output
|
||||
|
@ -43,7 +43,7 @@ test_expect_success 'setup 1' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o1 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'setup 2' '
|
||||
@ -61,7 +61,7 @@ test_expect_success 'setup 2' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual &&
|
||||
test_cmp expected actual &&
|
||||
|
||||
echo goodbye >>a &&
|
||||
o2=$(git hash-object a) &&
|
||||
@ -82,7 +82,7 @@ test_expect_success 'setup 2' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'setup 3' '
|
||||
@ -100,7 +100,7 @@ test_expect_success 'setup 3' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual &&
|
||||
test_cmp expected actual &&
|
||||
|
||||
rm -f b && mkdir b && echo df-1 >b/c && git add b/c &&
|
||||
o3=$(git hash-object b/c) &&
|
||||
@ -119,7 +119,7 @@ test_expect_success 'setup 3' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'setup 4' '
|
||||
@ -137,7 +137,7 @@ test_expect_success 'setup 4' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual &&
|
||||
test_cmp expected actual &&
|
||||
|
||||
rm -f a && mkdir a && echo df-2 >a/c && git add a/c &&
|
||||
o4=$(git hash-object a/c) &&
|
||||
@ -156,7 +156,7 @@ test_expect_success 'setup 4' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'setup 5' '
|
||||
@ -174,7 +174,7 @@ test_expect_success 'setup 5' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual &&
|
||||
test_cmp expected actual &&
|
||||
|
||||
rm -f b &&
|
||||
echo remove-conflict >a &&
|
||||
@ -195,7 +195,7 @@ test_expect_success 'setup 5' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
@ -214,7 +214,7 @@ test_expect_success 'setup 6' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o0 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual &&
|
||||
test_cmp expected actual &&
|
||||
|
||||
rm -fr d && echo df-3 >d && git add d &&
|
||||
o6=$(git hash-object d) &&
|
||||
@ -233,7 +233,7 @@ test_expect_success 'setup 6' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o6 0 d"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'merge-recursive simple' '
|
||||
@ -265,7 +265,7 @@ test_expect_success 'merge-recursive result' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o1 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
@ -297,7 +297,7 @@ test_expect_success 'merge-recursive remove conflict' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o1 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
@ -318,7 +318,7 @@ test_expect_success 'merge-recursive result' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o1 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
@ -352,7 +352,7 @@ test_expect_success 'merge-recursive d/f conflict result' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o1 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
@ -386,7 +386,7 @@ test_expect_success 'merge-recursive d/f conflict result the other way' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o1 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
@ -420,7 +420,7 @@ test_expect_success 'merge-recursive d/f conflict result' '
|
||||
echo "100644 $o0 1 d/e"
|
||||
echo "100644 $o1 2 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
@ -454,7 +454,7 @@ test_expect_success 'merge-recursive d/f conflict result' '
|
||||
echo "100644 $o0 1 d/e"
|
||||
echo "100644 $o1 3 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
@ -480,7 +480,7 @@ test_expect_success 'reset and bind merge' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o1 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual &&
|
||||
test_cmp expected actual &&
|
||||
|
||||
git read-tree --prefix=a1/ master &&
|
||||
git ls-files -s >actual &&
|
||||
@ -498,7 +498,7 @@ test_expect_success 'reset and bind merge' '
|
||||
echo "100644 $o0 0 c"
|
||||
echo "100644 $o1 0 d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
git read-tree --prefix=z/ master &&
|
||||
git ls-files -s >actual &&
|
||||
@ -520,7 +520,7 @@ test_expect_success 'reset and bind merge' '
|
||||
echo "100644 $o0 0 z/c"
|
||||
echo "100644 $o1 0 z/d/e"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
|
||||
'
|
||||
|
||||
|
@ -24,7 +24,7 @@ test_expect_success 'create subprojects' \
|
||||
git add sub2 &&
|
||||
git commit -q -m "subprojects added" &&
|
||||
git diff-tree --abbrev=5 HEAD^ HEAD |cut -d" " -f-3,5- >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
git branch save HEAD
|
||||
|
||||
@ -62,7 +62,7 @@ test_expect_success 'check if clone works' \
|
||||
'git ls-files -s >expected &&
|
||||
git clone -l -s . cloned &&
|
||||
( cd cloned && git ls-files -s ) >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
test_expect_success 'removing and adding subproject' \
|
||||
'git update-index --force-remove -- sub2 &&
|
||||
|
@ -35,7 +35,7 @@ _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||
test_output () {
|
||||
sed -e "s/ $_x40 / X /" <current >check
|
||||
git diff expected check
|
||||
test_cmp expected check
|
||||
}
|
||||
|
||||
test_expect_success \
|
||||
|
@ -43,7 +43,7 @@ _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||
test_output () {
|
||||
sed -e "s/ $_x40 / X /" <current >check
|
||||
git diff expected check
|
||||
test_cmp expected check
|
||||
}
|
||||
|
||||
test_expect_success \
|
||||
|
@ -35,7 +35,7 @@ no-funny' >expected
|
||||
test_expect_success 'git ls-files no-funny' \
|
||||
'git update-index --add "$p0" "$p2" &&
|
||||
git ls-files >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
t0=`git write-tree`
|
||||
echo "$t0" >t0
|
||||
@ -48,14 +48,14 @@ EOF
|
||||
test_expect_success 'git ls-files with-funny' \
|
||||
'git update-index --add "$p1" &&
|
||||
git ls-files >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
echo 'just space
|
||||
no-funny
|
||||
tabs ," (dq) and spaces' >expected
|
||||
test_expect_success 'git ls-files -z with-funny' \
|
||||
'git ls-files -z | perl -pe y/\\000/\\012/ >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
t1=`git write-tree`
|
||||
echo "$t1" >t1
|
||||
@ -67,28 +67,28 @@ no-funny
|
||||
EOF
|
||||
test_expect_success 'git ls-tree with funny' \
|
||||
'git ls-tree -r $t1 | sed -e "s/^[^ ]* //" >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
cat > expected <<\EOF
|
||||
A "tabs\t,\" (dq) and spaces"
|
||||
EOF
|
||||
test_expect_success 'git diff-index with-funny' \
|
||||
'git diff-index --name-status $t0 >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
test_expect_success 'git diff-tree with-funny' \
|
||||
'git diff-tree --name-status $t0 $t1 >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
echo 'A
|
||||
tabs ," (dq) and spaces' >expected
|
||||
test_expect_success 'git diff-index -z with-funny' \
|
||||
'git diff-index -z --name-status $t0 | perl -pe y/\\000/\\012/ >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
test_expect_success 'git diff-tree -z with-funny' \
|
||||
'git diff-tree -z --name-status $t0 $t1 | perl -pe y/\\000/\\012/ >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
cat > expected <<\EOF
|
||||
CNUM no-funny "tabs\t,\" (dq) and spaces"
|
||||
@ -96,7 +96,7 @@ EOF
|
||||
test_expect_success 'git diff-tree -C with-funny' \
|
||||
'git diff-tree -C --find-copies-harder --name-status \
|
||||
$t0 $t1 | sed -e 's/^C[0-9]*/CNUM/' >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
cat > expected <<\EOF
|
||||
RNUM no-funny "tabs\t,\" (dq) and spaces"
|
||||
@ -105,7 +105,7 @@ test_expect_success 'git diff-tree delete with-funny' \
|
||||
'git update-index --force-remove "$p0" &&
|
||||
git diff-index -M --name-status \
|
||||
$t0 | sed -e 's/^R[0-9]*/RNUM/' >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
cat > expected <<\EOF
|
||||
diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
|
||||
@ -116,7 +116,7 @@ EOF
|
||||
test_expect_success 'git diff-tree delete with-funny' \
|
||||
'git diff-index -M -p $t0 |
|
||||
sed -e "s/index [0-9]*%/index NUM%/" >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
chmod +x "$p1"
|
||||
cat > expected <<\EOF
|
||||
@ -130,7 +130,7 @@ EOF
|
||||
test_expect_success 'git diff-tree delete with-funny' \
|
||||
'git diff-index -M -p $t0 |
|
||||
sed -e "s/index [0-9]*%/index NUM%/" >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
cat >expected <<\EOF
|
||||
"tabs\t,\" (dq) and spaces"
|
||||
@ -139,7 +139,7 @@ EOF
|
||||
test_expect_success 'git diff-tree rename with-funny applied' \
|
||||
'git diff-index -M -p $t0 |
|
||||
git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
cat > expected <<\EOF
|
||||
no-funny
|
||||
@ -149,12 +149,12 @@ EOF
|
||||
test_expect_success 'git diff-tree delete with-funny applied' \
|
||||
'git diff-index -p $t0 |
|
||||
git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
test_expect_success 'git apply non-git diff' \
|
||||
'git diff-index -p $t0 |
|
||||
sed -ne "/^[-+@]/p" |
|
||||
git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
|
||||
git diff expected current'
|
||||
test_cmp expected current'
|
||||
|
||||
test_done
|
||||
|
@ -9,7 +9,7 @@ test_description='commit and log output encodings'
|
||||
|
||||
compare_with () {
|
||||
git show -s $1 | sed -e '1,/^$/d' -e 's/^ //' >current &&
|
||||
git diff current "$2"
|
||||
test_cmp current "$2"
|
||||
}
|
||||
|
||||
test_expect_success setup '
|
||||
|
@ -38,6 +38,6 @@ echo ":100644 100755 X X M rezrov" >expected
|
||||
|
||||
test_expect_success \
|
||||
'verify' \
|
||||
'git diff expected check'
|
||||
'test_cmp expected check'
|
||||
|
||||
test_done
|
||||
|
@ -112,7 +112,7 @@ do
|
||||
} >"$actual" &&
|
||||
if test -f "$expect"
|
||||
then
|
||||
git diff "$expect" "$actual" &&
|
||||
test_cmp "$expect" "$actual" &&
|
||||
rm -f "$actual"
|
||||
else
|
||||
# this is to help developing new tests.
|
||||
@ -257,6 +257,7 @@ diff --patch-with-raw initial..side
|
||||
diff --patch-with-stat -r initial..side
|
||||
diff --patch-with-raw -r initial..side
|
||||
diff --name-status dir2 dir
|
||||
diff --no-index --name-status dir2 dir
|
||||
EOF
|
||||
|
||||
test_done
|
||||
|
@ -1,3 +1,2 @@
|
||||
$ git diff --name-status dir2 dir
|
||||
A dir/sub
|
||||
$
|
||||
|
3
t/t4013/diff.diff_--no-index_--name-status_dir2_dir
Normal file
3
t/t4013/diff.diff_--no-index_--name-status_dir2_dir
Normal file
@ -0,0 +1,3 @@
|
||||
$ git diff --no-index --name-status dir2 dir
|
||||
A dir/sub
|
||||
$
|
@ -226,7 +226,7 @@ test_expect_success 'shortlog of cover-letter wraps overly-long onelines' '
|
||||
|
||||
git format-patch --cover-letter -2 &&
|
||||
sed -e "1,/A U Thor/d" -e "/^$/q" < 0000-cover-letter.patch > output &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
|
||||
'
|
||||
|
||||
|
@ -43,13 +43,13 @@ index adf3937..6edc172 100644
|
||||
EOF
|
||||
|
||||
git diff > out
|
||||
test_expect_success "Ray's example without options" 'git diff expect out'
|
||||
test_expect_success "Ray's example without options" 'test_cmp expect out'
|
||||
|
||||
git diff -w > out
|
||||
test_expect_success "Ray's example with -w" 'git diff expect out'
|
||||
test_expect_success "Ray's example with -w" 'test_cmp expect out'
|
||||
|
||||
git diff -b > out
|
||||
test_expect_success "Ray's example with -b" 'git diff expect out'
|
||||
test_expect_success "Ray's example with -b" 'test_cmp expect out'
|
||||
|
||||
tr 'Q' '\015' << EOF > x
|
||||
whitespace at beginning
|
||||
@ -90,14 +90,14 @@ index d99af23..8b32fb5 100644
|
||||
+CR at end
|
||||
EOF
|
||||
git diff > out
|
||||
test_expect_success 'another test, without options' 'git diff expect out'
|
||||
test_expect_success 'another test, without options' 'test_cmp expect out'
|
||||
|
||||
cat << EOF > expect
|
||||
diff --git a/x b/x
|
||||
index d99af23..8b32fb5 100644
|
||||
EOF
|
||||
git diff -w > out
|
||||
test_expect_success 'another test, with -w' 'git diff expect out'
|
||||
test_expect_success 'another test, with -w' 'test_cmp expect out'
|
||||
|
||||
tr 'Q' '\015' << EOF > expect
|
||||
diff --git a/x b/x
|
||||
@ -115,7 +115,7 @@ index d99af23..8b32fb5 100644
|
||||
CR at endQ
|
||||
EOF
|
||||
git diff -b > out
|
||||
test_expect_success 'another test, with -b' 'git diff expect out'
|
||||
test_expect_success 'another test, with -b' 'test_cmp expect out'
|
||||
|
||||
test_expect_success 'check mixed spaces and tabs in indent' '
|
||||
|
||||
|
@ -49,7 +49,7 @@ cat >expect <<\EOF
|
||||
EOF
|
||||
test_expect_success 'git diff --summary -M HEAD' '
|
||||
git diff --summary -M HEAD >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<\EOF
|
||||
@ -64,7 +64,7 @@ cat >expect <<\EOF
|
||||
EOF
|
||||
test_expect_success 'git diff --stat -M HEAD' '
|
||||
git diff --stat -M HEAD >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -33,13 +33,13 @@ EOF
|
||||
sed 's/beer\\/beer,\\/' < Beer.java > Beer-correct.java
|
||||
|
||||
test_expect_success 'default behaviour' '
|
||||
git diff Beer.java Beer-correct.java |
|
||||
git diff --no-index Beer.java Beer-correct.java |
|
||||
grep "^@@.*@@ public class Beer"
|
||||
'
|
||||
|
||||
test_expect_success 'preset java pattern' '
|
||||
echo "*.java diff=java" >.gitattributes &&
|
||||
git diff Beer.java Beer-correct.java |
|
||||
git diff --no-index Beer.java Beer-correct.java |
|
||||
grep "^@@.*@@ public static void main("
|
||||
'
|
||||
|
||||
@ -48,13 +48,13 @@ git config diff.java.funcname '!static
|
||||
[^ ].*s.*'
|
||||
|
||||
test_expect_success 'custom pattern' '
|
||||
git diff Beer.java Beer-correct.java |
|
||||
git diff --no-index Beer.java Beer-correct.java |
|
||||
grep "^@@.*@@ int special;$"
|
||||
'
|
||||
|
||||
test_expect_success 'last regexp must not be negated' '
|
||||
git config diff.java.funcname "!static" &&
|
||||
! git diff Beer.java Beer-correct.java
|
||||
! git diff --no-index Beer.java Beer-correct.java
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -11,36 +11,36 @@ test_description='git apply --stat --summary test.
|
||||
test_expect_success \
|
||||
'rename' \
|
||||
'git apply --stat --summary <../t4100/t-apply-1.patch >current &&
|
||||
git diff ../t4100/t-apply-1.expect current'
|
||||
test_cmp ../t4100/t-apply-1.expect current'
|
||||
|
||||
test_expect_success \
|
||||
'copy' \
|
||||
'git apply --stat --summary <../t4100/t-apply-2.patch >current &&
|
||||
git diff ../t4100/t-apply-2.expect current'
|
||||
test_cmp ../t4100/t-apply-2.expect current'
|
||||
|
||||
test_expect_success \
|
||||
'rewrite' \
|
||||
'git apply --stat --summary <../t4100/t-apply-3.patch >current &&
|
||||
git diff ../t4100/t-apply-3.expect current'
|
||||
test_cmp ../t4100/t-apply-3.expect current'
|
||||
|
||||
test_expect_success \
|
||||
'mode' \
|
||||
'git apply --stat --summary <../t4100/t-apply-4.patch >current &&
|
||||
git diff ../t4100/t-apply-4.expect current'
|
||||
test_cmp ../t4100/t-apply-4.expect current'
|
||||
|
||||
test_expect_success \
|
||||
'non git' \
|
||||
'git apply --stat --summary <../t4100/t-apply-5.patch >current &&
|
||||
git diff ../t4100/t-apply-5.expect current'
|
||||
test_cmp ../t4100/t-apply-5.expect current'
|
||||
|
||||
test_expect_success \
|
||||
'non git' \
|
||||
'git apply --stat --summary <../t4100/t-apply-6.patch >current &&
|
||||
git diff ../t4100/t-apply-6.expect current'
|
||||
test_cmp ../t4100/t-apply-6.expect current'
|
||||
|
||||
test_expect_success \
|
||||
'non git' \
|
||||
'git apply --stat --summary <../t4100/t-apply-7.patch >current &&
|
||||
git diff ../t4100/t-apply-7.expect current'
|
||||
test_cmp ../t4100/t-apply-7.expect current'
|
||||
|
||||
test_done
|
||||
|
@ -90,7 +90,7 @@ do
|
||||
cat '"$kind-patch.$with"'
|
||||
(exit 1)
|
||||
} &&
|
||||
git diff '"$kind"'-expect victim
|
||||
test_cmp '"$kind"'-expect victim
|
||||
'
|
||||
done
|
||||
done
|
||||
@ -108,7 +108,7 @@ do
|
||||
cat '"$kind-ng.without"'
|
||||
(exit 1)
|
||||
} &&
|
||||
git diff '"$kind"'-expect victim
|
||||
test_cmp '"$kind"'-expect victim
|
||||
'
|
||||
done
|
||||
|
||||
|
@ -33,7 +33,7 @@ test_expect_success 'apply symlink patch' '
|
||||
git checkout side &&
|
||||
git apply patch &&
|
||||
git diff-files -p >patched &&
|
||||
git diff patch patched
|
||||
test_cmp patch patched
|
||||
|
||||
'
|
||||
|
||||
@ -42,7 +42,7 @@ test_expect_success 'apply --index symlink patch' '
|
||||
git checkout -f side &&
|
||||
git apply --index patch &&
|
||||
git diff-index --cached -p HEAD >patched &&
|
||||
git diff patch patched
|
||||
test_cmp patch patched
|
||||
|
||||
'
|
||||
|
||||
|
@ -42,7 +42,7 @@ test_expect_success 'apply in reverse' '
|
||||
git reset --hard second &&
|
||||
git apply --reverse --binary --index patch &&
|
||||
git diff >diff &&
|
||||
git diff /dev/null diff
|
||||
test_cmp /dev/null diff
|
||||
|
||||
'
|
||||
|
||||
|
@ -54,7 +54,7 @@ test_expect_success 'apply without --reject should fail' '
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git diff file1 saved.file1
|
||||
test_cmp file1 saved.file1
|
||||
'
|
||||
|
||||
test_expect_success 'apply without --reject should fail' '
|
||||
@ -65,7 +65,7 @@ test_expect_success 'apply without --reject should fail' '
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git diff file1 saved.file1
|
||||
test_cmp file1 saved.file1
|
||||
'
|
||||
|
||||
test_expect_success 'apply with --reject should fail but update the file' '
|
||||
@ -79,7 +79,7 @@ test_expect_success 'apply with --reject should fail but update the file' '
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git diff file1 expected &&
|
||||
test_cmp file1 expected &&
|
||||
|
||||
cat file1.rej &&
|
||||
|
||||
@ -105,7 +105,7 @@ test_expect_success 'apply with --reject should fail but update the file' '
|
||||
echo "file1 still exists?"
|
||||
exit 1
|
||||
}
|
||||
git diff file2 expected &&
|
||||
test_cmp file2 expected &&
|
||||
|
||||
cat file2.rej &&
|
||||
|
||||
@ -132,7 +132,7 @@ test_expect_success 'the same test with --verbose' '
|
||||
echo "file1 still exists?"
|
||||
exit 1
|
||||
}
|
||||
git diff file2 expected &&
|
||||
test_cmp file2 expected &&
|
||||
|
||||
cat file2.rej &&
|
||||
|
||||
@ -151,7 +151,7 @@ test_expect_success 'apply cleanly with --verbose' '
|
||||
|
||||
git apply --verbose patch.1 &&
|
||||
|
||||
git diff file1 clean
|
||||
test_cmp file1 clean
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -38,7 +38,7 @@ test_expect_success 'apply --numstat' '
|
||||
echo "0 1 file1" &&
|
||||
echo "0 1 file2"
|
||||
} >expect &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
|
||||
'
|
||||
|
||||
@ -48,8 +48,8 @@ test_expect_success 'apply --apply' '
|
||||
cat file2.orig >file2 &&
|
||||
git update-index file1 file2 &&
|
||||
git apply --index diff.output &&
|
||||
git diff file1.mods file1 &&
|
||||
git diff file2.mods file2
|
||||
test_cmp file1.mods file1 &&
|
||||
test_cmp file2.mods file2
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -101,7 +101,7 @@ cat > expect << EOF
|
||||
EOF
|
||||
git rerere diff > out
|
||||
|
||||
test_expect_success 'rerere diff' 'git diff expect out'
|
||||
test_expect_success 'rerere diff' 'test_cmp expect out'
|
||||
|
||||
cat > expect << EOF
|
||||
a1
|
||||
@ -109,7 +109,7 @@ EOF
|
||||
|
||||
git rerere status > out
|
||||
|
||||
test_expect_success 'rerere status' 'git diff expect out'
|
||||
test_expect_success 'rerere status' 'test_cmp expect out'
|
||||
|
||||
test_expect_success 'commit succeeds' \
|
||||
"git commit -q -a -m 'prefer first over second'"
|
||||
@ -126,7 +126,7 @@ test_expect_success 'another conflicting merge' '
|
||||
git show first:a1 | sed 's/To die: t/To die! T/' > expect
|
||||
test_expect_success 'rerere kicked in' "! grep ======= a1"
|
||||
|
||||
test_expect_success 'rerere prefers first change' 'git diff a1 expect'
|
||||
test_expect_success 'rerere prefers first change' 'test_cmp a1 expect'
|
||||
|
||||
rm $rr/postimage
|
||||
echo "$sha1 a1" | perl -pe 'y/\012/\000/' > .git/rr-cache/MERGE_RR
|
||||
|
@ -50,7 +50,7 @@ test_expect_success 'check unpacked result (have commit, no tag)' '
|
||||
test_must_fail git cat-file -e $tag &&
|
||||
git rev-list --objects $commit
|
||||
) >list.actual &&
|
||||
git diff list.expect list.actual
|
||||
test_cmp list.expect list.actual
|
||||
'
|
||||
|
||||
rm -rf clone.git
|
||||
@ -78,7 +78,7 @@ test_expect_success 'check unpacked result (have commit, have tag)' '
|
||||
export GIT_DIR &&
|
||||
git rev-list --objects $tag
|
||||
) >list.actual &&
|
||||
git diff list.expect list.actual
|
||||
test_cmp list.expect list.actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -110,7 +110,7 @@ test_expect_success \
|
||||
cd .. &&
|
||||
git update-ref refs/heads/master master^ || return 1
|
||||
git-send-pack --force ./victim/.git/ master && return 1
|
||||
! git diff .git/refs/heads/master victim/.git/refs/heads/master
|
||||
! test_cmp .git/refs/heads/master victim/.git/refs/heads/master
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
|
@ -83,23 +83,23 @@ test_expect_success 'hooks ran' '
|
||||
test_expect_success 'pre-receive hook input' '
|
||||
(echo $commit0 $commit1 refs/heads/master;
|
||||
echo $commit1 $commit0 refs/heads/tofail
|
||||
) | git diff - victim/.git/pre-receive.stdin
|
||||
) | test_cmp - victim/.git/pre-receive.stdin
|
||||
'
|
||||
|
||||
test_expect_success 'update hook arguments' '
|
||||
(echo refs/heads/master $commit0 $commit1;
|
||||
echo refs/heads/tofail $commit1 $commit0
|
||||
) | git diff - victim/.git/update.args
|
||||
) | test_cmp - victim/.git/update.args
|
||||
'
|
||||
|
||||
test_expect_success 'post-receive hook input' '
|
||||
echo $commit0 $commit1 refs/heads/master |
|
||||
git diff - victim/.git/post-receive.stdin
|
||||
test_cmp - victim/.git/post-receive.stdin
|
||||
'
|
||||
|
||||
test_expect_success 'post-update hook arguments' '
|
||||
echo refs/heads/master |
|
||||
git diff - victim/.git/post-update.args
|
||||
test_cmp - victim/.git/post-update.args
|
||||
'
|
||||
|
||||
test_expect_success 'all hook stdin is /dev/null' '
|
||||
@ -130,7 +130,7 @@ STDERR post-update
|
||||
EOF
|
||||
test_expect_success 'send-pack stderr contains hook messages' '
|
||||
grep ^STD send.err >actual &&
|
||||
git diff - actual <expect
|
||||
test_cmp - actual <expect
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -50,7 +50,7 @@ test_expect_success 'fetch A (new commit : 1 connection)' '
|
||||
) &&
|
||||
test -s $U &&
|
||||
cut -d" " -f1,2 $U >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success "create tag T on A, create C on branch cat" '
|
||||
@ -82,7 +82,7 @@ test_expect_success 'fetch C, T (new branch, tag : 1 connection)' '
|
||||
) &&
|
||||
test -s $U &&
|
||||
cut -d" " -f1,2 $U >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success "create commits O, B, tag S on B" '
|
||||
@ -118,7 +118,7 @@ test_expect_success 'fetch B, S (commit and tag : 1 connection)' '
|
||||
) &&
|
||||
test -s $U &&
|
||||
cut -d" " -f1,2 $U >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat - <<EOF >expect
|
||||
@ -144,7 +144,7 @@ test_expect_success 'new clone fetch master and tags' '
|
||||
) &&
|
||||
test -s $U &&
|
||||
cut -d" " -f1,2 $U >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -135,7 +135,7 @@ test_expect_success 'show' '
|
||||
git config --add remote.origin.push \
|
||||
+refs/tags/lastbackup &&
|
||||
git remote show origin > output &&
|
||||
git diff expect output)
|
||||
test_cmp expect output)
|
||||
'
|
||||
|
||||
test_expect_success 'prune' '
|
||||
@ -179,7 +179,7 @@ test_expect_success 'update' '
|
||||
git remote add apis ../mirror &&
|
||||
git remote update &&
|
||||
git branch -r > output &&
|
||||
git diff expect output)
|
||||
test_cmp expect output)
|
||||
|
||||
'
|
||||
|
||||
@ -206,7 +206,7 @@ test_expect_success 'update with arguments' '
|
||||
git config remotes.titanus manduca &&
|
||||
git remote update phobaeticus titanus &&
|
||||
git branch -r > output &&
|
||||
git diff expect output)
|
||||
test_cmp expect output)
|
||||
|
||||
'
|
||||
|
||||
@ -229,7 +229,7 @@ test_expect_success 'update default' '
|
||||
git config remote.drosophila.skipDefaultUpdate true &&
|
||||
git remote update default &&
|
||||
git branch -r > output &&
|
||||
git diff expect output)
|
||||
test_cmp expect output)
|
||||
|
||||
'
|
||||
|
||||
@ -249,7 +249,7 @@ test_expect_success 'update default (overridden, with funny whitespace)' '
|
||||
git config remotes.default "$(printf "\t drosophila \n")" &&
|
||||
git remote update default &&
|
||||
git branch -r > output &&
|
||||
git diff expect output)
|
||||
test_cmp expect output)
|
||||
|
||||
'
|
||||
|
||||
|
@ -151,7 +151,7 @@ do
|
||||
git show-ref >"$actual_r" &&
|
||||
if test -f "$expect_f"
|
||||
then
|
||||
git diff -u "$expect_f" "$actual_f" &&
|
||||
test_cmp "$expect_f" "$actual_f" &&
|
||||
rm -f "$actual_f"
|
||||
else
|
||||
# this is to help developing new tests.
|
||||
@ -160,7 +160,7 @@ do
|
||||
fi &&
|
||||
if test -f "$expect_r"
|
||||
then
|
||||
git diff -u "$expect_r" "$actual_r" &&
|
||||
test_cmp "$expect_r" "$actual_r" &&
|
||||
rm -f "$actual_r"
|
||||
else
|
||||
# this is to help developing new tests.
|
||||
|
@ -15,7 +15,7 @@ test_format() {
|
||||
cat >expect.$1
|
||||
test_expect_success "format $1" "
|
||||
git rev-list --pretty=format:$2 master >output.$1 &&
|
||||
git diff expect.$1 output.$1
|
||||
test_cmp expect.$1 output.$1
|
||||
"
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,7 @@ test_expect_success "merge without conflict (missing LF at EOF)" \
|
||||
"git merge-file test2.txt orig.txt new2.txt"
|
||||
|
||||
test_expect_success "merge result added missing LF" \
|
||||
"git diff test.txt test2.txt"
|
||||
"test_cmp test.txt test2.txt"
|
||||
|
||||
cp test.txt backup.txt
|
||||
test_expect_success "merge with conflicts" \
|
||||
@ -86,7 +86,7 @@ non timebo mala, quoniam tu mecum es:
|
||||
virga tua et baculus tuus ipsa me consolata sunt.
|
||||
EOF
|
||||
|
||||
test_expect_success "expected conflict markers" "git diff test.txt expect.txt"
|
||||
test_expect_success "expected conflict markers" "test_cmp test.txt expect.txt"
|
||||
|
||||
cp backup.txt test.txt
|
||||
test_expect_success "merge with conflicts, using -L" \
|
||||
@ -110,7 +110,7 @@ virga tua et baculus tuus ipsa me consolata sunt.
|
||||
EOF
|
||||
|
||||
test_expect_success "expected conflict markers, with -L" \
|
||||
"git diff test.txt expect.txt"
|
||||
"test_cmp test.txt expect.txt"
|
||||
|
||||
sed "s/ tu / TU /" < new1.txt > new5.txt
|
||||
test_expect_success "conflict in removed tail" \
|
||||
@ -132,7 +132,7 @@ virga tua et baculus tuus ipsa me consolata sunt.
|
||||
>>>>>>> new5.txt
|
||||
EOF
|
||||
|
||||
test_expect_success "expected conflict markers" "git diff expect out"
|
||||
test_expect_success "expected conflict markers" "test_cmp expect out"
|
||||
|
||||
test_expect_success 'binary files cannot be merged' '
|
||||
! git merge-file -p orig.txt ../test4012.png new1.txt 2> merge.err &&
|
||||
|
@ -70,7 +70,7 @@ G
|
||||
>>>>>>> G:a1
|
||||
EOF
|
||||
|
||||
test_expect_success "result contains a conflict" "git diff expect a1"
|
||||
test_expect_success "result contains a conflict" "test_cmp expect a1"
|
||||
|
||||
git ls-files --stage > out
|
||||
cat > expect << EOF
|
||||
@ -79,7 +79,7 @@ cat > expect << EOF
|
||||
100644 fd7923529855d0b274795ae3349c5e0438333979 3 a1
|
||||
EOF
|
||||
|
||||
test_expect_success "virtual trees were processed" "git diff expect out"
|
||||
test_expect_success "virtual trees were processed" "test_cmp expect out"
|
||||
|
||||
test_expect_success 'refuse to merge binary files' '
|
||||
git reset --hard &&
|
||||
|
@ -57,7 +57,7 @@ test_expect_success 'initial merge' '
|
||||
echo "100644 $o1 0 git-gui/git-gui.sh"
|
||||
echo "100644 $o2 0 git.c"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'merge update' '
|
||||
@ -73,7 +73,7 @@ test_expect_success 'merge update' '
|
||||
echo "100644 $o3 0 git-gui/git-gui.sh"
|
||||
echo "100644 $o2 0 git.c"
|
||||
) >expected &&
|
||||
git diff -u expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -108,7 +108,7 @@ warning: tag 'A' is really 'Q' here
|
||||
EOF
|
||||
check_describe A-* HEAD
|
||||
test_expect_success 'warning was displayed for Q' '
|
||||
git diff err.expect err.actual
|
||||
test_cmp err.expect err.actual
|
||||
'
|
||||
test_expect_success 'rename tag Q back to A' '
|
||||
mv .git/refs/tags/Q .git/refs/tags/A
|
||||
|
@ -79,7 +79,7 @@ test_expect_success 'merge-msg test #1' '
|
||||
git fetch . left &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<EOF
|
||||
@ -92,7 +92,7 @@ test_expect_success 'merge-msg test #2' '
|
||||
git fetch ../"$test" left &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -117,7 +117,7 @@ test_expect_success 'merge-msg test #3-1' '
|
||||
git fetch . left &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'merge-msg test #3-2' '
|
||||
@ -131,7 +131,7 @@ test_expect_success 'merge-msg test #3-2' '
|
||||
git fetch . left &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -163,7 +163,7 @@ test_expect_success 'merge-msg test #4-1' '
|
||||
git fetch . left right &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'merge-msg test #4-2' '
|
||||
@ -177,7 +177,7 @@ test_expect_success 'merge-msg test #4-2' '
|
||||
git fetch . left right &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'merge-msg test #5-1' '
|
||||
@ -191,7 +191,7 @@ test_expect_success 'merge-msg test #5-1' '
|
||||
git fetch . left right &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'merge-msg test #5-2' '
|
||||
@ -205,7 +205,7 @@ test_expect_success 'merge-msg test #5-2' '
|
||||
git fetch . left right &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -75,14 +75,14 @@ EOF
|
||||
test_expect_success 'Check unformatted date fields output' '
|
||||
(git for-each-ref --shell --format="%(refname) %(committerdate) %(authordate)" refs/heads &&
|
||||
git for-each-ref --shell --format="%(refname) %(taggerdate)" refs/tags) >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'Check format "default" formatted date fields output' '
|
||||
f=default &&
|
||||
(git for-each-ref --shell --format="%(refname) %(committerdate:$f) %(authordate:$f)" refs/heads &&
|
||||
git for-each-ref --shell --format="%(refname) %(taggerdate:$f)" refs/tags) >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
# Don't know how to do relative check because I can't know when this script
|
||||
@ -109,7 +109,7 @@ test_expect_success 'Check format "short" date fields output' '
|
||||
f=short &&
|
||||
(git for-each-ref --shell --format="%(refname) %(committerdate:$f) %(authordate:$f)" refs/heads &&
|
||||
git for-each-ref --shell --format="%(refname) %(taggerdate:$f)" refs/tags) >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -121,7 +121,7 @@ test_expect_success 'Check format "local" date fields output' '
|
||||
f=local &&
|
||||
(git for-each-ref --shell --format="%(refname) %(committerdate:$f) %(authordate:$f)" refs/heads &&
|
||||
git for-each-ref --shell --format="%(refname) %(taggerdate:$f)" refs/tags) >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -133,7 +133,7 @@ test_expect_success 'Check format "iso8601" date fields output' '
|
||||
f=iso8601 &&
|
||||
(git for-each-ref --shell --format="%(refname) %(committerdate:$f) %(authordate:$f)" refs/heads &&
|
||||
git for-each-ref --shell --format="%(refname) %(taggerdate:$f)" refs/tags) >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -145,7 +145,7 @@ test_expect_success 'Check format "rfc2822" date fields output' '
|
||||
f=rfc2822 &&
|
||||
(git for-each-ref --shell --format="%(refname) %(committerdate:$f) %(authordate:$f)" refs/heads &&
|
||||
git for-each-ref --shell --format="%(refname) %(taggerdate:$f)" refs/tags) >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -155,7 +155,7 @@ EOF
|
||||
|
||||
test_expect_success 'Verify ascending sort' '
|
||||
git-for-each-ref --format="%(refname)" --sort=refname >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
|
||||
@ -166,7 +166,7 @@ EOF
|
||||
|
||||
test_expect_success 'Verify descending sort' '
|
||||
git-for-each-ref --format="%(refname)" --sort=-refname >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -176,17 +176,17 @@ EOF
|
||||
|
||||
test_expect_success 'Quoting style: shell' '
|
||||
git for-each-ref --shell --format="%(refname)" >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'Quoting style: perl' '
|
||||
git for-each-ref --perl --format="%(refname)" >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'Quoting style: python' '
|
||||
git for-each-ref --python --format="%(refname)" >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -196,7 +196,7 @@ EOF
|
||||
|
||||
test_expect_success 'Quoting style: tcl' '
|
||||
git for-each-ref --tcl --format="%(refname)" >actual &&
|
||||
git diff expected actual
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
for i in "--perl --shell" "-s --python" "--python --tcl" "--tcl --perl"; do
|
||||
|
@ -224,7 +224,7 @@ test_expect_success 'Tag name filtering retains tag message' '
|
||||
git cat-file tag T > expect &&
|
||||
git filter-branch -f --tag-name-filter cat &&
|
||||
git cat-file tag T > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
faux_gpg_tag='object XXXXXX
|
||||
@ -248,7 +248,7 @@ test_expect_success 'Tag name filtering strips gpg signature' '
|
||||
echo "$faux_gpg_tag" | sed -e s/XXXXXX/$sha1/ | head -n 6 > expect &&
|
||||
git filter-branch -f --tag-name-filter cat &&
|
||||
git cat-file tag S > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
210
t/t7004-tag.sh
210
t/t7004-tag.sh
@ -116,9 +116,9 @@ mytag
|
||||
EOF
|
||||
test_expect_success \
|
||||
'trying to delete tags without params should succeed and do nothing' '
|
||||
git tag -l > actual && git diff expect actual &&
|
||||
git tag -l > actual && test_cmp expect actual &&
|
||||
git-tag -d &&
|
||||
git tag -l > actual && git diff expect actual
|
||||
git tag -l > actual && test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -173,9 +173,9 @@ test_expect_success 'listing all tags should print them ordered' '
|
||||
git tag v1.0 &&
|
||||
git tag t210 &&
|
||||
git tag -l > actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git tag > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -186,7 +186,7 @@ EOF
|
||||
test_expect_success \
|
||||
'listing tags with substring as pattern must print those matching' '
|
||||
git-tag -l "*a*" > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -196,7 +196,7 @@ EOF
|
||||
test_expect_success \
|
||||
'listing tags with a suffix as pattern must print those matching' '
|
||||
git-tag -l "*.1" > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -206,7 +206,7 @@ EOF
|
||||
test_expect_success \
|
||||
'listing tags with a prefix as pattern must print those matching' '
|
||||
git-tag -l "t21*" > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -215,7 +215,7 @@ EOF
|
||||
test_expect_success \
|
||||
'listing tags using a name as pattern must print that one matching' '
|
||||
git-tag -l a1 > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -224,7 +224,7 @@ EOF
|
||||
test_expect_success \
|
||||
'listing tags using a name as pattern must print that one matching' '
|
||||
git-tag -l v1.0 > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -234,14 +234,14 @@ EOF
|
||||
test_expect_success \
|
||||
'listing tags with ? in the pattern should print those matching' '
|
||||
git-tag -l "v1.?.?" > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
>expect
|
||||
test_expect_success \
|
||||
'listing tags using v.* should print nothing because none have v.' '
|
||||
git-tag -l "v.*" > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -253,7 +253,7 @@ EOF
|
||||
test_expect_success \
|
||||
'listing tags using v* should print only those having v' '
|
||||
git-tag -l "v*" > actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
# creating and verifying lightweight tags:
|
||||
@ -302,7 +302,7 @@ test_expect_success \
|
||||
'creating an annotated tag with -m message should succeed' '
|
||||
git-tag -m "A message" annotated-tag &&
|
||||
get_tag_msg annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >msgfile <<EOF
|
||||
@ -315,7 +315,7 @@ test_expect_success \
|
||||
'creating an annotated tag with -F messagefile should succeed' '
|
||||
git-tag -F msgfile file-annotated-tag &&
|
||||
get_tag_msg file-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >inputmsg <<EOF
|
||||
@ -327,7 +327,7 @@ cat inputmsg >>expect
|
||||
test_expect_success 'creating an annotated tag with -F - should succeed' '
|
||||
git-tag -F - stdin-annotated-tag <inputmsg &&
|
||||
get_tag_msg stdin-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -358,7 +358,7 @@ test_expect_success \
|
||||
'creating a tag with an empty -m message should succeed' '
|
||||
git-tag -m "" empty-annotated-tag &&
|
||||
get_tag_msg empty-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
>emptyfile
|
||||
@ -367,7 +367,7 @@ test_expect_success \
|
||||
'creating a tag with an empty -F messagefile should succeed' '
|
||||
git-tag -F emptyfile emptyfile-annotated-tag &&
|
||||
get_tag_msg emptyfile-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
printf '\n\n \n\t\nLeading blank lines\n' >blanksfile
|
||||
@ -388,7 +388,7 @@ test_expect_success \
|
||||
'extra blanks in the message for an annotated tag should be removed' '
|
||||
git-tag -F blanksfile blanks-annotated-tag &&
|
||||
get_tag_msg blanks-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
get_tag_header blank-annotated-tag $commit commit $time >expect
|
||||
@ -396,7 +396,7 @@ test_expect_success \
|
||||
'creating a tag with blank -m message with spaces should succeed' '
|
||||
git-tag -m " " blank-annotated-tag &&
|
||||
get_tag_msg blank-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
echo ' ' >blankfile
|
||||
@ -407,7 +407,7 @@ test_expect_success \
|
||||
'creating a tag with blank -F messagefile with spaces should succeed' '
|
||||
git-tag -F blankfile blankfile-annotated-tag &&
|
||||
get_tag_msg blankfile-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
printf ' ' >blanknonlfile
|
||||
@ -416,7 +416,7 @@ test_expect_success \
|
||||
'creating a tag with -F file of spaces and no newline should succeed' '
|
||||
git-tag -F blanknonlfile blanknonlfile-annotated-tag &&
|
||||
get_tag_msg blanknonlfile-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
# messages with commented lines:
|
||||
@ -451,7 +451,7 @@ test_expect_success \
|
||||
'creating a tag using a -F messagefile with #comments should succeed' '
|
||||
git-tag -F commentsfile comments-annotated-tag &&
|
||||
get_tag_msg comments-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
get_tag_header comment-annotated-tag $commit commit $time >expect
|
||||
@ -459,7 +459,7 @@ test_expect_success \
|
||||
'creating a tag with a #comment in the -m message should succeed' '
|
||||
git-tag -m "#comment" comment-annotated-tag &&
|
||||
get_tag_msg comment-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
echo '#comment' >commentfile
|
||||
@ -470,7 +470,7 @@ test_expect_success \
|
||||
'creating a tag with #comments in the -F messagefile should succeed' '
|
||||
git-tag -F commentfile commentfile-annotated-tag &&
|
||||
get_tag_msg commentfile-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
printf '#comment' >commentnonlfile
|
||||
@ -479,7 +479,7 @@ test_expect_success \
|
||||
'creating a tag with a file of #comment and no newline should succeed' '
|
||||
git-tag -F commentnonlfile commentnonlfile-annotated-tag &&
|
||||
get_tag_msg commentnonlfile-annotated-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
# listing messages for annotated non-signed tags:
|
||||
@ -490,23 +490,23 @@ test_expect_success \
|
||||
|
||||
echo "tag-one-line" >expect &&
|
||||
git-tag -l | grep "^tag-one-line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l | grep "^tag-one-line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l tag-one-line >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "tag-one-line A msg" >expect &&
|
||||
git-tag -n1 -l | grep "^tag-one-line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n -l | grep "^tag-one-line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n1 -l tag-one-line >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n2 -l tag-one-line >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n999 -l tag-one-line >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -515,23 +515,23 @@ test_expect_success \
|
||||
|
||||
echo "tag-zero-lines" >expect &&
|
||||
git-tag -l | grep "^tag-zero-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l | grep "^tag-zero-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l tag-zero-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "tag-zero-lines " >expect &&
|
||||
git-tag -n1 -l | grep "^tag-zero-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n -l | grep "^tag-zero-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n1 -l tag-zero-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n2 -l tag-zero-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n999 -l tag-zero-lines >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
echo 'tag line one' >annotagmsg
|
||||
@ -543,39 +543,39 @@ test_expect_success \
|
||||
|
||||
echo "tag-lines" >expect &&
|
||||
git-tag -l | grep "^tag-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l | grep "^tag-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l tag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "tag-lines tag line one" >expect &&
|
||||
git-tag -n1 -l | grep "^tag-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n -l | grep "^tag-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n1 -l tag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo " tag line two" >>expect &&
|
||||
git-tag -n2 -l | grep "^ *tag.line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n2 -l tag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo " tag line three" >>expect &&
|
||||
git-tag -n3 -l | grep "^ *tag.line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n3 -l tag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n4 -l | grep "^ *tag.line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n4 -l tag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n99 -l | grep "^ *tag.line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n99 -l tag-lines >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
# subsequent tests require gpg; check if it is available
|
||||
@ -635,7 +635,7 @@ echo '-----BEGIN PGP SIGNATURE-----' >>expect
|
||||
test_expect_success 'creating a signed tag with -m message should succeed' '
|
||||
git-tag -s -m "A signed tag message" signed-tag &&
|
||||
get_tag_msg signed-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
get_tag_header u-signed-tag $commit commit $time >expect
|
||||
@ -645,7 +645,7 @@ test_expect_success 'sign with a given key id' '
|
||||
|
||||
git tag -u committer@example.com -m "Another message" u-signed-tag &&
|
||||
get_tag_msg u-signed-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
|
||||
'
|
||||
|
||||
@ -675,7 +675,7 @@ echo '-----BEGIN PGP SIGNATURE-----' >>expect
|
||||
test_expect_success '-u implies signed tag' '
|
||||
GIT_EDITOR=./fakeeditor git-tag -u CDDE430D implied-sign &&
|
||||
get_tag_msg implied-sign >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >sigmsgfile <<EOF
|
||||
@ -689,7 +689,7 @@ test_expect_success \
|
||||
'creating a signed tag with -F messagefile should succeed' '
|
||||
git-tag -s -F sigmsgfile file-signed-tag &&
|
||||
get_tag_msg file-signed-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >siginputmsg <<EOF
|
||||
@ -702,7 +702,7 @@ echo '-----BEGIN PGP SIGNATURE-----' >>expect
|
||||
test_expect_success 'creating a signed tag with -F - should succeed' '
|
||||
git-tag -s -F - stdin-signed-tag <siginputmsg &&
|
||||
get_tag_msg stdin-signed-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
get_tag_header implied-annotate $commit commit $time >expect
|
||||
@ -711,7 +711,7 @@ echo '-----BEGIN PGP SIGNATURE-----' >>expect
|
||||
test_expect_success '-s implies annotated tag' '
|
||||
GIT_EDITOR=./fakeeditor git-tag -s implied-annotate &&
|
||||
get_tag_msg implied-annotate >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -752,7 +752,7 @@ test_expect_success \
|
||||
'creating a signed tag with an empty -m message should succeed' '
|
||||
git-tag -s -m "" empty-signed-tag &&
|
||||
get_tag_msg empty-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v empty-signed-tag
|
||||
'
|
||||
|
||||
@ -763,7 +763,7 @@ test_expect_success \
|
||||
'creating a signed tag with an empty -F messagefile should succeed' '
|
||||
git-tag -s -F sigemptyfile emptyfile-signed-tag &&
|
||||
get_tag_msg emptyfile-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v emptyfile-signed-tag
|
||||
'
|
||||
|
||||
@ -786,7 +786,7 @@ test_expect_success \
|
||||
'extra blanks in the message for a signed tag should be removed' '
|
||||
git-tag -s -F sigblanksfile blanks-signed-tag &&
|
||||
get_tag_msg blanks-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v blanks-signed-tag
|
||||
'
|
||||
|
||||
@ -796,7 +796,7 @@ test_expect_success \
|
||||
'creating a signed tag with a blank -m message should succeed' '
|
||||
git-tag -s -m " " blank-signed-tag &&
|
||||
get_tag_msg blank-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v blank-signed-tag
|
||||
'
|
||||
|
||||
@ -809,7 +809,7 @@ test_expect_success \
|
||||
'creating a signed tag with blank -F file with spaces should succeed' '
|
||||
git-tag -s -F sigblankfile blankfile-signed-tag &&
|
||||
get_tag_msg blankfile-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v blankfile-signed-tag
|
||||
'
|
||||
|
||||
@ -820,7 +820,7 @@ test_expect_success \
|
||||
'creating a signed tag with spaces and no newline should succeed' '
|
||||
git-tag -s -F sigblanknonlfile blanknonlfile-signed-tag &&
|
||||
get_tag_msg blanknonlfile-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v signed-tag
|
||||
'
|
||||
|
||||
@ -857,7 +857,7 @@ test_expect_success \
|
||||
'creating a signed tag with a -F file with #comments should succeed' '
|
||||
git-tag -s -F sigcommentsfile comments-signed-tag &&
|
||||
get_tag_msg comments-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v comments-signed-tag
|
||||
'
|
||||
|
||||
@ -867,7 +867,7 @@ test_expect_success \
|
||||
'creating a signed tag with #commented -m message should succeed' '
|
||||
git-tag -s -m "#comment" comment-signed-tag &&
|
||||
get_tag_msg comment-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v comment-signed-tag
|
||||
'
|
||||
|
||||
@ -880,7 +880,7 @@ test_expect_success \
|
||||
'creating a signed tag with #commented -F messagefile should succeed' '
|
||||
git-tag -s -F sigcommentfile commentfile-signed-tag &&
|
||||
get_tag_msg commentfile-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v commentfile-signed-tag
|
||||
'
|
||||
|
||||
@ -891,7 +891,7 @@ test_expect_success \
|
||||
'creating a signed tag with a #comment and no newline should succeed' '
|
||||
git-tag -s -F sigcommentnonlfile commentnonlfile-signed-tag &&
|
||||
get_tag_msg commentnonlfile-signed-tag >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -v commentnonlfile-signed-tag
|
||||
'
|
||||
|
||||
@ -903,23 +903,23 @@ test_expect_success \
|
||||
|
||||
echo "stag-one-line" >expect &&
|
||||
git-tag -l | grep "^stag-one-line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l | grep "^stag-one-line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l stag-one-line >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "stag-one-line A message line signed" >expect &&
|
||||
git-tag -n1 -l | grep "^stag-one-line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n -l | grep "^stag-one-line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n1 -l stag-one-line >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n2 -l stag-one-line >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n999 -l stag-one-line >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -928,23 +928,23 @@ test_expect_success \
|
||||
|
||||
echo "stag-zero-lines" >expect &&
|
||||
git-tag -l | grep "^stag-zero-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l | grep "^stag-zero-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l stag-zero-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "stag-zero-lines " >expect &&
|
||||
git-tag -n1 -l | grep "^stag-zero-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n -l | grep "^stag-zero-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n1 -l stag-zero-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n2 -l stag-zero-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n999 -l stag-zero-lines >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
echo 'stag line one' >sigtagmsg
|
||||
@ -956,39 +956,39 @@ test_expect_success \
|
||||
|
||||
echo "stag-lines" >expect &&
|
||||
git-tag -l | grep "^stag-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l | grep "^stag-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n0 -l stag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "stag-lines stag line one" >expect &&
|
||||
git-tag -n1 -l | grep "^stag-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n -l | grep "^stag-lines" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n1 -l stag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo " stag line two" >>expect &&
|
||||
git-tag -n2 -l | grep "^ *stag.line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n2 -l stag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo " stag line three" >>expect &&
|
||||
git-tag -n3 -l | grep "^ *stag.line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n3 -l stag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n4 -l | grep "^ *stag.line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n4 -l stag-lines >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n99 -l | grep "^ *stag.line" >actual &&
|
||||
git diff expect actual &&
|
||||
test_cmp expect actual &&
|
||||
git-tag -n99 -l stag-lines >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
# tags pointing to objects different from commits:
|
||||
@ -1004,7 +1004,7 @@ test_expect_success \
|
||||
'creating a signed tag pointing to a tree should succeed' '
|
||||
git-tag -s -m "A message for a tree" tree-signed-tag HEAD^{tree} &&
|
||||
get_tag_msg tree-signed-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
get_tag_header blob-signed-tag $blob blob $time >expect
|
||||
@ -1014,7 +1014,7 @@ test_expect_success \
|
||||
'creating a signed tag pointing to a blob should succeed' '
|
||||
git-tag -s -m "A message for a blob" blob-signed-tag HEAD:foo &&
|
||||
get_tag_msg blob-signed-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
get_tag_header tag-signed-tag $tag tag $time >expect
|
||||
@ -1024,7 +1024,7 @@ test_expect_success \
|
||||
'creating a signed tag pointing to another tag should succeed' '
|
||||
git-tag -s -m "A message for another tag" tag-signed-tag signed-tag &&
|
||||
get_tag_msg tag-signed-tag >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
# try to sign with bad user.signingkey
|
||||
@ -1064,7 +1064,7 @@ test_expect_success \
|
||||
git tag -a -m "An annotation to be reused" reuse &&
|
||||
GIT_EDITOR=true git tag -f -a reuse &&
|
||||
get_tag_msg reuse >actual &&
|
||||
git diff expect actual
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -34,13 +34,13 @@ test_expect_success 'creating initial files and commits' '
|
||||
|
||||
check_changes () {
|
||||
test "$(git rev-parse HEAD)" = "$1" &&
|
||||
git diff | git diff .diff_expect - &&
|
||||
git diff --cached | git diff .cached_expect - &&
|
||||
git diff | test_cmp .diff_expect - &&
|
||||
git diff --cached | test_cmp .cached_expect - &&
|
||||
for FILE in *
|
||||
do
|
||||
echo $FILE':'
|
||||
cat $FILE || return
|
||||
done | git diff .cat_expect -
|
||||
done | test_cmp .cat_expect -
|
||||
}
|
||||
|
||||
>.diff_expect
|
||||
@ -390,9 +390,9 @@ test_expect_success 'test --mixed <paths>' '
|
||||
git add file1 file3 file4 &&
|
||||
! git reset HEAD -- file1 file2 file3 &&
|
||||
git diff > output &&
|
||||
git diff output expect &&
|
||||
test_cmp output expect &&
|
||||
git diff --cached > output &&
|
||||
git diff output cached_expect
|
||||
test_cmp output cached_expect
|
||||
'
|
||||
|
||||
test_expect_success 'test resetting the index at give paths' '
|
||||
@ -425,7 +425,7 @@ EOF
|
||||
test_expect_success '--mixed refreshes the index' '
|
||||
echo 123 >> file2 &&
|
||||
git reset --mixed HEAD > output &&
|
||||
git diff --exit-code expect output
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -63,7 +63,7 @@ EOF
|
||||
test_expect_success 'status (2)' '
|
||||
|
||||
git status > output &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
|
||||
'
|
||||
|
||||
@ -93,7 +93,7 @@ EOF
|
||||
test_expect_success 'status with relative paths' '
|
||||
|
||||
(cd dir1 && git status) > output &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
|
||||
'
|
||||
|
||||
@ -124,7 +124,7 @@ test_expect_success 'status without relative paths' '
|
||||
|
||||
git config status.relativePaths false
|
||||
(cd dir1 && git status) > output &&
|
||||
git diff expect output
|
||||
test_cmp expect output
|
||||
|
||||
'
|
||||
|
||||
|
@ -169,7 +169,7 @@ test_expect_success "$name" '
|
||||
svn up "$SVN_TREE" &&
|
||||
test -f "$SVN_TREE"/exec-2.sh &&
|
||||
test ! -L "$SVN_TREE"/exec-2.sh &&
|
||||
git diff help "$SVN_TREE"/exec-2.sh'
|
||||
test_cmp help "$SVN_TREE"/exec-2.sh'
|
||||
|
||||
if test "$have_utf8" = t
|
||||
then
|
||||
@ -193,7 +193,7 @@ test_expect_success "$name" \
|
||||
'git-svn init "$svnrepo" && git-svn fetch &&
|
||||
git rev-list --pretty=raw remotes/git-svn | grep ^tree | uniq > a &&
|
||||
git rev-list --pretty=raw remotes/alt | grep ^tree | uniq > b &&
|
||||
git diff a b'
|
||||
test_cmp a b'
|
||||
|
||||
name='check imported tree checksums expected tree checksums'
|
||||
rm -f expected
|
||||
@ -211,7 +211,7 @@ tree d667270a1f7b109f5eb3aaea21ede14b56bfdd6e
|
||||
tree 8f51f74cf0163afc9ad68a4b1537288c4558b5a4
|
||||
EOF
|
||||
|
||||
test_expect_success "$name" "git diff a expected"
|
||||
test_expect_success "$name" "test_cmp a expected"
|
||||
|
||||
test_expect_success 'exit if remote refs are ambigious' "
|
||||
git config --add svn-remote.svn.fetch \
|
||||
|
@ -74,7 +74,7 @@ EOF
|
||||
test_expect_success \
|
||||
'A: verify commit' \
|
||||
'git cat-file commit master | sed 1d >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
cat >expect <<EOF
|
||||
100644 blob file2
|
||||
@ -84,22 +84,22 @@ EOF
|
||||
test_expect_success \
|
||||
'A: verify tree' \
|
||||
'git cat-file -p master^{tree} | sed "s/ [0-9a-f]* / /" >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
echo "$file2_data" >expect
|
||||
test_expect_success \
|
||||
'A: verify file2' \
|
||||
'git cat-file blob master:file2 >actual && git diff expect actual'
|
||||
'git cat-file blob master:file2 >actual && test_cmp expect actual'
|
||||
|
||||
echo "$file3_data" >expect
|
||||
test_expect_success \
|
||||
'A: verify file3' \
|
||||
'git cat-file blob master:file3 >actual && git diff expect actual'
|
||||
'git cat-file blob master:file3 >actual && test_cmp expect actual'
|
||||
|
||||
printf "$file4_data" >expect
|
||||
test_expect_success \
|
||||
'A: verify file4' \
|
||||
'git cat-file blob master:file4 >actual && git diff expect actual'
|
||||
'git cat-file blob master:file4 >actual && test_cmp expect actual'
|
||||
|
||||
cat >expect <<EOF
|
||||
:2 `git rev-parse --verify master:file2`
|
||||
@ -109,7 +109,7 @@ cat >expect <<EOF
|
||||
EOF
|
||||
test_expect_success \
|
||||
'A: verify marks output' \
|
||||
'git diff expect marks.out'
|
||||
'test_cmp expect marks.out'
|
||||
|
||||
test_expect_success \
|
||||
'A: verify marks import' \
|
||||
@ -117,7 +117,7 @@ test_expect_success \
|
||||
--import-marks=marks.out \
|
||||
--export-marks=marks.new \
|
||||
</dev/null &&
|
||||
git diff -u expect marks.new'
|
||||
test_cmp expect marks.new'
|
||||
|
||||
test_tick
|
||||
cat >input <<INPUT_END
|
||||
@ -259,7 +259,7 @@ EOF
|
||||
test_expect_success \
|
||||
'C: verify commit' \
|
||||
'git cat-file commit branch | sed 1d >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
cat >expect <<EOF
|
||||
:000000 100755 0000000000000000000000000000000000000000 f1fb5da718392694d0076d677d6d0e364c79b0bc A file2/newf
|
||||
@ -316,13 +316,13 @@ echo "$file5_data" >expect
|
||||
test_expect_success \
|
||||
'D: verify file5' \
|
||||
'git cat-file blob branch:newdir/interesting >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
echo "$file6_data" >expect
|
||||
test_expect_success \
|
||||
'D: verify file6' \
|
||||
'git cat-file blob branch:newdir/exec.sh >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
###
|
||||
### series E
|
||||
@ -358,7 +358,7 @@ EOF
|
||||
test_expect_success \
|
||||
'E: verify commit' \
|
||||
'git cat-file commit branch | sed 1,2d >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
###
|
||||
### series F
|
||||
@ -411,7 +411,7 @@ EOF
|
||||
test_expect_success \
|
||||
'F: verify other commit' \
|
||||
'git cat-file commit other >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
###
|
||||
### series G
|
||||
@ -489,7 +489,7 @@ echo "$file5_data" >expect
|
||||
test_expect_success \
|
||||
'H: verify file' \
|
||||
'git cat-file blob H:h/e/l/lo >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
###
|
||||
### series I
|
||||
@ -515,7 +515,7 @@ EOF
|
||||
test_expect_success \
|
||||
'I: verify edge list' \
|
||||
'sed -e s/pack-.*pack/pack-.pack/ edges.list >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
###
|
||||
### series J
|
||||
@ -625,7 +625,7 @@ test_expect_success \
|
||||
'L: verify internal tree sorting' \
|
||||
'git-fast-import <input &&
|
||||
git diff-tree --abbrev --raw L^ L >output &&
|
||||
git diff expect output'
|
||||
test_cmp expect output'
|
||||
|
||||
###
|
||||
### series M
|
||||
@ -885,7 +885,7 @@ test_expect_success \
|
||||
test 8 = `find .git/objects/pack -type f | wc -l` &&
|
||||
test `git rev-parse refs/tags/O3-2nd` = `git rev-parse O3^` &&
|
||||
git log --reverse --pretty=oneline O3 | sed s/^.*z// >actual &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
cat >input <<INPUT_END
|
||||
commit refs/heads/O4
|
||||
@ -916,6 +916,6 @@ test_expect_success \
|
||||
'O: progress outputs as requested by input' \
|
||||
'git-fast-import <input >actual &&
|
||||
grep "progress " <input >expect &&
|
||||
git diff expect actual'
|
||||
test_cmp expect actual'
|
||||
|
||||
test_done
|
||||
|
@ -69,7 +69,7 @@ EOF
|
||||
test_expect_success 'import a trivial module' '
|
||||
|
||||
git cvsimport -a -z 0 -C module-git module &&
|
||||
git diff module-cvs/o_fortuna module-git/o_fortuna
|
||||
test_cmp module-cvs/o_fortuna module-git/o_fortuna
|
||||
|
||||
'
|
||||
|
||||
@ -110,7 +110,7 @@ test_expect_success 'update git module' '
|
||||
git cvsimport -a -z 0 module &&
|
||||
git merge origin &&
|
||||
cd .. &&
|
||||
git diff module-cvs/o_fortuna module-git/o_fortuna
|
||||
test_cmp module-cvs/o_fortuna module-git/o_fortuna
|
||||
|
||||
'
|
||||
|
||||
@ -131,7 +131,7 @@ test_expect_success 'cvsimport.module config works' '
|
||||
git cvsimport -a -z0 &&
|
||||
git merge origin &&
|
||||
cd .. &&
|
||||
git diff module-cvs/tick module-git/tick
|
||||
test_cmp module-cvs/tick module-git/tick
|
||||
|
||||
'
|
||||
|
||||
@ -142,7 +142,7 @@ test_expect_success 'import from a CVS working tree' '
|
||||
git cvsimport -a -z0 &&
|
||||
echo 1 >expect &&
|
||||
git log -1 --pretty=format:%s%n >actual &&
|
||||
git diff actual expect &&
|
||||
test_cmp actual expect &&
|
||||
cd ..
|
||||
|
||||
'
|
||||
|
Loading…
Reference in New Issue
Block a user