git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/16] solaris portability patches
@ 2008-03-12 21:29 Jeff King
  2008-03-13  7:56 ` Junio C Hamano
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff King @ 2008-03-12 21:29 UTC (permalink / raw)
  To: Whit Armstrong; +Cc: Junio C Hamano, git

I've been trying to run the testsuite under Solaris without using any of
the more fancy tools available. Maybe this is foolhardy, and we should
simply say "at least put /usr/ucb in your PATH if you're going to run
the testsuite." Even with that, though, some of the patches below still
fix problems, either because the ucb and xpg4 versions given with
Solaris also don't work, or because the problem is in a git script
itself, and I don't think we want to force users to have /usr/ucb at the
front of their PATH.

The series goes on top of the current master.  The first patch is a
repost from this morning that was embedded in a thread, but the rest are
new. The order of patches is roughly in the order that the bugs come up
if you try to run the testsuite. :)

It may be that some are less controversial than others, and I can try to
re-order if need be.

With these patches applied, running

  PATH=/usr/bin:/bin /path/to/gmake test

passes with the following exceptions:

t3701-add-interactive.sh
t7501-commit.sh (only interactive add test)
  git-add--interactive doesn't work with perl 5.005. I haven't looked
  into it any more closely.

t9001-send-email.sh
  send-email doesn't work with perl 5.005 (haven't looked closer)

t3900-i18n-commit.sh
  I think there are some iconv issues with Japanese charsets. I tried
  debugging this before but didn't get very far.

t4109-apply-multifrag.sh
t4110-apply-scan.sh
  These tests invoke the system 'patch' which doesn't like our git
  patches very much. Despite having stdout/stderr redirected, it insists
  on printing "File to patch?" to the terminal and waiting for input.

t4116-apply-reverse.sh
  system tar doesn't recognize typeflag 'g' in our git-archive
  generated tarfile. It returns an error, which prevents further setup
  from happening.

t5000-tar-tree.sh
  The system awk complains about a long awk line. I ran out of time to
  try tracking it down.

t3901-i18n-patch.sh
t4024-diff-optimize-common.sh
  I ran out of time to look more closely at these ones. Grab bag of
  portability bugs!

The patches are:

  tr portability fixes
  t0050: perl portability fix
  more tr portability test script fixes
  grep portability fix: don't use "-e" or "-q"
  remove use of "tail -n 1" and "tail -1"
  add test_cmp function for test scripts
  t4020: don't use grep -a
  t4200: use cut instead of sed
  t6000lib: tr portability fix
  add NO_EXTERNAL_GREP build option
  config: add --literal-match option
  git-submodule: avoid sed input with no newline
  filter-branch: don't use xargs -0
  filter-branch: use $SHELL_PATH instead of 'sh'
  t9112: add missing #!/bin/sh header
  t7505: use SHELL_PATH in hook

 Documentation/git-config.txt       |    7 ++++
 Makefile                           |    8 ++++
 builtin-config.c                   |   50 ++++++++++++++++++++-------
 builtin-grep.c                     |    4 +-
 builtin-remote.c                   |    2 +-
 cache.h                            |    2 +-
 config.c                           |   67 ++++++++++++++++++++++++------------
 git-am.sh                          |    2 +-
 git-bisect.sh                      |    4 +-
 git-filter-branch.sh               |    8 ++--
 git-rebase--interactive.sh         |    8 ++--
 git-submodule.sh                   |   19 +++++-----
 t/diff-lib.sh                      |    4 +-
 t/t0003-attributes.sh              |    2 +-
 t/t0020-crlf.sh                    |    2 +-
 t/t0022-crlf-rename.sh             |    2 +-
 t/t0030-stripspace.sh              |   34 +++++++++---------
 t/t0050-filesystem.sh              |    4 +-
 t/t1005-read-tree-reset.sh         |    2 +-
 t/t1300-repo-config.sh             |   17 ++++++++-
 t/t2200-add-update.sh              |    2 +-
 t/t3001-ls-files-others-exclude.sh |    2 +-
 t/t3050-subprojects-fetch.sh       |    4 +-
 t/t3060-ls-files-with-tree.sh      |    2 +-
 t/t3201-branch-contains.sh         |    6 ++--
 t/t3300-funny-names.sh             |    6 ++--
 t/t3404-rebase-interactive.sh      |   11 +++---
 t/t3405-rebase-malformed.sh        |    4 +-
 t/t3406-rebase-message.sh          |    2 +-
 t/t3701-add-interactive.sh         |    4 +-
 t/t3800-mktag.sh                   |    2 +-
 t/t3902-quoted.sh                  |   16 ++++----
 t/t3903-stash.sh                   |    2 +-
 t/t4020-diff-external.sh           |    5 ++-
 t/t4020/diff.NUL                   |  Bin 0 -> 116 bytes
 t/t4022-diff-rewrite.sh            |    5 ++-
 t/t4023-diff-rename-typechange.sh  |    6 ++--
 t/t4024-diff-optimize-common.sh    |    2 +-
 t/t4025-hunk-header.sh             |    2 +-
 t/t4027-diff-submodule.sh          |    6 ++--
 t/t4103-apply-binary.sh            |    4 +-
 t/t4105-apply-fuzz.sh              |    2 +-
 t/t4116-apply-reverse.sh           |    4 +-
 t/t4125-apply-ws-fuzz.sh           |    8 ++--
 t/t4150-am-subdir.sh               |   10 +++---
 t/t4200-rerere.sh                  |    4 +-
 t/t4201-shortlog.sh                |    2 +-
 t/t5300-pack-object.sh             |    2 +-
 t/t5302-pack-index.sh              |    4 +-
 t/t5400-send-pack.sh               |    2 +-
 t/t5505-remote.sh                  |    6 ++--
 t/t5510-fetch.sh                   |    2 +-
 t/t5512-ls-remote.sh               |    8 ++--
 t/t6000lib.sh                      |    5 ++-
 t/t6004-rev-list-path-optim.sh     |    2 +-
 t/t6009-rev-list-parent.sh         |    2 +-
 t/t6027-merge-binary.sh            |    4 +-
 t/t6029-merge-subtree.sh           |    2 +-
 t/t6030-bisect-porcelain.sh        |    6 ++--
 t/t7003-filter-branch.sh           |    2 +-
 t/t7010-setup.sh                   |   18 +++++-----
 t/t7201-co.sh                      |   18 +++++-----
 t/t7501-commit.sh                  |   14 ++++----
 t/t7502-commit.sh                  |   14 ++++----
 t/t7502-status.sh                  |    4 +-
 t/t7505-prepare-commit-msg-hook.sh |    3 +-
 t/t7600-merge.sh                   |    8 ++--
 t/t8003-blame.sh                   |    4 +-
 t/t9001-send-email.sh              |    2 +-
 t/t9112-git-svn-md5less-file.sh    |    2 +
 t/t9116-git-svn-log.sh             |   24 ++++++------
 t/t9200-git-cvsexportcommit.sh     |   14 ++++----
 t/t9400-git-cvsserver-server.sh    |   28 +++++++-------
 t/test-lib.sh                      |   18 ++++++++++
 test-sha1.sh                       |    4 +-
 75 files changed, 347 insertions(+), 246 deletions(-)
 create mode 100644 t/t4020/diff.NUL

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 00/16] solaris portability patches
  2008-03-12 21:29 [PATCH 00/16] solaris portability patches Jeff King
@ 2008-03-13  7:56 ` Junio C Hamano
  2008-03-13 13:15   ` Jeff King
  0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2008-03-13  7:56 UTC (permalink / raw)
  To: Jeff King; +Cc: Whit Armstrong, git

Whew, a huge series.

I've queued the following for now.

    [PATCH 01/16] tr portability fixes
    [PATCH 02/16] t0050: perl portability fix
    [PATCH 03/16] more tr portability test script fixes
    [PATCH 04/16] grep portability fix: don't use "-e" or "-q"
    [PATCH 05/16] remove use of "tail -n 1" and "tail -1"
    [PATCH 06/16] add test_cmp function for test scripts
    [PATCH 07/16] t4020: don't use grep -a
    [PATCH 09/16] t6000lib: tr portability fix
    [PATCH 10/16] add NO_EXTERNAL_GREP build option
    [PATCH 13/16] filter-branch: don't use xargs -0
    [PATCH 14/16] filter-branch: use $SHELL_PATH instead of 'sh'
    [PATCH 15/16] t9112: add missing #!/bin/sh header
    [PATCH 16/16] t7505: use SHELL_PATH in hook

but being this close to -rc0 I do not really enjoy too disruptive
patches.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 00/16] solaris portability patches
  2008-03-13  7:56 ` Junio C Hamano
