From: Marek Zawirski <marek.zawirski@gmail.com>
To: robin.rosenberg@dewire.com, spearce@spearce.org
Cc: git@vger.kernel.org, Marek Zawirski <marek.zawirski@gmail.com>
Subject: [EGIT PATCH 3/6] Handle null remoteName in RefSpecPanel better
Date: Wed, 27 Aug 2008 20:41:43 +0200 [thread overview]
Message-ID: <1219862506-11075-4-git-send-email-marek.zawirski@gmail.com> (raw)
In-Reply-To: <1219862506-11075-3-git-send-email-marek.zawirski@gmail.com>
Create more sensible "all branches" ref spec
(refs/remotes/choose_remote_name/*), and don't use RemoteConfig
contructor with null remoteName value, as this behavior is unspecified.
Signed-off-by: Marek Zawirski <marek.zawirski@gmail.com>
---
.../src/org/spearce/egit/ui/UIText.java | 3 ++
.../egit/ui/internal/components/RefSpecPanel.java | 30 +++++++++++++------
.../src/org/spearce/egit/ui/uitext.properties | 1 +
3 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/UIText.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/UIText.java
index b45d2e9..2bbe218 100644
--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/UIText.java
+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/UIText.java
@@ -182,6 +182,9 @@
public static String RefSpecPanel_refChooseSomeWildcard;
/** */
+ public static String RefSpecPanel_refChooseRemoteName;
+
+ /** */
public static String RefSpecPanel_clickToChange;
/** */
diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefSpecPanel.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefSpecPanel.java
index de82480..a2661ae 100644
--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefSpecPanel.java
+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefSpecPanel.java
@@ -413,14 +413,18 @@ public void setAssistanceData(final Repository localRepo,
}
try {
- final RemoteConfig rc = new RemoteConfig(localDb.getConfig(),
- remoteName);
- if (pushSpecs)
- predefinedConfigured = rc.getPushRefSpecs();
- else
- predefinedConfigured = rc.getFetchRefSpecs();
- for (final RefSpec spec : predefinedConfigured)
- addRefSpec(spec);
+ if (remoteName == null)
+ predefinedConfigured = Collections.emptyList();
+ else {
+ final RemoteConfig rc = new RemoteConfig(localDb.getConfig(),
+ remoteName);
+ if (pushSpecs)
+ predefinedConfigured = rc.getPushRefSpecs();
+ else
+ predefinedConfigured = rc.getFetchRefSpecs();
+ for (final RefSpec spec : predefinedConfigured)
+ addRefSpec(spec);
+ }
} catch (URISyntaxException e) {
predefinedConfigured = null;
ErrorDialog.openError(panel.getShell(),
@@ -432,9 +436,15 @@ public void setAssistanceData(final Repository localRepo,
updateAddPredefinedButton(addConfiguredButton, predefinedConfigured);
if (pushSpecs)
predefinedBranches = Transport.REFSPEC_PUSH_ALL;
- else
+ else {
+ final String r;
+ if (remoteName == null)
+ r = UIText.RefSpecPanel_refChooseRemoteName;
+ else
+ r = remoteName;
predefinedBranches = new RefSpec("refs/heads/*:refs/remotes/" //$NON-NLS-1$
- + remoteName + "/*"); //$NON-NLS-1$
+ + r + "/*"); //$NON-NLS-1$
+ }
updateAddPredefinedButton(addBranchesButton, predefinedBranches);
setEnable(true);
}
diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/uitext.properties b/org.spearce.egit.ui/src/org/spearce/egit/ui/uitext.properties
index 7fcc77b..c2b91f7 100644
--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/uitext.properties
+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/uitext.properties
@@ -116,6 +116,7 @@ RefSpecPanel_predefinedTagsDescription=Add specification covering all tags.
RefSpecPanel_push=push
RefSpecPanel_refChooseSome=choose/some/ref
RefSpecPanel_refChooseSomeWildcard=choose/some/ref/*
+RefSpecPanel_refChooseRemoteName=choose_remote_name
RefSpecPanel_removeAll=Remove all specs
RefSpecPanel_removeAllDescription=Remove all speficications.
RefSpecPanel_removeDescription=Click to remove this specification.
--
1.5.6.3
next prev parent reply other threads:[~2008-08-27 18:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-27 18:41 [EGIT PATCH 0/6] Fetch UI, minor improvements/fixes Marek Zawirski
2008-08-27 18:41 ` [EGIT PATCH 1/6] Reduce PushOperationResult contructor visibility, accept null instead Marek Zawirski
2008-08-27 18:41 ` [EGIT PATCH 2/6] Fix RefSpecPanel to not display mode column in fetch version Marek Zawirski
2008-08-27 18:41 ` Marek Zawirski [this message]
2008-08-27 18:41 ` [EGIT PATCH 4/6] Add tag fetching strategy selection to fetch version of RefSpecPage Marek Zawirski
2008-08-27 18:41 ` [EGIT PATCH 5/6] Rename ResultDialog to PushResultDialog Marek Zawirski
2008-08-27 18:41 ` [EGIT PATCH 6/6] Fetch GUI Marek Zawirski
2008-08-27 19:48 ` [EGIT PATCH 0/6] Fetch UI, minor improvements/fixes Robin Rosenberg
2008-08-27 20:09 ` Marek Zawirski
2008-08-27 21:51 ` 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=1219862506-11075-4-git-send-email-marek.zawirski@gmail.com \
--to=marek.zawirski@gmail.com \
--cc=git@vger.kernel.org \
--cc=robin.rosenberg@dewire.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).