All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 3/3 v2] git-http-fetch: not a builtin
@ 2009-07-28  6:08 Daniel Barkalow
  2009-07-28 13:23 ` Johannes Schindelin
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Barkalow @ 2009-07-28  6:08 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Linus Torvalds

From: Linus Torvalds <torvalds@linux-foundation.org>

This splits up git-http-fetch so that it isn't built-in.

It also removes the general dependency on curl, because it is no
longer used by any built-in code.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
---
 Makefile                             |    8 ++++----
 git.c                                |    3 ---
 builtin-http-fetch.c => http-fetch.c |    5 ++++-
 3 files changed, 8 insertions(+), 8 deletions(-)
 rename builtin-http-fetch.c => http-fetch.c (95%)

diff --git a/Makefile b/Makefile
index d3dd2ed..3425336 100644
--- a/Makefile
+++ b/Makefile
@@ -979,10 +979,7 @@ else
 	else
 		CURL_LIBCURL = -lcurl
 	endif
-	BUILTIN_OBJS += builtin-http-fetch.o
-	PROGRAMS += git-shim-curl$X
-	EXTLIBS += $(CURL_LIBCURL)
-	LIB_OBJS += http.o http-walker.o
+	PROGRAMS += git-shim-curl$X git-http-fetch$X
 	curl_check := $(shell (echo 070908; curl-config --vernum) | sort -r | sed -ne 2p)
 	ifeq "$(curl_check)" "070908"
 		ifndef NO_EXPAT
@@ -1487,6 +1484,9 @@ git-imap-send$X: imap-send.o $(GITLIBS)
 
 http.o http-walker.o http-push.o transport.o: http.h
 
+git-http-fetch$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-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)
diff --git a/git.c b/git.c
index 807d875..c1e8f05 100644
--- a/git.c
+++ b/git.c
@@ -309,9 +309,6 @@ static void handle_internal_command(int argc, const char **argv)
 		{ "get-tar-commit-id", cmd_get_tar_commit_id },
 		{ "grep", cmd_grep, RUN_SETUP | USE_PAGER },
 		{ "help", cmd_help },
-#ifndef NO_CURL
-		{ "http-fetch", cmd_http_fetch, RUN_SETUP },
-#endif
 		{ "init", cmd_init_db },
 		{ "init-db", cmd_init_db },
 		{ "log", cmd_log, RUN_SETUP | USE_PAGER },
diff --git a/builtin-http-fetch.c b/http-fetch.c
similarity index 95%
rename from builtin-http-fetch.c
rename to http-fetch.c
index f3e63d7..e8f44ba 100644
--- a/builtin-http-fetch.c
+++ b/http-fetch.c
@@ -1,8 +1,9 @@
 #include "cache.h"
 #include "walker.h"
 
-int cmd_http_fetch(int argc, const char **argv, const char *prefix)
+int main(int argc, const char **argv)
 {
+	const char *prefix;
 	struct walker *walker;
 	int commits_on_stdin = 0;
 	int commits;
@@ -18,6 +19,8 @@ int cmd_http_fetch(int argc, const char **argv, const char *prefix)
 	int get_verbosely = 0;
 	int get_recover = 0;
 
+	prefix = setup_git_directory();
+
 	git_config(git_default_config, NULL);
 
 	while (arg < argc && argv[arg][0] == '-') {
-- 
1.6.4.rc2.13.ga9762.dirty

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

* Re: [PATCH 3/3 v2] git-http-fetch: not a builtin
  2009-07-28  6:08 [PATCH 3/3 v2] git-http-fetch: not a builtin Daniel Barkalow
@ 2009-07-28 13:23 ` Johannes Schindelin
  2009-07-28 18:05   ` Daniel Barkalow
  0 siblings, 1 reply; 3+ messages in thread
From: Johannes Schindelin @ 2009-07-28 13:23 UTC (permalink / raw)
  To: Daniel Barkalow; +Cc: Junio C Hamano, git, Linus Torvalds

Hi,

On Tue, 28 Jul 2009, Daniel Barkalow wrote:

> From: Linus Torvalds <torvalds@linux-foundation.org>
> 
> This splits up git-http-fetch so that it isn't built-in.
> 
> It also removes the general dependency on curl, because it is no
> longer used by any built-in code.
> 
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
> ---

I think there is something missing that was not needed in Linus' original 
patch:

> diff --git a/Makefile b/Makefile
> index d3dd2ed..3425336 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -979,10 +979,7 @@ else
>  	else
>  		CURL_LIBCURL = -lcurl
>  	endif
> -	BUILTIN_OBJS += builtin-http-fetch.o
> -	PROGRAMS += git-shim-curl$X
> -	EXTLIBS += $(CURL_LIBCURL)
> -	LIB_OBJS += http.o http-walker.o
> +	PROGRAMS += git-shim-curl$X git-http-fetch$X

So now, http is all excluded from libgit.a.  Okay.

> @@ -1487,6 +1484,9 @@ git-imap-send$X: imap-send.o $(GITLIBS)
>  
>  http.o http-walker.o http-push.o transport.o: http.h
>  
> +git-http-fetch$X: revision.o http.o http-push.o $(GITLIBS)
> +	$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
> +		$(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)

And git-http-fetch is linked to libcurl.  But why is git-shim-curl not 
linked to libcurl?  I can only guess (as I am running out of time) that 
git-shim-curl (in addition to having a doubly horrible name) has _no idea_ 
about curl?  So why does it exist in the first place?  Should not rather 
"git http-fetch" be turned _into_ that helper (albeit with a much better 
name)?

Ciao,
Dscho

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

* Re: [PATCH 3/3 v2] git-http-fetch: not a builtin
  2009-07-28 13:23 ` Johannes Schindelin
