git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Duy Nguyen <pclouds@gmail.com>,
	Git Mailing List <git@vger.kernel.org>,
	Junio C Hamano <gitster@pobox.com>,
	Brandon Casey <drafnel@gmail.com>,
	Ramkumar Ramachandra <artagnon@gmail.com>
Subject: Re: [PATCH 2/2] Move sequencer to builtin
Date: Sat, 8 Jun 2013 12:06:52 -0500	[thread overview]
Message-ID: <CAMP44s06DaV2G0rbhzJRMujEJnqeGYYv2G-a90pLL6AOS0gp+w@mail.gmail.com> (raw)
In-Reply-To: <20130608164902.GA3109@elie.Belkin>

On Sat, Jun 8, 2013 at 11:49 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Duy Nguyen wrote:
>
>> libgit.a is just a way of grouping a bunch of objects together, not a
>> real library and not meant to be. If you aim something more organized,
>> please show at least a roadmap what to move where.
>
> Exactly.  There are some rough plans I would like to help with in the
> direction of a more organized source tree (so "ls" output can be less
> intimidating --- see Nico Pitre's mail on this a while ago for more
> hints), but randomly moving files one at a time to builtin/ destroys
> consistency and just makes things *worse*.  So if you'd like to work
> on this, you'll need to start with a description of the endpoint, to
> help people work with you to ensure it is something consistent and
> usable.

So lets stash everything together.

--- a/Makefile
+++ b/Makefile
@@ -990,6 +990,8 @@ BUILTIN_OBJS += builtin/verify-pack.o
 BUILTIN_OBJS += builtin/verify-tag.o
 BUILTIN_OBJS += builtin/write-tree.o

+LIB_OBJS += $(BUILTIN_OBJS)
+
 GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
 EXTLIBS =

@@ -1712,9 +1714,9 @@ git.sp git.s git.o: EXTRA_CPPFLAGS = \
        '-DGIT_MAN_PATH="$(mandir_relative_SQ)"' \
        '-DGIT_INFO_PATH="$(infodir_relative_SQ)"'

-git$X: git.o GIT-LDFLAGS $(BUILTIN_OBJS) $(GITLIBS)
+git$X: git.o GIT-LDFLAGS $(GITLIBS)
        $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ git.o \
-               $(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)
+               $(ALL_LDFLAGS) $(LIBS)

 help.sp help.s help.o: common-cmds.h

@@ -1892,7 +1894,7 @@ VCSSVN_OBJS += vcs-svn/svndiff.o
 VCSSVN_OBJS += vcs-svn/svndump.o

 TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS))
-OBJECTS := $(LIB_OBJS) $(BUILTIN_OBJS) $(PROGRAM_OBJS) $(TEST_OBJS) \
+OBJECTS := $(LIB_OBJS) $(PROGRAM_OBJS) $(TEST_OBJS) \
        $(XDIFF_OBJS) \
        $(VCSSVN_OBJS) \
        git.o

And stop any delusions that libgit.a has any meaning at all, and along
the way get rid of any hopes of ever having an official public library
similar to libgit2.

> Actually, Felipe, I doubt that would work well.  This project requires
> understanding how a variety of people use the git source code, which
> requires listening carefully to them and not alienating them so you
> can find out what they need.

My patch covers every need. Nobody has come forward with a reason not
to organize the object files. Everything works after my patch the same
way it has worked before.

> Someone good at moderating a discussion
> could do that on-list, but based on my experience of how threads with
> you go, a better strategy might be to cultivate a wiki page somewhere
> with a plan and give it some time (a month, maybe) to collect input.

This has nothing to do with better strategy, it has everything to do
with gut feelings and tradition. Not reasons.

> NAK to changing the meaning of builtin/ to "built-in commands, plus
> sequencer", which seriously hurts consistency.

Then apply the patch above and stop wasting our time with a "library".
Git is nothing but a bunch of disorganized object files, all squashed
together, there's no library, nor will ever be; libgit.a is a
misnomer.

