That's the final series for one of my core tasks for GSoC: GUI related stuff. Little late, but it required lot of polishing. Traditionally, it's also available at http://repo.or.cz/w/egit/zawir.git?a=shortlog;h=refs/heads/push But wait... this time it was pushed from Eclipse! ;) The series consists of few parts: 1) Various small fixes and improvements to jgit. 2) Lot of refactor, fixes, improvements in Git Clone Wizard. 3) Push GUI with some general purpose components. (more in commit messages) Fetch GUI is not implemented yet, although with this Eclipse-experience and new stuff available in .components, I suspect it we'll be *much* much easier to do it than this push GUI, so I may try to do it as well, especially if you enjoy this one. I'm just starting working on that. Changes in plugin were tested on Eclipse 3.4 at Linux, Windows XP and partially at MacOS 10.4 (there are some issues that makes it looking worse there, one very annoying bug is reported to Eclipse' bugzilla). I'm now using mostly Eclipse 3.4, but I've tried to use up to 3.3 API. Shawn also tried this code at Eclipse 3.3 on OS X 10.5, at least up to some stage. Comments regarding this GUI are welcome, I hope that yet another mind can bring some ideas. Recently (few days ago), Shawn brought some great idea of making Eclipse view for results of operations on remote (fetch, push) instead of dialog. That would be cool, although unfortunatelly it was too late for me to do it - to change project at this stage. I've got some problem with icons right now, as I'm pretty far from stating that I'm good at doing that sort of art. Robin, Tor, I know that you were already contributing some graphics to egit. If someone of you would like to do some icon for push/fetch with pleasure, you are welcome. Otherwise I'll have to do some crappy icon instead ;) Another matter are checkboxes screenshots. I'm not sure about legality status of including them. Any ideas if/how we co use them or some another set that we can for sure? Although that's last big portion of code during this GSoC from me, I may send some smaller things in next 2 days or fix this stuff if needed. Have fun with push;> Marek / zawir Marek Zawirski (31): Fix Repository.mapObject() for missing objects Fix Repository isValidRefName() for empty names Fix Repository.resolve() to not throw runtime exceptions Document/fix Transport open method for specific case Fix RefSpec javadoc regarding spec expanding Make wildcard checking public in RefSpec Add openAll() and applyConfig() methods to Transport Add dryRun option to Transport and console push Extract Transport findRemoteRefUpdatesFor() as static method Improve javadoc of Transport push() Clean up exception issues in RemoteRefUpdate Add another RemoteRefUpdate constructor, useful for 2-stage push Add getAllRemoteConfigs() to RemoteConfig Add setFetchRefSpecs and setPushRefSpecs to RemoteConfig Add simple abbreviate() method to ObjectId Remove debug/test console output from GitIndex Fix typo in uitext.properties message Refactor/rewrite CloneSourcePage to universal RepositorySelectionPage Clone wizard and related: refactor, clean-up, fixes or improvements Move clone logic away from GitCloneWizard to CloneOperation Add canCreateSubdir() heuristic in CloneDestinationPage Set FileDialog selection appropriately in clone wizard Allow selecting empty dir in clone wizard Clone wizard: force dir to suggested path only if repo selection change Create ListRemoteOperation for listing remote repo branches Make Clone's SourceBranchPage more user-friendly Add few EPL Eclipse icons Checkbox images/screenshots Universal GUI for specifications edition: RefSpecPanel and related Add PushOperation to plugin Push GUI .../src/org/spearce/egit/core/CoreText.java | 18 + .../src/org/spearce/egit/core/coretext.properties | 8 + .../org/spearce/egit/core/op/CloneOperation.java | 129 ++- .../spearce/egit/core/op/ListRemoteOperation.java | 104 ++ .../org/spearce/egit/core/op/PushOperation.java | 148 ++ .../spearce/egit/core/op/PushOperationResult.java | 273 +++ .../egit/core/op/PushOperationSpecification.java | 82 + .../icons/checkboxes/disabled_checked.gif | Bin 0 -> 166 bytes .../icons/checkboxes/disabled_unchecked.gif | Bin 0 -> 125 bytes .../icons/checkboxes/enabled_checked.gif | Bin 0 -> 166 bytes .../icons/checkboxes/enabled_unchecked.gif | Bin 0 -> 157 bytes org.spearce.egit.ui/icons/elcl16/add.gif | Bin 0 -> 318 bytes org.spearce.egit.ui/icons/elcl16/clear.gif | Bin 0 -> 595 bytes org.spearce.egit.ui/icons/elcl16/delete.gif | Bin 0 -> 351 bytes org.spearce.egit.ui/icons/elcl16/trash.gif | Bin 0 -> 590 bytes org.spearce.egit.ui/plugin.properties | 3 + org.spearce.egit.ui/plugin.xml | 15 + .../src/org/spearce/egit/ui/UIIcons.java | 25 + .../src/org/spearce/egit/ui/UIText.java | 398 ++++- .../egit/ui/internal/actions/PushAction.java | 47 + .../ui/internal/clone/BranchChangeListener.java | 13 - .../ui/internal/clone/CloneDestinationPage.java | 165 ++- .../egit/ui/internal/clone/CloneSourcePage.java | 460 ----- .../egit/ui/internal/clone/GitCloneWizard.java | 92 +- .../egit/ui/internal/clone/SourceBranchPage.java | 327 ++-- .../ui/internal/components/BaseWizardPage.java | 58 + .../components/CenteredImageLabelProvider.java | 52 + .../internal/components/CheckboxLabelProvider.java | 138 ++ .../internal/components/ClickableCellEditor.java | 68 + .../internal/components/ComboLabelingSupport.java | 77 + .../ui/internal/components/RefContentProposal.java | 140 ++ .../egit/ui/internal/components/RefSpecPage.java | 237 +++ .../egit/ui/internal/components/RefSpecPanel.java | 1823 ++++++++++++++++++++ .../internal/components/RepositorySelection.java | 133 ++ .../components/RepositorySelectionPage.java | 663 +++++++ .../SelectionChangeListener.java} | 19 +- .../egit/ui/internal/push/ConfirmationPage.java | 211 +++ .../egit/ui/internal/push/PushResultTable.java | 327 ++++ .../spearce/egit/ui/internal/push/PushWizard.java | 250 +++ .../ui/internal/push/RefUpdateContentProvider.java | 62 + .../egit/ui/internal/push/RefUpdateElement.java | 67 + .../egit/ui/internal/push/ResultDialog.java | 65 + .../src/org/spearce/egit/ui/uitext.properties | 163 ++- .../src/org/spearce/jgit/pgm/Fetch.java | 10 +- .../src/org/spearce/jgit/pgm/Push.java | 55 +- .../src/org/spearce/jgit/pgm/TextBuiltin.java | 4 - .../src/org/spearce/jgit/lib/AnyObjectId.java | 15 + .../src/org/spearce/jgit/lib/GitIndex.java | 3 - .../src/org/spearce/jgit/lib/Repository.java | 64 +- .../src/org/spearce/jgit/lib/RepositoryConfig.java | 21 + .../org/spearce/jgit/transport/PushProcess.java | 18 +- .../src/org/spearce/jgit/transport/RefSpec.java | 29 +- .../org/spearce/jgit/transport/RemoteConfig.java | 50 + .../spearce/jgit/transport/RemoteRefUpdate.java | 40 +- .../src/org/spearce/jgit/transport/Transport.java | 283 +++- 55 files changed, 6471 insertions(+), 981 deletions(-) create mode 100644 org.spearce.egit.core/src/org/spearce/egit/core/op/ListRemoteOperation.java create mode 100644 org.spearce.egit.core/src/org/spearce/egit/core/op/PushOperation.java create mode 100644 org.spearce.egit.core/src/org/spearce/egit/core/op/PushOperationResult.java create mode 100644 org.spearce.egit.core/src/org/spearce/egit/core/op/PushOperationSpecification.java create mode 100644 org.spearce.egit.ui/icons/checkboxes/disabled_checked.gif create mode 100644 org.spearce.egit.ui/icons/checkboxes/disabled_unchecked.gif create mode 100644 org.spearce.egit.ui/icons/checkboxes/enabled_checked.gif create mode 100644 org.spearce.egit.ui/icons/checkboxes/enabled_unchecked.gif create mode 100644 org.spearce.egit.ui/icons/elcl16/add.gif create mode 100644 org.spearce.egit.ui/icons/elcl16/clear.gif create mode 100644 org.spearce.egit.ui/icons/elcl16/delete.gif create mode 100644 org.spearce.egit.ui/icons/elcl16/trash.gif create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/PushAction.java delete mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/clone/BranchChangeListener.java delete mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/clone/CloneSourcePage.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/BaseWizardPage.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/CenteredImageLabelProvider.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/CheckboxLabelProvider.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/ClickableCellEditor.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/ComboLabelingSupport.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefContentProposal.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefSpecPage.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefSpecPanel.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RepositorySelection.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RepositorySelectionPage.java rename org.spearce.egit.ui/src/org/spearce/egit/ui/internal/{clone/URIishChangeListener.java => components/SelectionChangeListener.java} (51%) create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/push/ConfirmationPage.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/push/PushResultTable.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/push/PushWizard.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/push/RefUpdateContentProvider.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/push/RefUpdateElement.java create mode 100644 org.spearce.egit.ui/src/org/spearce/egit/ui/internal/push/ResultDialog.java -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
| Andy Whitcroft | Re: 2.6.23-rc6-mm1 |
| Dave Johnson | expected behavior of PF_PACKET on NETIF_F_HW_VLAN_RX device? |
| Anton Salikhmetov | [PATCH -v8 2/4] Update ctime and mtime for memory-mapped files |
git: | |
| Stephen Hemminger | git pull for update of netdev fails. |
| pavlix | GIT push to sftp (feature request) |
| Wincent Colaiuta | Possible to make a totally empty repository for remote access? |
| Andrew Morton | Untracked working tree files |
| Richard Stallman | Real men don't attack straw men |
| Aaron W. Hsu | Re: sudo & wheel group |
| Jason Dixon | Wasting our Freedom |
| Alex Thurlow | Router performance on OpenBSD and OpenBGPD |
| Jeff Garzik | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Marc Pignat | Re: [PATCH] phylib: make mdio-gpio work without OF (v2) |
| Andrew Morton | Re: [Bugme-new] [Bug 11865] New: WOL for E100 Doesn't Work Anymore |
| Jeff Kirsher | [PATCH 1/3] e1000e: add support for the 82567LM-4 device |
| VPN's on NetBSD | 10 hours ago | NetBSD |
| Why does uClinux 2.6.18 bootup block SuperIO UART IRQs that BIOS configured | 11 hours ago | Linux kernel |
| USB statistics | 13 hours ago | Linux kernel |
| Block Sub System query | 17 hours ago | Linux kernel |
| kernel module to intercept socket creation | 18 hours ago | Linux kernel |
| Image size changing during each build | 19 hours ago | Linux kernel |
| Soft lock bug | 23 hours ago | Linux kernel |
| sysctl - dynamic registration problem | 1 day ago | Linux kernel |
| Question on swap as ramdisk partition | 1 day ago | Linux kernel |
| serial driver xmit problem | 1 day ago | Linux kernel |