@ 2008-03-13 13:15   ` Jeff King
  0 siblings, 0 replies; 3+ messages in thread
From: Jeff King @ 2008-03-13 13:15 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Whit Armstrong, git

On Thu, Mar 13, 2008 at 12:56:21AM -0700, Junio C Hamano wrote:

> Whew, a huge series.

Yes, sorry to spam you when we are supposed to be freezing. I saw that
Whit was still trying to run the testsuite, and I thought "I'll just
take a quick peek at getting this to run." 16 patches and a half day's
missing day-job work later, you see the result. :)

> I've queued the following for now.
> 
>     [PATCH 01/16] tr portability fixes
>     [PATCH 02/16] t0050: perl portability fix
>     [PATCH 03/16] more tr portability test script fixes
>     [PATCH 04/16] grep portability fix: don't use "-e" or "-q"
>     [PATCH 05/16] remove use of "tail -n 1" and "tail -1"
>     [PATCH 06/16] add test_cmp function for test scripts
>     [PATCH 07/16] t4020: don't use grep -a
>     [PATCH 09/16] t6000lib: tr portability fix
>     [PATCH 10/16] add NO_EXTERNAL_GREP build option
>     [PATCH 13/16] filter-branch: don't use xargs -0
>     [PATCH 14/16] filter-branch: use $SHELL_PATH instead of 'sh'
>     [PATCH 15/16] t9112: add missing #!/bin/sh header
>     [PATCH 16/16] t7505: use SHELL_PATH in hook
> 
> but being this close to -rc0 I do not really enjoy too disruptive
> patches.

A lot of these are "help the test scripts run" and not "help git run."
However, the "help git run" ones are probably nice for Solaris people.
OTOH, most of them probably have xpg4 in their PATH, which helps a lot
(although things like 14/16 mean filter-branch is totally broken for
anyone on Solaris).

I think the ones you dropped make sense. I'll put "try to clean up
builtin-config" on my post-1.5.5 todo. In the meantime, I think it is
only hurting git-submodule users on Solaris who don't have xpg4 in their
PATH.

The t4200 thing is potentially showing a bug in builtin-rerere, so I
think following up on that is worthwhile. I'll see if I can construct a
multi-file test case to trigger it.

-Peff

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-03-13 13:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-12 21:29 [PATCH 00/16] solaris portability patches Jeff King
2008-03-13  7:56 ` Junio C Hamano
2008-03-13 13:15   ` Jeff King

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 NNTP newsgroup(s).