git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: git@vger.kernel.org
Subject: Re: First cut at git port to Cygwin
Date: Fri, 30 Sep 2005 03:02:57 -0700	[thread overview]
Message-ID: <7v4q826ffy.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: 433B3B10.5050407@zytor.com

"H. Peter Anvin" <hpa@zytor.com> writes:

> I have set up a git-on-Cygwin temporary tree at:
>
> http://www.kernel.org/pub/scm/git/git-cygwin.git

: siamese; git clone http://kernel.org/pub/scm/git/git-cygwin.git/ git-cygwin
defaulting to local storage area
Cannot get remote repository information.
Perhaps git-update-server-info needs to be run there?

Could you do update-server-info there, please?

hera$ cd /pub/scm/git/git-cygwin.git
hera$ GIT_DIR=. git-update-server-info



Knowing nothing about Cygwin environment, here are some
comments.

        +# Define NO_IPV6 if you lack IPv6 support and getaddrinfo().

This part probably is applicable outside Cygwin.  At some point,
can we have it in the mainline please?

         # The ones that do not have to link with lcrypto nor lz.
         SIMPLE_PROGRAMS = \
        -	git-get-tar-commit-id git-mailinfo git-mailsplit git-stripspace \
        -	git-daemon git-var
        +	git-get-tar-commit-id$(X) git-mailinfo$(X) git-mailsplit$(X) \
        +	git-stripspace$(X) git-var$(X) git-daemon$(X)
 
I have seen these $(X) in other programs' ports and found them
quite distasteful.  Since I do not have immediate suggestions
for improvements, I do not have rights to complain, though.

Spelling it $X is a bit less distracting but not that much
better.  Maybe "SIMPLE_PROGRAM_NAMES = git-foo git-bar" and
"SIMPLE_PROGRAMS = $(patsubst %,%$X,$(SIMPLE_PROGRAM_NAMES))"...
but that would not help bits like this:

        -	PROGRAMS += git-http-fetch
        +	PROGRAMS += git-http-fetch$(X)

or this: 

        -git-%: %.o $(LIB_FILE)
        +git-%$(X): %.o $(LIB_FILE)

... so I'd shut up about this part.

        diff --git a/daemon.c b/daemon.c
        --- a/daemon.c
        +++ b/daemon.c
        @@ -1,9 +1,11 @@
         #include "cache.h"
         #include "pkt-line.h"
        +#include <alloca.h>

Why?  I do not see any use of alloca in the added code...

        +#include <sys/poll.h>

Is poll preferrable over select in general?  Some may have only
select available and others may have only poll available,
perhaps?  In any case, this is probably relevant to wider
audience than just Cygwin; please give it to mainline at some
point, perhaps conditionally allowing either/both.

        +	*socklist_p = malloc(sizeof(int));
        +	pfd = calloc(socknum, sizeof(struct pollfd));

Please use xmalloc and xcalloc just for consistency.

                test -x $path/git-$cmd && exec $path/git-$cmd "$@" ;;
        +
        +	# In case we're running on Cygwin...
        +	test -x $path/git-$cmd.exe && exec $path/git-$cmd.exe "$@" ;;
         esac
 
Hmph, I think you forgot to drop double semicolon there.

The git.sh script is munged by Makefile so presumably we could
fix this part up there, like:

        git: git.sh Makefile
                rm -f $@+ $@
                sed -e '1s|#!.*/sh|#!$(SHELL_PATH)|' \
                    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
                    -e 's/@@X@@/$X/g' <$@.sh >$@+
                chmod +x $@+
                mv $@+ $@

And then (a patch on top of your "master"):

diff --git a/git.sh b/git.sh
--- a/git.sh
+++ b/git.sh
@@ -12,10 +12,14 @@ case "$#" in
 		exit 0 ;;
 	esac
 
-	test -x $path/git-$cmd && exec $path/git-$cmd "$@" ;;
+	test -x $path/git-$cmd && exec $path/git-$cmd "$@"
 