@ 2009-07-28 18:05   ` Daniel Barkalow
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Barkalow @ 2009-07-28 18:05 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Junio C Hamano, git, Linus Torvalds

On Tue, 28 Jul 2009, Johannes Schindelin wrote:

> Hi,
> 
> On Tue, 28 Jul 2009, Daniel Barkalow wrote:
> 
> > From: Linus Torvalds <torvalds@linux-foundation.org>
> > 
> > This splits up git-http-fetch so that it isn't built-in.
> > 
> > It also removes the general dependency on curl, because it is no
> > longer used by any built-in code.
> > 
> > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> > Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
> > ---
> 
> I think there is something missing that was not needed in Linus' original 
> patch:
> 
> > diff --git a/Makefile b/Makefile
> > index d3dd2ed..3425336 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -979,10 +979,7 @@ else
> >  	else
> >  		CURL_LIBCURL = -lcurl
> >  	endif
> > -	BUILTIN_OBJS += builtin-http-fetch.o
> > -	PROGRAMS += git-shim-curl$X
> > -	EXTLIBS += $(CURL_LIBCURL)
> > -	LIB_OBJS += http.o http-walker.o
> > +	PROGRAMS += git-shim-curl$X git-http-fetch$X
> 
> So now, http is all excluded from libgit.a.  Okay.
> 
> > @@ -1487,6 +1484,9 @@ git-imap-send$X: imap-send.o $(GITLIBS)
> >  
> >  http.o http-walker.o http-push.o transport.o: http.h
> >  
> > +git-http-fetch$X: revision.o http.o http-push.o $(GITLIBS)
> > +	$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
> > +		$(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
> 
> And git-http-fetch is linked to libcurl.  But why is git-shim-curl not 
> linked to libcurl?

It is linked to libcurl. Like git-http-push, it was already not relying on 
EXTLIBS including -lcurl.

	-Daniel
*This .sig left intentionally blank*

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

end of thread, other threads:[~2009-07-28 18:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-28  6:08 [PATCH 3/3 v2] git-http-fetch: not a builtin Daniel Barkalow
2009-07-28 13:23 ` Johannes Schindelin
2009-07-28 18:05   ` Daniel Barkalow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.