Merge refs/heads/master from .
This commit is contained in:
commit
8c1f5f0f1f
@ -671,6 +671,7 @@ you have, you can say
|
|||||||
git branch
|
git branch
|
||||||
|
|
||||||
which is nothing more than a simple script around "ls .git/refs/heads".
|
which is nothing more than a simple script around "ls .git/refs/heads".
|
||||||
|
There will be asterisk in front of the branch you are currently on.
|
||||||
|
|
||||||
Sometimes you may wish to create a new branch _without_ actually
|
Sometimes you may wish to create a new branch _without_ actually
|
||||||
checking it out and switching to it. If so, just use the command
|
checking it out and switching to it. If so, just use the command
|
||||||
|
2
apply.c
2
apply.c
@ -1377,7 +1377,7 @@ static struct excludes {
|
|||||||
|
|
||||||
static int use_patch(struct patch *p)
|
static int use_patch(struct patch *p)
|
||||||
{
|
{
|
||||||
const char *pathname = p->new_name ? : p->old_name;
|
const char *pathname = p->new_name ? p->new_name : p->old_name;
|
||||||
struct excludes *x = excludes;
|
struct excludes *x = excludes;
|
||||||
while (x) {
|
while (x) {
|
||||||
if (fnmatch(x->path, pathname, 0) == 0)
|
if (fnmatch(x->path, pathname, 0) == 0)
|
||||||
|
12
cache.h
12
cache.h
@ -58,7 +58,11 @@
|
|||||||
* We accept older names for now but warn.
|
* We accept older names for now but warn.
|
||||||
*/
|
*/
|
||||||
extern char *gitenv_bc(const char *);
|
extern char *gitenv_bc(const char *);
|
||||||
|
#ifdef __GNUC__
|
||||||
#define gitenv(e) (getenv(e) ? : gitenv_bc(e))
|
#define gitenv(e) (getenv(e) ? : gitenv_bc(e))
|
||||||
|
#else
|
||||||
|
#define gitenv(e) (getenv(e) ? getenv(e) : gitenv_bc(e))
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Basic data structures for the directory cache
|
* Basic data structures for the directory cache
|
||||||
@ -100,7 +104,7 @@ struct cache_entry {
|
|||||||
unsigned int ce_size;
|
unsigned int ce_size;
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
unsigned short ce_flags;
|
unsigned short ce_flags;
|
||||||
char name[0];
|
char name[];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CE_NAMEMASK (0x0fff)
|
#define CE_NAMEMASK (0x0fff)
|
||||||
@ -283,7 +287,7 @@ extern int checkout_entry(struct cache_entry *ce, struct checkout *state);
|
|||||||
extern struct alternate_object_database {
|
extern struct alternate_object_database {
|
||||||
struct alternate_object_database *next;
|
struct alternate_object_database *next;
|
||||||
char *name;
|
char *name;
|
||||||
char base[0]; /* more */
|
char base[]; /* more */
|
||||||
} *alt_odb_list;
|
} *alt_odb_list;
|
||||||
extern void prepare_alt_odb(void);
|
extern void prepare_alt_odb(void);
|
||||||
|
|
||||||
@ -296,7 +300,7 @@ extern struct packed_git {
|
|||||||
unsigned int pack_last_used;
|
unsigned int pack_last_used;
|
||||||
unsigned int pack_use_cnt;
|
unsigned int pack_use_cnt;
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
char pack_name[0]; /* something like ".git/objects/pack/xxxxx.pack" */
|
char pack_name[]; /* something like ".git/objects/pack/xxxxx.pack" */
|
||||||
} *packed_git;
|
} *packed_git;
|
||||||
|
|
||||||
struct pack_entry {
|
struct pack_entry {
|
||||||
@ -311,7 +315,7 @@ struct ref {
|
|||||||
unsigned char new_sha1[20];
|
unsigned char new_sha1[20];
|
||||||
unsigned char force;
|
unsigned char force;
|
||||||
struct ref *peer_ref; /* when renaming */
|
struct ref *peer_ref; /* when renaming */
|
||||||
char name[0];
|
char name[];
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int git_connect(int fd[2], char *url, const char *prog);
|
extern int git_connect(int fd[2], char *url, const char *prog);
|
||||||
|
2
commit.c
2
commit.c
@ -102,7 +102,7 @@ static unsigned long parse_commit_date(const char *buf)
|
|||||||
static struct commit_graft {
|
static struct commit_graft {
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
int nr_parent;
|
int nr_parent;
|
||||||
unsigned char parent[0][20]; /* more */
|
unsigned char parent[][20]; /* more */
|
||||||
} **commit_graft;
|
} **commit_graft;
|
||||||
static int commit_graft_alloc, commit_graft_nr;
|
static int commit_graft_alloc, commit_graft_nr;
|
||||||
|
|
||||||
|
@ -396,8 +396,10 @@ int git_connect(int fd[2], char *url, const char *prog)
|
|||||||
close(pipefd[1][0]);
|
close(pipefd[1][0]);
|
||||||
close(pipefd[1][1]);
|
close(pipefd[1][1]);
|
||||||
if (protocol == PROTO_SSH) {
|
if (protocol == PROTO_SSH) {
|
||||||
const char *ssh = getenv("GIT_SSH") ? : "ssh";
|
const char *ssh, *ssh_basename;
|
||||||
const char *ssh_basename = strrchr(ssh, '/');
|
ssh = getenv("GIT_SSH");
|
||||||
|
if (!ssh) ssh = "ssh";
|
||||||
|
ssh_basename = strrchr(ssh, '/');
|
||||||
if (!ssh_basename)
|
if (!ssh_basename)
|
||||||
ssh_basename = ssh;
|
ssh_basename = ssh;
|
||||||
else
|
else
|
||||||
|
1
daemon.c
1
daemon.c
@ -3,6 +3,7 @@
|
|||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
#include <sys/time.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
|
||||||
|
19
diff.c
19
diff.c
@ -19,6 +19,7 @@ static const char *external_diff(void)
|
|||||||
{
|
{
|
||||||
static const char *external_diff_cmd = NULL;
|
static const char *external_diff_cmd = NULL;
|
||||||
static int done_preparing = 0;
|
static int done_preparing = 0;
|
||||||
|
const char *env_diff_opts;
|
||||||
|
|
||||||
if (done_preparing)
|
if (done_preparing)
|
||||||
return external_diff_cmd;
|
return external_diff_cmd;
|
||||||
@ -31,11 +32,11 @@ static const char *external_diff(void)
|
|||||||
*
|
*
|
||||||
* GIT_DIFF_OPTS="-c";
|
* GIT_DIFF_OPTS="-c";
|
||||||
*/
|
*/
|
||||||
if (gitenv("GIT_EXTERNAL_DIFF"))
|
external_diff_cmd = gitenv("GIT_EXTERNAL_DIFF");
|
||||||
external_diff_cmd = gitenv("GIT_EXTERNAL_DIFF");
|
|
||||||
|
|
||||||
/* In case external diff fails... */
|
/* In case external diff fails... */
|
||||||
diff_opts = gitenv("GIT_DIFF_OPTS") ? : diff_opts;
|
env_diff_opts = gitenv("GIT_DIFF_OPTS");
|
||||||
|
if (env_diff_opts) diff_opts = env_diff_opts;
|
||||||
|
|
||||||
done_preparing = 1;
|
done_preparing = 1;
|
||||||
return external_diff_cmd;
|
return external_diff_cmd;
|
||||||
@ -530,10 +531,12 @@ static void run_external_diff(const char *pgm,
|
|||||||
pid_t pid;
|
pid_t pid;
|
||||||
int status;
|
int status;
|
||||||
static int atexit_asked = 0;
|
static int atexit_asked = 0;
|
||||||
|
const char *othername;
|
||||||
|
|
||||||
|
othername = (other? other : name);
|
||||||
if (one && two) {
|
if (one && two) {
|
||||||
prepare_temp_file(name, &temp[0], one);
|
prepare_temp_file(name, &temp[0], one);
|
||||||
prepare_temp_file(other ? : name, &temp[1], two);
|
prepare_temp_file(othername, &temp[1], two);
|
||||||
if (! atexit_asked &&
|
if (! atexit_asked &&
|
||||||
(temp[0].name == temp[0].tmp_path ||
|
(temp[0].name == temp[0].tmp_path ||
|
||||||
temp[1].name == temp[1].tmp_path)) {
|
temp[1].name == temp[1].tmp_path)) {
|
||||||
@ -574,7 +577,7 @@ static void run_external_diff(const char *pgm,
|
|||||||
* otherwise we use the built-in one.
|
* otherwise we use the built-in one.
|
||||||
*/
|
*/
|
||||||
if (one && two)
|
if (one && two)
|
||||||
builtin_diff(name, other ? : name, temp, xfrm_msg,
|
builtin_diff(name, othername, temp, xfrm_msg,
|
||||||
complete_rewrite);
|
complete_rewrite);
|
||||||
else
|
else
|
||||||
printf("* Unmerged path %s\n", name);
|
printf("* Unmerged path %s\n", name);
|
||||||
@ -889,13 +892,13 @@ int diff_queue_is_empty(void)
|
|||||||
void diff_debug_filespec(struct diff_filespec *s, int x, const char *one)
|
void diff_debug_filespec(struct diff_filespec *s, int x, const char *one)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "queue[%d] %s (%s) %s %06o %s\n",
|
fprintf(stderr, "queue[%d] %s (%s) %s %06o %s\n",
|
||||||
x, one ? : "",
|
x, one ? one : "",
|
||||||
s->path,
|
s->path,
|
||||||
DIFF_FILE_VALID(s) ? "valid" : "invalid",
|
DIFF_FILE_VALID(s) ? "valid" : "invalid",
|
||||||
s->mode,
|
s->mode,
|
||||||
s->sha1_valid ? sha1_to_hex(s->sha1) : "");
|
s->sha1_valid ? sha1_to_hex(s->sha1) : "");
|
||||||
fprintf(stderr, "queue[%d] %s size %lu flags %d\n",
|
fprintf(stderr, "queue[%d] %s size %lu flags %d\n",
|
||||||
x, one ? : "",
|
x, one ? one : "",
|
||||||
s->size, s->xfrm_flags);
|
s->size, s->xfrm_flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -904,7 +907,7 @@ void diff_debug_filepair(const struct diff_filepair *p, int i)
|
|||||||
diff_debug_filespec(p->one, i, "one");
|
diff_debug_filespec(p->one, i, "one");
|
||||||
diff_debug_filespec(p->two, i, "two");
|
diff_debug_filespec(p->two, i, "two");
|
||||||
fprintf(stderr, "score %d, status %c stays %d broken %d\n",
|
fprintf(stderr, "score %d, status %c stays %d broken %d\n",
|
||||||
p->score, p->status ? : '?',
|
p->score, p->status ? p->status : '?',
|
||||||
p->source_stays, p->broken_pair);
|
p->source_stays, p->broken_pair);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -390,7 +390,10 @@ static int fsck_head_link(void)
|
|||||||
char hex[40];
|
char hex[40];
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
static char path[PATH_MAX], link[PATH_MAX];
|
static char path[PATH_MAX], link[PATH_MAX];
|
||||||
const char *git_dir = gitenv(GIT_DIR_ENVIRONMENT) ? : DEFAULT_GIT_DIR_ENVIRONMENT;
|
const char *git_dir;
|
||||||
|
|
||||||
|
git_dir = gitenv(GIT_DIR_ENVIRONMENT);
|
||||||
|
if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT;
|
||||||
|
|
||||||
snprintf(path, sizeof(path), "%s/HEAD", git_dir);
|
snprintf(path, sizeof(path), "%s/HEAD", git_dir);
|
||||||
if (readlink(path, link, sizeof(link)) < 0)
|
if (readlink(path, link, sizeof(link)) < 0)
|
||||||
@ -451,7 +454,7 @@ int main(int argc, char **argv)
|
|||||||
if (standalone && check_full)
|
if (standalone && check_full)
|
||||||
die("Only one of --standalone or --full can be used.");
|
die("Only one of --standalone or --full can be used.");
|
||||||
if (standalone)
|
if (standalone)
|
||||||
unsetenv("GIT_ALTERNATE_OBJECT_DIRECTORIES");
|
putenv("GIT_ALTERNATE_OBJECT_DIRECTORIES=");
|
||||||
|
|
||||||
fsck_head_link();
|
fsck_head_link();
|
||||||
fsck_object_dir(get_object_directory());
|
fsck_object_dir(get_object_directory());
|
||||||
|
26
ident.c
26
ident.c
@ -58,14 +58,24 @@ static int add_raw(char *buf, int size, int offset, const char *str)
|
|||||||
|
|
||||||
static int crud(unsigned char c)
|
static int crud(unsigned char c)
|
||||||
{
|
{
|
||||||
static const char crud_array[256] = {
|
static char crud_array[256];
|
||||||
[0 ... 31] = 1,
|
static int crud_array_initialized = 0;
|
||||||
[' '] = 1,
|
|
||||||
['.'] = 1, [','] = 1,
|
if (!crud_array_initialized) {
|
||||||
[':'] = 1, [';'] = 1,
|
int k;
|
||||||
['<'] = 1, ['>'] = 1,
|
|
||||||
['"'] = 1, ['\''] = 1,
|
for (k = 0; k <= 31; ++k) crud_array[k] = 1;
|
||||||
};
|
crud_array[' '] = 1;
|
||||||
|
crud_array['.'] = 1;
|
||||||
|
crud_array[','] = 1;
|
||||||
|
crud_array[':'] = 1;
|
||||||
|
crud_array[';'] = 1;
|
||||||
|
crud_array['<'] = 1;
|
||||||
|
crud_array['>'] = 1;
|
||||||
|
crud_array['"'] = 1;
|
||||||
|
crud_array['\''] = 1;
|
||||||
|
crud_array_initialized = 1;
|
||||||
|
}
|
||||||
return crud_array[c];
|
return crud_array[c];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,7 +205,7 @@ static int excluded(const char *pathname)
|
|||||||
|
|
||||||
struct nond_on_fs {
|
struct nond_on_fs {
|
||||||
int len;
|
int len;
|
||||||
char name[0];
|
char name[];
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct nond_on_fs **dir;
|
static struct nond_on_fs **dir;
|
||||||
|
4
path.c
4
path.c
@ -41,10 +41,12 @@ char *mkpath(const char *fmt, ...)
|
|||||||
|
|
||||||
char *git_path(const char *fmt, ...)
|
char *git_path(const char *fmt, ...)
|
||||||
{
|
{
|
||||||
const char *git_dir = gitenv(GIT_DIR_ENVIRONMENT) ? : DEFAULT_GIT_DIR_ENVIRONMENT;
|
const char *git_dir;
|
||||||
va_list args;
|
va_list args;
|
||||||
unsigned len;
|
unsigned len;
|
||||||
|
|
||||||
|
git_dir = gitenv(GIT_DIR_ENVIRONMENT);
|
||||||
|
if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT;
|
||||||
len = strlen(git_dir);
|
len = strlen(git_dir);
|
||||||
if (len > PATH_MAX-100)
|
if (len > PATH_MAX-100)
|
||||||
return bad_path;
|
return bad_path;
|
||||||
|
2
pull.c
2
pull.c
@ -156,7 +156,7 @@ static int loop(void)
|
|||||||
|
|
||||||
//fprintf(stderr, "fetch %s\n", sha1_to_hex(obj->sha1));
|
//fprintf(stderr, "fetch %s\n", sha1_to_hex(obj->sha1));
|
||||||
|
|
||||||
if (make_sure_we_have_it(obj->type ?: "object",
|
if (make_sure_we_have_it(obj->type ? obj->type : "object",
|
||||||
obj->sha1))
|
obj->sha1))
|
||||||
return -1;
|
return -1;
|
||||||
if (!obj->type)
|
if (!obj->type)
|
||||||
|
@ -24,7 +24,7 @@ struct command {
|
|||||||
unsigned char updated;
|
unsigned char updated;
|
||||||
unsigned char old_sha1[20];
|
unsigned char old_sha1[20];
|
||||||
unsigned char new_sha1[20];
|
unsigned char new_sha1[20];
|
||||||
char ref_name[0];
|
char ref_name[];
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct command *commands = NULL;
|
static struct command *commands = NULL;
|
||||||
@ -269,7 +269,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
/* If we have a ".git" directory, chdir to it */
|
/* If we have a ".git" directory, chdir to it */
|
||||||
chdir(".git");
|
chdir(".git");
|
||||||
setenv("GIT_DIR", ".", 1);
|
putenv("GIT_DIR=.");
|
||||||
|
|
||||||
if (access("objects", X_OK) < 0 || access("refs/heads", X_OK) < 0)
|
if (access("objects", X_OK) < 0 || access("refs/heads", X_OK) < 0)
|
||||||
die("%s doesn't appear to be a git directory", dir);
|
die("%s doesn't appear to be a git directory", dir);
|
||||||
|
6
rsh.c
6
rsh.c
@ -56,8 +56,10 @@ int setup_connection(int *fd_in, int *fd_out, const char *remote_prog,
|
|||||||
return error("Couldn't create socket");
|
return error("Couldn't create socket");
|
||||||
}
|
}
|
||||||
if (!fork()) {
|
if (!fork()) {
|
||||||
const char *ssh = getenv("GIT_SSH") ? : "ssh";
|
const char *ssh, *ssh_basename;
|
||||||
const char *ssh_basename = strrchr(ssh, '/');
|
ssh = getenv("GIT_SSH");
|
||||||
|
if (!ssh) ssh = "ssh";
|
||||||
|
ssh_basename = strrchr(ssh, '/');
|
||||||
if (!ssh_basename)
|
if (!ssh_basename)
|
||||||
ssh_basename = ssh;
|
ssh_basename = ssh;
|
||||||
else
|
else
|
||||||
|
@ -70,7 +70,7 @@ static struct pack_info {
|
|||||||
int nr_alloc;
|
int nr_alloc;
|
||||||
int nr_heads;
|
int nr_heads;
|
||||||
unsigned char (*head)[20];
|
unsigned char (*head)[20];
|
||||||
char dep[0]; /* more */
|
char dep[]; /* more */
|
||||||
} **info;
|
} **info;
|
||||||
static int num_pack;
|
static int num_pack;
|
||||||
static const char *objdir;
|
static const char *objdir;
|
||||||
|
@ -283,7 +283,10 @@ void prepare_alt_odb(void)
|
|||||||
char *map;
|
char *map;
|
||||||
int fd;
|
int fd;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
char *alt = gitenv(ALTERNATE_DB_ENVIRONMENT) ? : "";
|
char *alt;
|
||||||
|
|
||||||
|
alt = gitenv(ALTERNATE_DB_ENVIRONMENT);
|
||||||
|
if (!alt) alt = "";
|
||||||
|
|
||||||
sprintf(path, "%s/info/alternates", get_object_directory());
|
sprintf(path, "%s/info/alternates", get_object_directory());
|
||||||
if (alt_odb_tail)
|
if (alt_odb_tail)
|
||||||
|
@ -87,7 +87,10 @@ int main(int argc, char **argv)
|
|||||||
char *commit_id;
|
char *commit_id;
|
||||||
char *url;
|
char *url;
|
||||||
int arg = 1;
|
int arg = 1;
|
||||||
const char *prog = getenv("GIT_SSH_PUSH") ? : "git-ssh-push";
|
const char *prog;
|
||||||
|
|
||||||
|
prog = getenv("GIT_SSH_PUSH");
|
||||||
|
if (!prog) prog = "git-ssh-push";
|
||||||
|
|
||||||
while (arg < argc && argv[arg][0] == '-') {
|
while (arg < argc && argv[arg][0] == '-') {
|
||||||
if (argv[arg][1] == 't') {
|
if (argv[arg][1] == 't') {
|
||||||
|
@ -105,10 +105,12 @@ int main(int argc, char **argv)
|
|||||||
char *commit_id;
|
char *commit_id;
|
||||||
char *url;
|
char *url;
|
||||||
int fd_in, fd_out;
|
int fd_in, fd_out;
|
||||||
const char *prog = getenv("GIT_SSH_PULL") ? : "git-ssh-pull";
|
const char *prog;
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
char hex[41];
|
char hex[41];
|
||||||
|
|
||||||
|
prog = getenv("GIT_SSH_PULL");
|
||||||
|
if (!prog) prog = "git-ssh-pull";
|
||||||
while (arg < argc && argv[arg][0] == '-') {
|
while (arg < argc && argv[arg][0] == '-') {
|
||||||
if (argv[arg][1] == 'w')
|
if (argv[arg][1] == 'w')
|
||||||
arg++;
|
arg++;
|
||||||
|
@ -179,7 +179,7 @@ int main(int argc, char **argv)
|
|||||||
chdir(".git");
|
chdir(".git");
|
||||||
if (access("objects", X_OK) || access("refs", X_OK))
|
if (access("objects", X_OK) || access("refs", X_OK))
|
||||||
die("git-upload-pack: %s doesn't seem to be a git archive", dir);
|
die("git-upload-pack: %s doesn't seem to be a git archive", dir);
|
||||||
setenv("GIT_DIR", ".", 1);
|
putenv("GIT_DIR=.");
|
||||||
upload_pack();
|
upload_pack();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user