-- 
Felipe Contreras

  reply	other threads:[~2013-06-08 17:07 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-07 22:16 [PATCH 0/2] Move sequencer Felipe Contreras
2013-06-07 22:16 ` [PATCH 1/2] log-tree: remove dependency from sequencer Felipe Contreras
2013-06-07 22:16 ` [PATCH 2/2] Move sequencer to builtin Felipe Contreras
2013-06-08  2:35   ` Duy Nguyen
2013-06-08 10:14     ` Felipe Contreras
2013-06-08 11:42       ` Duy Nguyen
2013-06-08 12:25         ` Felipe Contreras
2013-06-08 12:34           ` Duy Nguyen
2013-06-08 12:55             ` Ramkumar Ramachandra
2013-06-08 13:15               ` Duy Nguyen
2013-06-08 13:32                 ` Felipe Contreras
2013-06-08 13:34                 ` Ramkumar Ramachandra
2013-06-08 14:10                   ` Felipe Contreras
2013-06-08 14:10                   ` Duy Nguyen
2013-06-08 14:20                     ` Felipe Contreras
2013-06-09  4:34                       ` Jeff King
2013-06-09  9:58                         ` Ramkumar Ramachandra
2013-06-09 17:55                           ` Jeff King
2013-06-09 18:06                             ` Ramkumar Ramachandra
2013-06-09 18:11                               ` Felipe Contreras
2013-06-09 18:22                               ` Jeff King
2013-06-09 18:29                                 ` Felipe Contreras
2013-06-09 18:44                                 ` Ramkumar Ramachandra
2013-06-09 18:49                                   ` Jeff King
2013-06-09 18:54                                     ` Felipe Contreras
2013-06-09 18:07                             ` Felipe Contreras
2013-06-09 12:09                         ` Felipe Contreras
2013-06-08 13:28             ` Felipe Contreras
2013-06-08 16:49         ` Jonathan Nieder
2013-06-08 17:06           ` Felipe Contreras [this message]
2013-06-08 17:34             ` Jonathan Nieder
2013-06-08 17:44               ` Felipe Contreras
2013-06-08 19:15               ` Felipe Contreras
2013-06-09  1:40                 ` Jonathan Nieder
2013-06-09  2:17                   ` Felipe Contreras
2013-06-09  3:21                     ` Jonathan Nieder
2013-06-09  3:34                       ` Felipe Contreras
2013-06-09  5:26                     ` Jeff King
2013-06-09 12:15                       ` Felipe Contreras
2013-06-09 17:40                         ` Jeff King
2013-06-09 18:01                           ` Felipe Contreras
2013-06-09 18:10                             ` Jeff King
2013-06-09 18:16                               ` Felipe Contreras
2013-06-09 19:11                                 ` Johan Herland
2013-06-09 19:29                                   ` Felipe Contreras
2013-06-09 21:42                                   ` Michael Haggerty
2013-06-09 23:40                                     ` Stefano Lattarini
2013-06-10  5:15                                       ` Felipe Contreras
2013-06-10  9:05                                         ` Bad attitudes and problems in the Git community (was: Re: [PATCH 2/2] Move sequencer to builtin) Stefano Lattarini
2013-06-10 16:58                                           ` Felipe Contreras
2013-06-10 18:11                                             ` Martin von Zweigbergk
2013-06-10 18:33                                               ` Martin Langhoff
2013-06-10 18:40                                                 ` Martin von Zweigbergk
2013-06-10 21:34                                               ` Felipe Contreras
2013-06-10  5:12                                     ` [PATCH 2/2] Move sequencer to builtin Felipe Contreras
2013-06-11  9:18                             ` Andres Freund
2013-06-11  9:29                               ` Felipe Contreras
2013-06-20 21:11                                 ` Thiago Farina
2013-06-09 17:53                         ` Thomas Rast
2013-06-09 18:03                           ` Felipe Contreras
2013-06-09 12:48                       ` Ramkumar Ramachandra
2013-06-09 13:08                         ` Felipe Contreras
2013-06-09 18:04                         ` Jeff King
2013-06-09 18:32                           ` Ramkumar Ramachandra
2013-06-09 18:45                             ` Jeff King
2013-06-09 19:57                               ` Jonathan Nieder
2013-06-09 20:07                                 ` Felipe Contreras
2013-06-09 20:34                                 ` Ramkumar Ramachandra
2013-06-09 21:39                               ` Junio C Hamano
2013-06-10  5:06                                 ` Felipe Contreras
2013-06-10  8:32                                   ` Junio C Hamano
2013-06-10 16:53                                     ` Felipe Contreras
2013-06-10 16:55                                       ` Felipe Contreras
2013-06-10 17:34                                       ` Matthieu Moy
2013-06-10 18:09                                         ` Ramkumar Ramachandra
2013-06-10 21:43                                         ` Felipe Contreras
2013-06-09 18:48                             ` Felipe Contreras
2013-06-09 19:25                             ` Thomas Rast
2013-06-09 19:54                               ` Ramkumar Ramachandra
2013-06-09 20:02                                 ` Felipe Contreras
2013-06-08  3:35 ` [PATCH 0/2] Move sequencer Ramkumar Ramachandra
2013-06-08 10:26   ` Felipe Contreras

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=CAMP44s06DaV2G0rbhzJRMujEJnqeGYYv2G-a90pLL6AOS0gp+w@mail.gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=artagnon@gmail.com \
    --cc=drafnel@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=pclouds@gmail.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).