Merge branch 'master' into next

* master:
  Windows: start_command: Support non-NULL dir in struct child_process
  Git 1.7.0.5
  blame documentation: -M/-C notice copied lines as well as moved ones
  t3507: Make test executable
This commit is contained in:
Junio C Hamano
2010-04-11 13:54:52 -07:00
8 changed files with 47 additions and 18 deletions

View File

@@ -0,0 +1,26 @@
Git v1.7.0.5 Release Notes
==========================
Fixes since v1.7.0.4
--------------------
* "git daemon" failed to compile on platforms without sockaddr_storage type.
* Output from "git rev-list --pretty=oneline" was unparsable when a
commit did not have any message, which is abnormal but possible in a
repository converted from foreign scm.
* "git stash show <commit-that-is-not-a-stash>" gave an error message
that was not so useful. Reworded the message to "<it> is not a
stash".
* Python scripts in contrib/ area now start with "#!/usr/bin/env python"
to honor user's PATH.
* "git imap-send" used to mistake any line that begins with "From " as a
message separator in format-patch output.
* Smart http server backend failed to report an internal server error and
infinitely looped instead after output pipe was closed.
And other minor fixes and documentation updates.

View File

@@ -79,14 +79,15 @@ of lines before or after the line given by <start>.
of the --date option at linkgit:git-log[1].
-M|<num>|::
Detect moving lines in the file as well. When a commit
moves a block of lines in a file (e.g. the original file
has A and then B, and the commit changes it to B and
then A), the traditional 'blame' algorithm typically blames
the lines that were moved up (i.e. B) to the parent and
assigns blame to the lines that were moved down (i.e. A)
to the child commit. With this option, both groups of lines
are blamed on the parent.
Detect moved or copied lines within a file. When a commit
moves or copies a block of lines (e.g. the original file
has A and then B, and the commit changes it to B and then
A), the traditional 'blame' algorithm notices only half of
the movement and typically blames the lines that were moved
up (i.e. B) to the parent and assigns blame to the lines that
were moved down (i.e. A) to the child commit. With this
option, both groups of lines are blamed on the parent by
running extra passes of inspection.
+
<num> is optional but it is the lower bound on the number of
alphanumeric characters that git must detect as moving
@@ -94,7 +95,7 @@ within a file for it to associate those lines with the parent
commit.
-C|<num>|::
In addition to `-M`, detect lines copied from other
In addition to `-M`, detect lines moved or copied from other
files that were modified in the same commit. This is
useful when you reorganize your program and move code
around across files. When this option is given twice,

View File

@@ -44,9 +44,10 @@ unreleased) version of git, that is available from 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
* link:v1.7.0.4/git.html[documentation for release 1.7.0.4]
* link:v1.7.0.5/git.html[documentation for release 1.7.0.5]
* release notes for
link:RelNotes-1.7.0.5.txt[1.7.0.5],
link:RelNotes-1.7.0.4.txt[1.7.0.4],
link:RelNotes-1.7.0.3.txt[1.7.0.3],
link:RelNotes-1.7.0.2.txt[1.7.0.2],

View File

@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
DEF_VER=v1.7.0.4
DEF_VER=v1.7.1.rc1.GIT
LF='
'

View File

@@ -650,6 +650,7 @@ static int env_compare(const void *a, const void *b)
}
static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **env,
const char *dir,
int prepend_cmd, int fhin, int fhout, int fherr)
{
STARTUPINFO si;
@@ -729,7 +730,7 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **env,
memset(&pi, 0, sizeof(pi));
ret = CreateProcess(cmd, args.buf, NULL, NULL, TRUE, flags,
env ? envblk.buf : NULL, NULL, &si, &pi);
env ? envblk.buf : NULL, dir, &si, &pi);
if (env)
strbuf_release(&envblk);
@@ -746,10 +747,11 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **env,
static pid_t mingw_spawnve(const char *cmd, const char **argv, char **env,
int prepend_cmd)
{
return mingw_spawnve_fd(cmd, argv, env, prepend_cmd, 0, 1, 2);
return mingw_spawnve_fd(cmd, argv, env, NULL, prepend_cmd, 0, 1, 2);
}
pid_t mingw_spawnvpe(const char *cmd, const char **argv, char **env,
const char *dir,
int fhin, int fhout, int fherr)
{
pid_t pid;
@@ -772,14 +774,14 @@ pid_t mingw_spawnvpe(const char *cmd, const char **argv, char **env,
pid = -1;
}
else {
pid = mingw_spawnve_fd(iprog, argv, env, 1,
pid = mingw_spawnve_fd(iprog, argv, env, dir, 1,
fhin, fhout, fherr);
free(iprog);
}
argv[0] = argv0;
}
else
pid = mingw_spawnve_fd(prog, argv, env, 0,
pid = mingw_spawnve_fd(prog, argv, env, dir, 0,
fhin, fhout, fherr);
free(prog);
}

View File

@@ -229,6 +229,7 @@ int mingw_utime(const char *file_name, const struct utimbuf *times);
#define utime mingw_utime
pid_t mingw_spawnvpe(const char *cmd, const char **argv, char **env,
const char *dir,
int fhin, int fhout, int fherr);
void mingw_execvp(const char *cmd, char *const *argv);
#define execvp mingw_execvp

View File

@@ -342,8 +342,6 @@ fail_pipe:
else if (cmd->out > 1)
fhout = dup(cmd->out);
if (cmd->dir)
die("chdir in start_command() not implemented");
if (cmd->env)
env = make_augmented_environ(cmd->env);
@@ -353,7 +351,7 @@ fail_pipe:
cmd->argv = prepare_shell_cmd(cmd->argv);
}
cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env,
cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env, cmd->dir,
fhin, fhout, fherr);
failed_errno = errno;
if (cmd->pid < 0 && (!cmd->silent_exec_failure || errno != ENOENT))

0
t/t3507-cherry-pick-conflict.sh Normal file → Executable file
View File