16 Star 86 Fork 0

Gitee 极速下载 / Git

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/git/git
克隆/下载
diffcore-rotate.c 1.05 KB
一键复制 编辑 原始数据 按行查看 历史
/*
* Copyright (C) 2021, Google LLC.
* Based on diffcore-order.c, which is Copyright (C) 2005, Junio C Hamano
*/
#include "git-compat-util.h"
#include "gettext.h"
#include "diff.h"
#include "diffcore.h"
void diffcore_rotate(struct diff_options *opt)
{
struct diff_queue_struct *q = &diff_queued_diff;
struct diff_queue_struct outq;
int rotate_to, i;
if (!q->nr)
return;
for (i = 0; i < q->nr; i++) {
int cmp = strcmp(opt->rotate_to, q->queue[i]->two->path);
if (!cmp)
break; /* exact match */
if (!opt->rotate_to_strict && cmp < 0)
break; /* q->queue[i] is now past the target pathname */
}
if (q->nr <= i) {
/* we did not find the specified path */
if (opt->rotate_to_strict)
die(_("No such path '%s' in the diff"), opt->rotate_to);
return;
}
DIFF_QUEUE_CLEAR(&outq);
rotate_to = i;
for (i = rotate_to; i < q->nr; i++)
diff_q(&outq, q->queue[i]);
for (i = 0; i < rotate_to; i++) {
if (opt->skip_instead_of_rotate)
diff_free_filepair(q->queue[i]);
else
diff_q(&outq, q->queue[i]);
}
free(q->queue);
*q = outq;
}
C
1
https://gitee.com/mirrors/git.git
git@gitee.com:mirrors/git.git
mirrors
git
Git
master

搜索帮助