git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Daniel Barkalow <barkalow@iabervon.org>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org, Johan Herland <johan@herland.net>
Subject: Re: [PATCH 02/13] Use an external program to implement fetching with curl
Date: Thu, 06 Aug 2009 22:08:09 -0700	[thread overview]
Message-ID: <7v63d06wjq.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <alpine.LNX.2.00.0908051145250.2147@iabervon.org> (Daniel Barkalow's message of "Wed\, 5 Aug 2009 11\:52\:22 -0400 \(EDT\)")

Daniel Barkalow <barkalow@iabervon.org> writes:

> On Wed, 5 Aug 2009, Johannes Schindelin wrote:
>
>> Ooops, I missed this part.  How about making git-remote-https and 
>> git-remote-ftp hardlinks to git-remote-http?
>
> Sure. Is "ln ... || ln -s ... || cp ..." the right way to do this 
> cross-platform?

I've queued the first three from this series to 'next' (and the rest to
'pu'), as I wanted to give wider testing to the smaller footprint git with
the libcurl-less-ness they bring in, with Linus's standalone SHA-1.

Since then two fix-ups (adding git-remote-* to .gitignore and the
dependency fix to git-http-fetch) were posted to the list, which I also
rebased in to the series, making the total number of patches merged to
'next' from the series 5.

If there are major changes/rewrites/redesign in the remaining part of the
series that are only in 'pu', please feel free to either send incrementals
or replacements.

I do not think I've seen any issues raised but unresolved against the part
from this series already in 'next', other than that this builds three
copies of git-remote-* programs based on libcurl.  I'll rebase a patch
like this in after the Makefile fixup ae209bd (http-fetch: Fix Makefile
dependancies, 2009-08-06) and queue the result to 'next'.

I suspect that the "install" target may need a patch similar to this one,
though...

-- >8 --
Subject: Makefile: do not link three copies of git-remote-* programs

Instead, link only one and make the rest hardlinks/copies, like we do for
the built-ins. 

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---

 Makefile |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index 2900057..38924f2 100644
--- a/Makefile
+++ b/Makefile
@@ -1256,6 +1256,7 @@ ifndef V
 	QUIET_LINK     = @echo '   ' LINK $@;
 	QUIET_BUILT_IN = @echo '   ' BUILTIN $@;
 	QUIET_GEN      = @echo '   ' GEN $@;
+	QUIET_LNCP     = @echo '   ' LN/CP $@;
 	QUIET_SUBDIR0  = +@subdir=
 	QUIET_SUBDIR1  = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \
 			 $(MAKE) $(PRINT_DIR) -C $$subdir
@@ -1494,10 +1495,16 @@ git-http-push$X: revision.o http.o http-push.o $(GITLIBS)
 	$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
 		$(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
 
-git-remote-http$X git-remote-https$X git-remote-ftp$X: remote-curl.o http.o http-walker.o $(GITLIBS)
+git-remote-http$X: remote-curl.o http.o http-walker.o $(GITLIBS)
 	$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
 		$(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
 
+git-remote-https$X git-remote-ftp$X: git-remote-http$X
+	$(QUIET_LNCP)$(RM) $@ && \
+	ln git-remote-http$X $@ 2>/dev/null || \
+	ln -s  git-remote-http$X $@ 2>/dev/null || \
+	cp git-remote-http$X $@
+
 $(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H)
 $(patsubst git-%$X,%.o,$(PROGRAMS)) git.o: $(LIB_H) $(wildcard */*.h)
 builtin-revert.o wt-status.o: wt-status.h

  parent reply	other threads:[~2009-08-07  5:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-05  5:01 [PATCH 02/13] Use an external program to implement fetching with curl Daniel Barkalow
2009-08-05 10:07 ` Johannes Schindelin
2009-08-05 15:52   ` Daniel Barkalow
2009-08-05 19:54     ` Johannes Schindelin
2009-08-07  5:08     ` Junio C Hamano [this message]
2009-08-07  5:34       ` Daniel Barkalow
2009-08-07 19:19       ` [PATCH/RFC] Makefile: build/install git-remote-<scheme> as hardlinks when able 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=7v63d06wjq.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=barkalow@iabervon.org \
    --cc=git@vger.kernel.org \
    --cc=johan@herland.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.
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).