From: Jon Seymour <jon.seymour@gmail.com>
To: Petr Baudis <pasky@ucw.cz>
Cc: Git Mailing List <git@vger.kernel.org>,
Linus Torvalds <torvalds@osdl.org>
Subject: Re: Core and Not-So Core
Date: Wed, 11 May 2005 10:50:00 +1000 [thread overview]
Message-ID: <2cfc403205051017505b57da72@mail.gmail.com> (raw)
In-Reply-To: <20050510225235.GD26384@pasky.ji.cz>
On 5/11/05, Petr Baudis <pasky@ucw.cz> wrote:
> Dear diary, on Tue, May 10, 2005 at 05:00:33PM CEST, I got a letter
> where Jon Seymour <jon.seymour@gmail.com> told me that...
>
> Yes. And that's how it should be - the directory cache is just that - a
> _cache_.
No argument there.
> So unlike the objects database which has well-defined format and is
> supposed to be "public", you should view the directory cache as internal
> git tools' structure. If you want to mess with it too, either use the
> proper level of abstraction and call the git tools, or don't mess with
> it at all. And you need to care about it only if you want the git tools
> working on the same tree properly too - so in that case use the git
> tools too.
I agree in principle, though I'd like users to be able to easily
switch between the Eclipse and git tools view of the workspace if they
want to - who am I to say how a user should work? Eclipse does this
kind of thing quite well with CVS precisely because it shares the
workspace structures with the CVS command line tools rather than
"re-inventing" the wheel. Yes, separation of concerns has been lost
(two implementations of a CVS client), but the big win is that the
tools behave like the user wants them to behave.
The trickiest case here is when the user switches between toolsets
mid-merge. I guess what I can do is this:
user switch from eclipse -> to git-tools:
1. blow away existing git tools index
2. use git-read-tree to repeat the merge executed in eclipse (my
workspace will track parents)
3. use git-update-cache --add/--remove to reflect merge actions
that have occurred since the workspace deviated from the HEAD.
Alternatively, I can just make Eclipse reflect cache changing actions
out onto the git-tools, via an exec of those tools, as and when they
occur.
Making use of the git tools index going the other way isn't so easy to
achieve because the git tools workspace as it stands doesn't track the
merges that have occurred (i.e. which parents were used to form the
current cache). However, that's not necessarily a big problem. I just
rebuild my "cache" from scratch based on the merges I know about and
treat every other difference from the HEAD as a user edit to the
workspace.
>
> From your arguments, it's not clear to me what really is the big
> problem with the git tools. They are _designed_ for automatic use
> instead of human interaction - you can perceive them just as methods
> with funny (but actually friendly to your programs) calling convention.
>
I am not really arguing that there is a big problem with the existing
git tools. However, what I am arguing is that the existing workspace
tools are just one way to manage the workspace (Eclipse might be
another, as an example) and it would be helpful to keep this in mind,
particularly when/if libification ever happens.
jon.
next prev parent reply other threads:[~2005-05-11 0:43 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-10 15:00 Core and Not-So Core Jon Seymour
2005-05-10 15:38 ` David Woodhouse
2005-05-10 15:50 ` Eduardo Teixeira Dias
2005-05-10 16:00 ` David Woodhouse
2005-05-10 16:19 ` Eduardo Teixeira Dias
2005-05-10 21:45 ` Diego Calleja
2005-05-10 22:33 ` Eduardo Teixeira Dias
2005-05-10 23:03 ` Diego Calleja
2005-05-10 23:11 ` Horst von Brand
2005-05-10 22:33 ` Eduardo Teixeira Dias
2005-05-10 22:34 ` Eduardo Teixeira Dias
2005-05-10 22:44 ` Petr Baudis
2005-05-10 22:54 ` Andreas Gal
2005-05-10 23:04 ` James Purser
2005-05-11 7:17 ` Christoph Hellwig
2005-05-11 7:42 ` Jon Seymour
2005-05-10 16:22 ` Jon Seymour
2005-05-10 17:03 ` David Woodhouse
[not found] ` <2cfc403205051010151304d88a@mail.gmail.com>
2005-05-10 17:15 ` Jon Seymour
2005-05-10 17:25 ` David Woodhouse
2005-05-10 17:36 ` Jon Seymour
2005-05-10 17:41 ` Christoph Hellwig
[not found] ` <2cfc40320505101051207c9ce4@mail.gmail.com>
2005-05-10 17:51 ` Jon Seymour
2005-05-10 18:01 ` Davide Libenzi
2005-05-11 1:59 ` Rik van Riel
2005-05-11 2:09 ` Jon Seymour
2005-05-11 2:14 ` Petr Baudis
2005-05-10 22:18 ` Daniel Barkalow
[not found] ` <2cfc40320505101605721420@mail.gmail.com>
2005-05-10 23:05 ` Jon Seymour
2005-05-10 23:08 ` Petr Baudis
2005-05-10 23:20 ` Jon Seymour
2005-05-11 16:45 ` Daniel Barkalow
[not found] ` <2cfc403205051114087d283279@mail.gmail.com>
2005-05-11 21:09 ` Jon Seymour
2005-05-10 22:52 ` Petr Baudis
2005-05-11 0:50 ` Jon Seymour [this message]
2005-05-11 1:17 ` Peter Williams
2005-05-11 2:30 ` Nicolas Pitre
2005-05-11 3:02 ` Jon Seymour
2005-05-11 11:21 ` Noel Grandin
2005-05-11 14:40 ` Jon Seymour
2005-05-18 18:35 ` Juliusz Chroboczek
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=2cfc403205051017505b57da72@mail.gmail.com \
--to=jon.seymour@gmail.com \
--cc=git@vger.kernel.org \
--cc=jon@blackcubes.dyndns.org \
--cc=pasky@ucw.cz \
--cc=torvalds@osdl.org \
/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 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.