summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2008-04-11 23:55:55 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-04-11 23:55:55 -0700
commiteed81838f0d0e031702473e1d427d71055134edd (patch)
treeba71df8000ce5e640f7258e1bb822461e778da23
parentgit-submodule: Avoid 'fatal: cannot describe' message (diff)
parentbisect: fix bad rev checking in "git bisect good" (diff)
downloadtgif-eed81838f0d0e031702473e1d427d71055134edd.tar.xz
Merge branch 'maint-1.5.4' into maint
* maint-1.5.4: bisect: fix bad rev checking in "git bisect good" revision.c: make --date-order overriddable Fix section about backdating tags in the git-tag docs Document option --only of git commit Documentation/git-request-pull: Fixed a typo ("send" -> "end")
-rw-r--r--Documentation/git-commit.txt11
-rw-r--r--Documentation/git-request-pull.txt2
-rw-r--r--Documentation/git-tag.txt4
-rw-r--r--builtin-commit.c2
-rwxr-xr-xgit-bisect.sh14
-rw-r--r--revision.c1
-rwxr-xr-xt/t6030-bisect-porcelain.sh13
7 files changed, 34 insertions, 13 deletions
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index b4ae61ff46..4bb51cc06e 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -139,6 +139,17 @@ but can be used to amend a merge commit.
as well. This is usually not what you want unless you
are concluding a conflicted merge.
+-o|--only::
+ Make a commit only from the paths specified on the
+ command line, disregarding any contents that have been
+ staged so far. This is the default mode of operation of
+ 'git commit' if any paths are given on the command line,
+ in which case this option can be omitted.
+ If this option is specified together with '--amend', then
+ no paths need be specified, which can be used to amend
+ the last commit without committing changes that have
+ already been staged.
+
-u|--untracked-files::
Show all untracked files, also those in uninteresting
directories, in the "Untracked files:" section of commit
diff --git a/Documentation/git-request-pull.txt b/Documentation/git-request-pull.txt
index 270df9b185..9a14c04e39 100644
--- a/Documentation/git-request-pull.txt
+++ b/Documentation/git-request-pull.txt
@@ -24,7 +24,7 @@ OPTIONS
URL to include in the summary.
<end>::
- Commit to send at; defaults to HEAD.
+ Commit to end at; defaults to HEAD.
Author
------
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 4b6fd90eaf..9712392f79 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -233,14 +233,14 @@ the tag object affects, for example, the ordering of tags in the
gitweb interface.
To set the date used in future tag objects, set the environment
-variable GIT_AUTHOR_DATE to one or more of the date and time. The
+variable GIT_COMMITTER_DATE to one or more of the date and time. The
date and time can be specified in a number of ways; the most common
is "YYYY-MM-DD HH:MM".
An example follows.
------------
-$ GIT_AUTHOR_DATE="2006-10-02 10:31" git tag -s v1.0.1
+$ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1
------------
diff --git a/builtin-commit.c b/builtin-commit.c
index 660a3458f7..05dfc6973a 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -98,7 +98,7 @@ static struct option builtin_commit_options[] = {
OPT_BOOLEAN('a', "all", &all, "commit all changed files"),
OPT_BOOLEAN('i', "include", &also, "add specified files to index for commit"),
OPT_BOOLEAN(0, "interactive", &interactive, "interactively add files"),
- OPT_BOOLEAN('o', "only", &only, ""),
+ OPT_BOOLEAN('o', "only", &only, "commit only specified files"),
OPT_BOOLEAN('n', "no-verify", &no_verify, "bypass pre-commit hook"),
OPT_BOOLEAN(0, "amend", &amend, "amend previous commit"),
OPT_BOOLEAN(0, "untracked-files", &untracked_files, "show all untracked files"),
diff --git a/git-bisect.sh b/git-bisect.sh
index 48fb92d612..6644b10e36 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -151,20 +151,16 @@ bisect_state() {
rev=$(git rev-parse --verify HEAD) ||
die "Bad rev input: HEAD"
bisect_write "$state" "$rev" ;;
- 2,bad)
- rev=$(git rev-parse --verify "$2^{commit}") ||
- die "Bad rev input: $2"
- bisect_write "$state" "$rev" ;;
- *,good|*,skip)
+ 2,bad|*,good|*,skip)
shift
- revs=$(git rev-parse --revs-only --no-flags "$@") &&
- test '' != "$revs" || die "Bad rev input: $@"
- for rev in $revs
+ for rev in "$@"
do
rev=$(git rev-parse --verify "$rev^{commit}") ||
- die "Bad rev commit: $rev^{commit}"
+ die "Bad rev input: $rev"
bisect_write "$state" "$rev"
done ;;
+ *,bad)
+ die "'git bisect bad' can take only one argument." ;;
*)
usage ;;
esac
diff --git a/revision.c b/revision.c
index 196fedc9d1..ffbed3fbf2 100644
--- a/revision.c
+++ b/revision.c
@@ -1083,6 +1083,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
continue;
}
if (!strcmp(arg, "--topo-order")) {
+ revs->lifo = 1;
revs->topo_order = 1;
continue;
}
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index f471c1526f..32d6118183 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -71,6 +71,19 @@ test_expect_success 'bisect start with one bad and good' '
git bisect next
'
+test_expect_success 'bisect good and bad fails if not given only revs' '
+ git bisect reset &&
+ git bisect start &&
+ test_must_fail git bisect good foo $HASH1 &&
+ test_must_fail git bisect good $HASH1 bar &&
+ test_must_fail git bisect bad frotz &&
+ test_must_fail git bisect bad $HASH3 $HASH4 &&
+ test_must_fail git bisect skip bar $HASH3 &&
+ test_must_fail git bisect skip $HASH1 foo &&
+ git bisect good $HASH1 &&
+ git bisect bad $HASH4
+'
+
test_expect_success 'bisect reset: back in the master branch' '
git bisect reset &&
echo "* master" > branch.expect &&