-	# In case we're running on Cygwin...
-	test -x $path/git-$cmd.exe && exec $path/git-$cmd.exe "$@" ;;
+	case '@@X@@' in
+	'')
+		;;
+	*)
+		test -x $path/git-$cmd@@X@@ && exec $path/git-$cmd@@X@@ "$@" ;;
+	esac		
 esac
 
 echo "Usage: git COMMAND [OPTIONS] [TARGET]"

  parent reply	other threads:[~2005-09-30 10:03 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-29  0:53 First cut at git port to Cygwin H. Peter Anvin
2005-09-29  4:30 ` Junio C Hamano
2005-09-29  5:07   ` H. Peter Anvin
2005-09-29  4:46 ` Martin Langhoff
2005-09-29  5:13   ` Junio C Hamano
2005-09-29  6:19   ` H. Peter Anvin
2005-09-29  8:46 ` Johannes Schindelin
2005-09-29 16:11   ` H. Peter Anvin
2005-09-29 17:25   ` H. Peter Anvin
2005-09-30 10:02 ` Junio C Hamano [this message]
2005-09-30 17:01   ` H. Peter Anvin
2005-09-30 19:08     ` H. Peter Anvin
2005-10-04 12:31 ` Alex Riesen
2005-10-04 13:06   ` Alex Riesen
2005-10-04 14:06   ` H. Peter Anvin
2005-10-05  3:15     ` Christopher Faylor
2005-10-04 15:03   ` H. Peter Anvin
2005-10-05  3:16     ` Christopher Faylor
2005-10-05  5:25       ` H. Peter Anvin
2005-10-05 11:24     ` Alex Riesen
2005-10-05 15:46       ` Alex Riesen
2005-10-05 15:54         ` Christopher Faylor
2005-10-05 16:09           ` Davide Libenzi
2005-10-05 16:15             ` Christopher Faylor
2005-10-05 16:23               ` H. Peter Anvin
2005-10-05 16:28                 ` Christopher Faylor
2005-10-05 17:29               ` Davide Libenzi
2005-10-05 19:17           ` Alex Riesen
2005-10-05 20:29             ` Christopher Faylor
2005-10-06  9:05               ` Alex Riesen
2005-10-06 10:07                 ` Alex Riesen
2005-10-07 12:44                   ` Alex Riesen
2005-10-07 15:34                     ` Linus Torvalds
2005-10-07 20:54                       ` Alex Riesen
2005-10-07 21:22                         ` Alex Riesen
2005-10-07 21:29                           ` Chuck Lever
2005-10-07 21:39                             ` Alex Riesen
2005-10-08 16:11                               ` Linus Torvalds
2005-10-08 17:38                                 ` Elfyn McBratney
2005-10-08 17:43                                 ` Elfyn McBratney
2005-10-08 18:27                                 ` Johannes Schindelin
2005-10-08 18:44                                   ` Junio C Hamano
2005-10-08 19:04                                     ` Johannes Schindelin
2005-10-08 21:10                                       ` Junio C Hamano
2005-10-08 22:06                                         ` Johannes Schindelin
2005-10-10 18:43                                     ` H. Peter Anvin
2005-10-10 19:01                                       ` Johannes Schindelin
2005-10-10 19:26                                         ` H. Peter Anvin
2005-10-10 19:42                                           ` Johannes Schindelin
2005-10-10 20:21                                           ` Junio C Hamano
2005-10-10 20:34                                           ` Junio C Hamano
2005-10-10 20:52                                             ` H. Peter Anvin
2005-10-10 20:27                                         ` Daniel Barkalow
2005-10-08 18:49                                   ` Alex Riesen
2005-10-09 20:40                           ` Commit text BEFORE the dashes (Re: First cut at git port to Cygwin) Matthias Urlichs
     [not found]                         ` <7vfyrdyre5.fsf@assigned-by-dhcp.cox.net>
2005-10-07 23:45                           ` First cut at git port to Cygwin Alex Riesen
2005-10-08  1:00                             ` Elfyn McBratney
2005-10-10 18:45                               ` H. Peter Anvin
2005-10-05 13:16 ` Jonas Fonseca
2005-10-05 13:58   ` Johannes Schindelin
2005-10-05 15:52     ` [PATCH] Fix symbolic ref validation Jonas Fonseca
2005-10-05 16:54       ` 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7v4q826ffy.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=hpa@zytor.com \
    /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.
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).