summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2008-04-11 23:56:09 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-04-11 23:56:09 -0700
commit4cdda2b895dfb6ba084e3952cbf4274a6a2e0338 (patch)
treed924f60957a287ea138ce59580c05e71e3f9c2f1
parentbisect: add "git bisect help" subcommand to get a long usage string (diff)
parentMerge branch 'maint-1.5.4' into maint (diff)
downloadtgif-4cdda2b895dfb6ba084e3952cbf4274a6a2e0338.tar.xz
Merge branch 'maint'
* maint: bisect: fix bad rev checking in "git bisect good" revision.c: make --date-order overriddable git-submodule: Avoid 'fatal: cannot describe' message Force the medium pretty format on calls to git log 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
-rwxr-xr-xgit-submodule.sh2
-rwxr-xr-xgit-svn.perl2
-rw-r--r--revision.c1
-rwxr-xr-xt/t6030-bisect-porcelain.sh13
9 files changed, 36 insertions, 15 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 e3adfdf6d4..bcb7aaaa93 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 a1343f61db..ff904e60d9 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -155,20 +155,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/git-submodule.sh b/git-submodule.sh
index 56ec3536e0..7674346c8d 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -327,7 +327,7 @@ set_name_rev () {
cd "$1" && {
git describe "$2" 2>/dev/null ||
git describe --tags "$2" 2>/dev/null ||
- git describe --contains --tags "$2"
+ git describe --contains --tags --always "$2"
}
) )
test -z "$revname" || revname=" ($revname)"
diff --git a/git-svn.perl b/git-svn.perl
index 81afb5cfcd..b864b54a44 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1120,7 +1120,7 @@ sub cmt_metadata {
sub working_head_info {
my ($head, $refs) = @_;
- my @args = ('log', '--no-color', '--first-parent');
+ my @args = ('log', '--no-color', '--first-parent', '--pretty=medium');
my ($fh, $ctx) = command_output_pipe(@args, $head);
my $hash;
my %max;
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 &&