* [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.