git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Will Palmer <wmpalmer@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: rfc - Changing the way gitk and git-gui are managed
Date: Fri, 23 Jul 2010 07:54:58 +0100	[thread overview]
Message-ID: <1279868098.2846.45.camel@dreddbeard> (raw)
In-Reply-To: <7vocdygbw0.fsf@alter.siamese.dyndns.org>

On Thu, 2010-07-22 at 19:39 -0700, Junio C Hamano wrote:
> Somebody off-list suggested removing gitk and git-gui directories from my
> repository and I've been playing with the idea and kind of like the end
> result.
...snip...
> 
> I am wondering what people think.
...snip...

I really like the idea of using submodules, though only so that they
will almost certainly get the UI attention they deserve. Indeed, in my
mind that attention is needed enough that this sort of switch shouldn't
be made until it's been given for a while.

The problem is that, unlike so much of git, submodules make themselves
known. They're loud, they're in the way, they require management to
work. Case in point:
"Switching from 1.7.2 to this tree will of course give you a tree
without gitk and git-gui (nothing a simple "git submodule init/update"
cannot fix)"

So already in order to build a working git again, someone needs to
manually run some extra commands, which could potentially (but not
necessarily) download a bunch of objects they already have. Basic
operations like switching branches, get an extra (and easily overlooked)
burden, to which there is sometimes no obvious solution Ouch.

I've always hated how clunky and non-transparent submodules are. There
are some serious issues which would need to be worked out in order to
make them more transparent (not the least of which is "to be
transparent, where do you put the extra data, and when do you put it
there / when do you remove it?". I do wish that these issues would get
resolved, and it's hard to give them the attention they need because [I
assume, like me] the people who don't like them simply avoid using
submodules, as "just track everything" just sounds more like the git
way.

Git is simple. It's easy to understand because of some simple
assumptions and definitions. Submodules are less-simple. There are a lot
of edge-cases and a lot of not-so-edge cases which need to be looked out
for in order to make them sane. Handling the tricky-but-common cases by
putting it on the user to always hand-hold the VCS is stupid and broken.

What do people really want which a move to submodules would get them?
  - Sub-Projects can obviously be developed separately (no need to clone
all of git in order to work on gitk, for example)
  - Merges that make more sense, since you don't need to pass special
"subtree" options, all you need to do is update the commit which gitk
points to. This ignores that merges across the submodule/subtree
boundary will not work, and similarly changes which span submodules have
no way of being blamed or sanely merged.

It certainly doesn't help that whenever I think about "how to fix
submodules", the more I think about them, the less I think they make any
sense at all. [rant deleted]

Put me down as: I've wanted to use submodules in the past, and I like
the idea of using them in the future, but I've yet to be at the point
where I wanted to use submodules "now".

-- 
-- Will

  parent reply	other threads:[~2010-07-23  6:55 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-23  2:39 rfc - Changing the way gitk and git-gui are managed Junio C Hamano
2010-07-23  4:04 ` Sverre Rabbelier
2010-07-23  6:16   ` Avery Pennarun
2010-07-27  5:30     ` Jeff King
2010-07-27  5:42       ` Avery Pennarun
2010-07-27  5:46         ` Jeff King
2010-07-27 10:28       ` Jakub Narebski
2010-07-23  6:54 ` Will Palmer [this message]
2010-07-25 10:44   ` Sam Vilain
2010-07-23 19:18 ` Greg Troxel
2010-07-24 11:02 ` Nicolas Sebrecht
2010-07-24 12:54   ` Jonathan Nieder
2010-07-24 12:57     ` Jonathan Nieder
2010-07-24 14:00     ` Nicolas Sebrecht
2010-07-24 17:22       ` Jonathan Nieder
2010-07-24 19:18     ` Avery Pennarun
2010-07-24 19:34       ` Jonathan Nieder
2010-07-25  4:11         ` Avery Pennarun

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=1279868098.2846.45.camel@dreddbeard \
    --to=wmpalmer@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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).