From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
"Jonathan Nieder" <jrnieder@gmail.com>,
"Zero King" <l2dy@macports.org>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH 6.5?/8] version: move --build-options to a test helper
Date: Tue, 30 May 2017 20:45:53 +0000 [thread overview]
Message-ID: <20170530204553.25968-1-avarab@gmail.com> (raw)
In-Reply-To: <20170530051742.3j3yn3ipfmyrrteu@sigill.intra.peff.net>
Move the undocumented --build-options argument to a test helper. It's
purely used for testing git itself, so it belongs in a test helper
instead of something that's part of the public plumbing.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
On Tue, May 30, 2017 at 7:17 AM, Jeff King <peff@peff.net> wrote:
> The "git version" command didn't traditionally accept any
> options, and in fact ignores any you give it. When we added
> simple option parsing for "--build-options" in 6b9c38e14, we
> didn't improve this; we just loop over the arguments and
> pick out the one we recognize.
>
> Instead, let's move to a real parsing loop, complain about
> nonsense options, and recognize conventions like "-h".
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> I assume nobody was running "git version --foobar" and expecting it to
> work. I guess we could also complain about "git version foobar" (no
> dashes), but this patch doesn't. Mainly I wanted the auto-generated
> options list.
Looks good to me. I started hacking this up the other day, but then
thought "wait a minute, isn't this just a test helper?" and wrote this
which I've rebased on top of your change.
I may be missing something here but isn't this a much straightforward
way to accomplish this, or is this used by some external program
outside of git.git that's going to rely on --build-options output?
Makefile | 1 +
help.c | 7 -------
t/helper/.gitignore | 1 +
t/helper/test-long-is-64bit.c | 6 ++++++
t/test-lib.sh | 9 +--------
5 files changed, 9 insertions(+), 15 deletions(-)
create mode 100644 t/helper/test-long-is-64bit.c
diff --git a/Makefile b/Makefile
index 2ed6db728a..aa908ae75a 100644
--- a/Makefile
+++ b/Makefile
@@ -623,6 +623,7 @@ TEST_PROGRAMS_NEED_X += test-hashmap
TEST_PROGRAMS_NEED_X += test-index-version
TEST_PROGRAMS_NEED_X += test-lazy-init-name-hash
TEST_PROGRAMS_NEED_X += test-line-buffer
+TEST_PROGRAMS_NEED_X += test-long-is-64bit
TEST_PROGRAMS_NEED_X += test-match-trees
TEST_PROGRAMS_NEED_X += test-mergesort
TEST_PROGRAMS_NEED_X += test-mktemp
diff --git a/help.c b/help.c
index f637fc8006..0a7628a922 100644
--- a/help.c
+++ b/help.c
@@ -384,14 +384,11 @@ const char *help_unknown_cmd(const char *cmd)
int cmd_version(int argc, const char **argv, const char *prefix)
{
- int build_options = 0;
const char * const usage[] = {
N_("git version [<options>]"),
NULL
};
struct option options[] = {
- OPT_BOOL(0, "build-options", &build_options,
- "also print build options"),
OPT_END()
};
@@ -405,10 +402,6 @@ int cmd_version(int argc, const char **argv, const char *prefix)
*/
printf("git version %s\n", git_version_string);
- if (build_options) {
- printf("sizeof-long: %d\n", (int)sizeof(long));
- /* NEEDSWORK: also save and output GIT-BUILD_OPTIONS? */
- }
return 0;
}
diff --git a/t/helper/.gitignore b/t/helper/.gitignore
index 721650256e..739c4c745c 100644
--- a/t/helper/.gitignore
+++ b/t/helper/.gitignore
@@ -13,6 +13,7 @@
/test-index-version
/test-lazy-init-name-hash
/test-line-buffer
+/test-long-is-64bit
/test-match-trees
/test-mergesort
/test-mktemp
diff --git a/t/helper/test-long-is-64bit.c b/t/helper/test-long-is-64bit.c
new file mode 100644
index 0000000000..45fc120432
--- /dev/null
+++ b/t/helper/test-long-is-64bit.c
@@ -0,0 +1,6 @@
+#include "git-compat-util.h"
+
+int cmd_main(int argc, const char **argv)
+{
+ return (8 <= (int)sizeof(long)) ? 0 : 1;
+}
diff --git a/t/test-lib.sh b/t/test-lib.sh
index ec2571f018..bf649fbc03 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1165,14 +1165,7 @@ run_with_limited_cmdline () {
test_lazy_prereq CMDLINE_LIMIT 'run_with_limited_cmdline true'
-build_option () {
- git version --build-options |
- sed -ne "s/^$1: //p"
-}
-
-test_lazy_prereq LONG_IS_64BIT '
- test 8 -le "$(build_option sizeof-long)"
-'
+test_lazy_prereq LONG_IS_64BIT 'test-long-is-64bit'
test_lazy_prereq TIME_IS_64BIT 'test-date is64bit'
test_lazy_prereq TIME_T_IS_64BIT 'test-date time_t-is64bit'
--
2.13.0.303.g4ebf302169
next prev parent reply other threads:[~2017-05-30 20:46 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-29 11:45 [Bug] setup_git_env called without repository Zero King
2017-05-29 13:01 ` Ævar Arnfjörð Bjarmason
2017-05-29 15:32 ` Jeff King
2017-05-30 5:09 ` [PATCH 0/8] consistent "-h" handling in builtins Jeff King
2017-05-30 5:11 ` [PATCH 1/8] am: handle "-h" argument earlier Jeff King
2017-05-30 5:43 ` Junio C Hamano
2017-05-30 5:12 ` [PATCH 2/8] credential: handle invalid arguments earlier Jeff King
2017-05-30 5:13 ` [PATCH 3/8] upload-archive: handle "-h" option early Jeff King
2017-05-30 5:15 ` [PATCH 4/8] remote-{ext,fd}: print usage message on invalid arguments Jeff King
2017-05-30 5:16 ` [PATCH 5/8] submodule--helper: show usage for "-h" Jeff King
2017-05-30 5:17 ` [PATCH 6/8] version: convert to parse-options Jeff King
2017-05-30 20:45 ` Ævar Arnfjörð Bjarmason [this message]
2017-05-30 21:05 ` [PATCH 6.5?/8] version: move --build-options to a test helper Jeff King
2017-05-31 15:27 ` Johannes Schindelin
2017-05-31 15:31 ` Jeff King
2017-05-31 15:46 ` Johannes Schindelin
2017-05-31 17:51 ` Ævar Arnfjörð Bjarmason
2017-05-31 21:06 ` Jeff King
2017-05-30 5:18 ` [PATCH 7/8] git: add hidden --list-builtins option Jeff King
2017-05-30 5:19 ` [PATCH 8/8] t0012: test "-h" with builtins Jeff King
2017-05-30 6:03 ` Junio C Hamano
2017-05-30 6:05 ` Jeff King
2017-05-30 6:08 ` Junio C Hamano
2017-05-30 6:15 ` Jeff King
2017-05-30 13:23 ` Junio C Hamano
2017-05-30 15:27 ` Jeff King
2017-05-30 15:44 ` Jeff King
2017-05-30 22:39 ` Junio C Hamano
2017-06-01 4:17 ` Junio C Hamano
2017-06-01 5:35 ` Jeff King
2017-06-01 5:42 ` Junio C Hamano
2017-06-01 5:54 ` Junio C Hamano
2017-06-01 6:25 ` Jeff King
2017-06-01 7:51 ` Junio C Hamano
2017-06-01 6:10 ` Jeff King
2017-06-13 23:08 ` Jonathan Nieder
2017-06-14 10:03 ` Jeff King
2017-05-30 5:52 ` [PATCH 0/8] consistent "-h" handling in builtins Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170530204553.25968-1-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=l2dy@macports.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).