Merge branch 'maint'
* maint: Documentation: bisect: change a few instances of "git-cmd" to "git cmd" Documentation: rev-list: change a few instances of "git-cmd" to "git cmd" checkout: Don't crash when switching away from an invalid branch.
This commit is contained in:
commit
a9645b780b
@ -26,7 +26,7 @@ on the subcommand:
|
||||
git bisect log
|
||||
git bisect run <cmd>...
|
||||
|
||||
This command uses 'git-rev-list --bisect' to help drive the
|
||||
This command uses 'git rev-list --bisect' to help drive the
|
||||
binary search process to find which change introduced a bug, given an
|
||||
old "good" commit object name and a later "bad" commit object name.
|
||||
|
||||
@ -101,7 +101,7 @@ $ git bisect visualize
|
||||
to see the currently remaining suspects in 'gitk'. `visualize` is a bit
|
||||
too long to type and `view` is provided as a synonym.
|
||||
|
||||
If 'DISPLAY' environment variable is not set, 'git-log' is used
|
||||
If 'DISPLAY' environment variable is not set, 'git log' is used
|
||||
instead. You can even give command line options such as `-p` and
|
||||
`--stat`.
|
||||
|
||||
@ -215,7 +215,7 @@ tweaks (e.g., s/#define DEBUG 0/#define DEBUG 1/ in a header file, or
|
||||
work around other problem this bisection is not interested in")
|
||||
applied to the revision being tested.
|
||||
|
||||
To cope with such a situation, after the inner 'git-bisect' finds the
|
||||
To cope with such a situation, after the inner 'git bisect' finds the
|
||||
next revision to test, with the "run" script, you can apply that tweak
|
||||
before compiling, run the real test, and after the test decides if the
|
||||
revision (possibly with the needed tweaks) passed the test, rewind the
|
||||
|
@ -285,7 +285,7 @@ See also linkgit:git-reflog[1].
|
||||
History Simplification
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When optional paths are given, 'git-rev-list' simplifies commits with
|
||||
When optional paths are given, 'git rev-list' simplifies commits with
|
||||
various strategies, according to the options you have selected.
|
||||
|
||||
Suppose you specified `foo` as the <paths>. We shall call commits
|
||||
@ -466,14 +466,14 @@ Limit output to the one commit object which is roughly halfway between
|
||||
the included and excluded commits. Thus, if
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
$ git-rev-list --bisect foo ^bar ^baz
|
||||
$ git rev-list --bisect foo ^bar ^baz
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
outputs 'midpoint', the output of the two commands
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
$ git-rev-list foo ^midpoint
|
||||
$ git-rev-list midpoint ^bar ^baz
|
||||
$ git rev-list foo ^midpoint
|
||||
$ git rev-list midpoint ^bar ^baz
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
would be of roughly the same length. Finding the change which
|
||||
|
@ -47,7 +47,7 @@ static int post_checkout_hook(struct commit *old, struct commit *new,
|
||||
|
||||
memset(&proc, 0, sizeof(proc));
|
||||
argv[0] = name;
|
||||
argv[1] = xstrdup(sha1_to_hex(old->object.sha1));
|
||||
argv[1] = xstrdup(sha1_to_hex(old ? old->object.sha1 : null_sha1));
|
||||
argv[2] = xstrdup(sha1_to_hex(new->object.sha1));
|
||||
argv[3] = changed ? "1" : "0";
|
||||
argv[4] = NULL;
|
||||
@ -492,10 +492,10 @@ static void update_refs_for_switch(struct checkout_opts *opts,
|
||||
}
|
||||
|
||||
old_desc = old->name;
|
||||
if (!old_desc)
|
||||
if (!old_desc && old->commit)
|
||||
old_desc = sha1_to_hex(old->commit->object.sha1);
|
||||
strbuf_addf(&msg, "checkout: moving from %s to %s",
|
||||
old_desc, new->name);
|
||||
old_desc ? old_desc : "(invalid)", new->name);
|
||||
|
||||
if (new->path) {
|
||||
create_symref("HEAD", new->path, msg.buf);
|
||||
@ -551,7 +551,7 @@ static int switch_branches(struct checkout_opts *opts, struct branch_info *new)
|
||||
* a new commit, we want to mention the old commit once more
|
||||
* to remind the user that it might be lost.
|
||||
*/
|
||||
if (!opts->quiet && !old.path && new->commit != old.commit)
|
||||
if (!opts->quiet && !old.path && old.commit && new->commit != old.commit)
|
||||
describe_detached_head("Previous HEAD position was", old.commit);
|
||||
|
||||
if (!old.commit) {
|
||||
|
18
t/t2011-checkout-invalid-head.sh
Executable file
18
t/t2011-checkout-invalid-head.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
test_description='checkout switching away from an invalid branch'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success 'setup' '
|
||||
echo hello >world &&
|
||||
git add world &&
|
||||
git commit -m initial
|
||||
'
|
||||
|
||||
test_expect_success 'checkout master from invalid HEAD' '
|
||||
echo 0000000000000000000000000000000000000000 >.git/HEAD &&
|
||||
git checkout master --
|
||||
'
|
||||
|
||||
test_done
|
Loading…
Reference in New Issue
Block a user