From: Robin Rosenberg <robin.rosenberg.lists@dewire.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: Marek Zawirski <marek.zawirski@gmail.com>, git@vger.kernel.org
Subject: Re: [EGIT PATCH 1/2] Add utilities for figuring out repositories for selected resources
Date: Tue, 2 Sep 2008 20:53:35 +0200 [thread overview]
Message-ID: <200809022053.35419.robin.rosenberg.lists@dewire.com> (raw)
In-Reply-To: <20080902150323.GC28704@spearce.org>
tisdagen den 2 september 2008 17.03.23 skrev Shawn O. Pearce:
> Robin Rosenberg <robin.rosenberg@dewire.com> wrote:
> > We want to go from selected resources to repositories and back
> > to any resource in those repositories
> ...
> > + protected Repository[] getRepositoriesFor(final IProject[] projects) {
> > + Set<Repository> ret = new HashSet<Repository>();
> > + for (IProject project : projects) {
> > + RepositoryMapping repositoryMapping = RepositoryMapping.getMapping(project);
> > + if (repositoryMapping == null)
> > + return new Repository[0];
> > + ret.add(repositoryMapping.getRepository());
> > + }
>
> Hmm. So if any one of the selected projects doesn't have a Git
> repository at its top level we just plain fail and pretend none of
> them have a Git repository? That doesn't seem right to me. We
> should just skip that project and move to another project.
That is the way everything in Eclipse work. For an operation to be applicable
to a selection, it must be applicable to eache element. Yes, I get annoyed
at that sometimes myself, but that doesn't convince me we should be
the one plugin that breaks the pattern.
Actually what happens is that the whole action gets disabled if all projects
do not satisfy the criteria.
> But I also wonder if that really makes sense when a project could
> have a linked resource under it that points to the repository's
> working directory. In such cases we want operations on that project
> to potentially impact the inner repository as maybe the project
> repository does not have a repository itself. IOW I'm questioning
> the idea of getRepositoriesFor(getProjectsForSelectedResources()).
Ouch for linked resources. I really think we should ignore the link as much
as we can. It's a trap! I any way it needs more fixing that this and not
only here. A patch does not have to solve all problems in the world :)
I have no experience with linked resources, other that I found them enough
awkward to use to prevent from doing that. How useful and portable is
a C:\foo on my system? I don't mind anyone solving the problem, but it is
very low on my personal agenda.
-- robin
next prev parent reply other threads:[~2008-09-02 18:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-31 9:38 [EGIT PATCH] Select all changes in repository for commit by default Robin Rosenberg
2008-08-31 9:38 ` [EGIT PATCH 1/2] Add utilities for figuring out repositories for selected resources Robin Rosenberg
2008-08-31 9:38 ` [EGIT PATCH 2/2] Enable commit for any resource in a Git-shared project Robin Rosenberg
2008-09-02 15:03 ` [EGIT PATCH 1/2] Add utilities for figuring out repositories for selected resources Shawn O. Pearce
2008-09-02 18:53 ` Robin Rosenberg [this message]
2008-09-02 19:00 ` Shawn O. Pearce
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=200809022053.35419.robin.rosenberg.lists@dewire.com \
--to=robin.rosenberg.lists@dewire.com \
--cc=git@vger.kernel.org \
--cc=marek.zawirski@gmail.com \
--cc=spearce@spearce.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 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 NNTP newsgroup(s).