Bug 422139 - [Graphics] Move "org.eclipse.ui.images" to eclipse.platform.images git repo and rename to "org.eclipse.images"
Summary: [Graphics] Move "org.eclipse.ui.images" to eclipse.platform.images git repo a...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.3   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.6 M2   Edit
Assignee: Markus Keller CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 459291
Blocks: 468945
  Show dependency tree
 
Reported: 2013-11-20 08:39 EST by Lars Vogel CLA
Modified: 2015-09-09 10:09 EDT (History)
12 users (show)

See Also:


Attachments
Changes from old repo (113.72 KB, patch)
2015-09-08 20:40 EDT, Tony McCrary CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Vogel CLA 2013-11-20 08:39:19 EST
As suggested by Dani, we may want to move  "org.eclipse.ui.images" to the "eclipse.platform.common" git repo and rename it to "org.eclipse.sdk.images".
Comment 1 Lars Vogel CLA 2014-05-05 15:43:48 EDT
Tony can you prepare Gerrit reviews for this change? If I simply copy over the plug-ins and rename them, the image generator does not work anymore.
Comment 2 Dani Megert CLA 2014-05-06 05:55:55 EDT
There's no real benefit to make this move during RC*.
Comment 3 Lars Vogel CLA 2014-05-06 06:13:45 EDT
(In reply to Dani Megert from comment #2)
> There's no real benefit to make this move during RC*.

Sounds good to me, I thought that was requested by you. IIRC you requested that we move these bundles to the new repo before the 4.4. If that is not necessary, we can do this later.
Comment 4 Lars Vogel CLA 2014-07-03 16:46:57 EDT
Tony could you provide a Gerrit review to integrate the two plug-ins into the eclipse.platform.common repo?
Comment 5 David Williams CLA 2015-02-04 14:36:22 EST
And ... why is this being done? 

From just glancing at the Gerrit change, it seems that some, such as "ant ui" would not really be "common". 

I'm sure I missed the original conversation (and contexts) so it might be desired ... just not clear what problem is being solved.
Comment 6 Lars Vogel CLA 2015-02-04 14:40:00 EST
David, the idea is to have a common place for all svg graphics of the different projects, at the moment we have PDE, ant, JDT and platform.ui but the project should be open for others.
Comment 7 Dani Megert CLA 2015-02-04 15:32:23 EST
(In reply to Lars Vogel from comment #6)
> David, the idea is to have a common place for all svg graphics of the
> different projects, at the moment we have PDE, ant, JDT and platform.ui but
> the project should be open for others.

Maybe the best is to have a separate repo? Otherwise we pollute everyone who just wants to contribute/write doc.
Comment 8 David Williams CLA 2015-02-04 16:09:21 EST
(In reply to Dani Megert from comment #7)
> (In reply to Lars Vogel from comment #6)
> > David, the idea is to have a common place for all svg graphics of the
> > different projects, at the moment we have PDE, ant, JDT and platform.ui but
> > the project should be open for others.
> 
> Maybe the best is to have a separate repo? Otherwise we pollute everyone who
> just wants to contribute/write doc.

Not sure that's needed -- "more repos" is often a hassle -- if the idea is to have these images in one "resource only" bundle, and all other bundles refer to it. And if "images" are more open, not sure why "all docs" would not be more open. 

(In reply to Lars Vogel from comment #6)
> David, the idea is to have a common place for all svg graphics of the
> different projects, at the moment we have PDE, ant, JDT and platform.ui but
> the project should be open for others.

"open for others"? So, who gets commit rights there? Not sure why submissions could not be made "a cross projects" via Gerrit. I'd think the "component owners" would always want to have a say and/or have to coordinate anyway?

[And, I can see both sides ... just playing devil's advocate, I guess, since it seems like a pretty big change, if the purpose is only to have "a different set of committers", but all bundles have to change how they "get" images/icons. And, could have "runtime" implications, in that some who make their own (small) products might end up shipping more images than they want or need. ... I assume this bundle isn't too large? Anyone estimated its size?].
Comment 9 Tony McCrary CLA 2015-02-04 16:24:23 EST
This is just for managing the image design work itself.

The various projects currently copy the images from this project into their constituent bundles.

I think putting it here makes more sense than being in the platform ui repo, as nothing uses these resources directly.
Comment 10 David Williams CLA 2015-02-04 16:30:02 EST
(In reply to Tony McCrary from comment #9)
> This is just for managing the image design work itself.
> 

Oh, ok ... I'm starting to catch up. :) 
Thanks,
Comment 11 David Williams CLA 2015-02-05 00:20:59 EST
(In reply to Tony McCrary from comment #9)
> This is just for managing the image design work itself.
> 
> The various projects currently copy the images from this project into their
> constituent bundles.
> 
> I think putting it here makes more sense than being in the platform ui repo,
> as nothing uses these resources directly.

BTW, given this, I think "separate repository" (as Dani suggested) make more sense.
Comment 12 Eclipse Genie CLA 2015-02-05 11:48:01 EST
Gerrit change submitted: https://git.eclipse.org/r/41098
Comment 13 Lars Vogel CLA 2015-02-06 04:40:42 EST
(In reply to David Williams from comment #11)
> BTW, given this, I think "separate repository" (as Dani suggested) make more
> sense.

Fine for me, IIRC the usage of common was Dani suggestion a while ago. I ask webmaster to create a new repository.
Comment 14 Lars Vogel CLA 2015-02-12 04:33:06 EST
(In reply to Eclipse Genie from comment #12)
> Gerrit change submitted: https://git.eclipse.org/r/41098

Based on the suggestion from Dani, we should use the new repo http://git.eclipse.org/c/platform/eclipse.images.git/ We still have to wait for the Gerrit activation via Bug 459291.
Comment 15 Lars Vogel CLA 2015-02-13 06:50:49 EST
Now that we have a new repository https://git.eclipse.org/c/platform/eclipse.images.git/ we should use this.

https://git.eclipse.org/c/platform/eclipse.images.git/

Tony, sorry for the repetitive work, but can you update your Gerrit review to target the new repository with the new name for the images bundles?
Comment 16 Lars Vogel CLA 2015-04-28 04:58:21 EDT
Tony, any update here?
Comment 17 Matthias Becker CLA 2015-08-31 03:51:43 EDT
The "new" repos still is empty. Will the stuff from the projects ecliplse.ui.images and eclipse.ui.images.renderer in eclipse.platform.ui repo still be moved into the new repo?
Comment 18 Eclipse Genie CLA 2015-08-31 15:14:19 EDT
WARNING: this patchset contains 701034 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 19 Tony McCrary CLA 2015-08-31 15:15:34 EDT
This change is just a move from eclipse.platform.ui.git to eclipse.images.git.

There are no new contributions, there are a some small changes like renaming plugins, poms, etc to reflect the new repository location.
Comment 21 Tony McCrary CLA 2015-08-31 15:30:20 EDT
The first step is done with change 54932.

I'm going to create a patch for removing the bundles at the original location in eclipse.platform.ui.
Comment 22 Eclipse Genie CLA 2015-08-31 16:09:40 EDT
New Gerrit change created: https://git.eclipse.org/r/54935
Comment 23 Lars Vogel CLA 2015-09-02 06:03:33 EDT
(In reply to Eclipse Genie from comment #22)
> New Gerrit change created: https://git.eclipse.org/r/54935

This change was abondaned. We need a new one.
Comment 24 Eclipse Genie CLA 2015-09-02 12:47:34 EDT
New Gerrit change created: https://git.eclipse.org/r/55120
Comment 26 Tony McCrary CLA 2015-09-02 13:26:32 EDT
The image bundles were moved to 

https://git.eclipse.org/c/platform/eclipse.images.git/

and have been removed from the eclipse.platform.ui repo.
Comment 27 Lars Vogel CLA 2015-09-03 01:15:47 EDT
(In reply to Tony McCrary from comment #26)
> The image bundles were moved to 
> 
> https://git.eclipse.org/c/platform/eclipse.images.git/
> 
> and have been removed from the eclipse.platform.ui repo.

Thanks Tony!
Comment 28 Markus Keller CLA 2015-09-04 15:36:26 EDT
Why can't this repo follow the naming conventions and be called eclipse.platform.images?

Why does the initial state in this repo not match the last state in the eclipse.platform.ui repo? E.g. the new /org.eclipse.ui.images/eclipse-png/org.eclipse.ant.ui/icons/full/elcl16/exportAnt_co.png is blurred again.

And I don't find it OK to drop all the history and just start with a new commit. 

eclipse.images.git should be removed.

A new eclipse.platform.images.git should be created that preserves history, e.g. like this: http://stackoverflow.com/a/17867910 .
Comment 29 Lars Vogel CLA 2015-09-04 15:38:06 EDT
(In reply to Markus Keller from comment #28)
> Why can't this repo follow the naming conventions and be called
> eclipse.platform.images?

Can you check this with Dani? I cannot say for sure but IIRC Dani suggested the name?
Comment 30 Tony McCrary CLA 2015-09-04 15:45:41 EDT
The pre-move history is still in the eclipse.platform.ui git repo if it's needed. Do we really need to recreate the new repo?
Comment 31 Tony McCrary CLA 2015-09-04 15:46:29 EDT
Also, the repository contains many icons from projects other than platform (JDT, etc).
Comment 32 Lars Vogel CLA 2015-09-04 15:57:18 EDT
(In reply to Tony McCrary from comment #30)
> The pre-move history is still in the eclipse.platform.ui git repo if it's
> needed. Do we really need to recreate the new repo?

I would think having the history in platform ui is sufficient, but I guess Markus would like to ensure that the icons are really the same. Tony, but why is Markus seeing different icons, especially incorrect icons like the blurry Ant icon? I assume his request for the history is related to the differences in icons. 

As the name of the repo was, according to my memory suggested by the PMC (Dani) I think we should be fine.
Comment 33 Tony McCrary CLA 2015-09-04 16:04:43 EDT
The ant icon is a special case where batik doesn't render it well. I rendered it in inkscape manually before the last release as a work around. It was probably overwritten during testing the new build. IIRC it's the only icon with that issue, I may look at recreating it for better batik support.

Moving forward we may want to look at splitting the icons into two projects, source and raster icons. That way the icons have to be manually copied into the raster bundle instead of possibly getting overwritten by the render mojo.
Comment 34 Lars Vogel CLA 2015-09-04 16:08:31 EDT
(In reply to Tony McCrary from comment #33)
> The ant icon is a special case where batik doesn't render it well. I
> rendered it in inkscape manually before the last release as a work around.
> It was probably overwritten during testing the new build. IIRC it's the only
> icon with that issue, I may look at recreating it for better batik support.
> 
> Moving forward we may want to look at splitting the icons into two projects,
> source and raster icons. That way the icons have to be manually copied into
> the raster bundle instead of possibly getting overwritten by the render mojo.

Sounds good to me. 

@Markus, do you still see a need to rename and / or keep the history? If yes, can you clarify that with PMC (Dani)?
Comment 35 Dani Megert CLA 2015-09-07 06:06:26 EDT
(In reply to Lars Vogel from comment #34)
> @Markus, do you still see a need to rename and / or keep the history? If
> yes, can you clarify that with PMC (Dani)?

The name was chosen because it also contains PDE and JDT images. org.eclipse.sdk.images would also work for me though.

The history needs to be preserved.


> Why does the initial state in this repo not match the last state in the
> eclipse.platform.ui repo?

I'd also like to know that.
Comment 36 Markus Keller CLA 2015-09-07 11:49:27 EDT
eclipse.platform.common also contains jdt and pde docs, and the eclipse.platform.releng and eclipse.platform.releng.aggregator repos also apply to the whole SDK. I know eclipse.platform.images is not fully correct, but following the naming convention makes releng tasks easier.

Preserving the history makes it easier to track problems and their solutions. It avoids any changes that happened "by accident" during the transition and it makes all changes transparent.
Comment 37 Dani Megert CLA 2015-09-07 12:26:28 EDT
(In reply to Markus Keller from comment #36)
> eclipse.platform.common also contains jdt and pde docs, and the
> eclipse.platform.releng and eclipse.platform.releng.aggregator repos also
> apply to the whole SDK. I know eclipse.platform.images is not fully correct,
> but following the naming convention makes releng tasks easier.

Fair enough. Lars, can you make that happen please. Thanks.
Comment 38 Lars Vogel CLA 2015-09-07 12:33:39 EDT
(In reply to Dani Megert from comment #37)
> Fair enough. Lars, can you make that happen please. Thanks.

Sometimes it almost feels like you two guys sitting in the same office. ;-)

I will ask Webmaster to redo his work, but it would be nice if this decision dance can be avoided in the future.
Comment 39 Markus Keller CLA 2015-09-07 12:54:48 EDT
I was curious to know what it takes to extract some folders into a org.eclipse.platform repo and started some experiments. Turned out Git on Cygwin with the cursed Symantec Encryption Desktop is unusably slow.

However, I think I got something very promising running on a Linux machine that should be done by tonight. I'll push the repo to the git.eclipse.org as soon as it's done and report back here. Webmaster can stay on hold this time.
Comment 40 Lars Vogel CLA 2015-09-07 13:02:32 EDT
(In reply to Markus Keller from comment #39)
> I'll push the repo to the git.eclipse.org as
> soon as it's done and report back here. Webmaster can stay on hold this time.

Didn't know we can also create Git repos directly. Great to know.
Comment 41 Markus Keller CLA 2015-09-07 20:28:19 EDT
OK, here's what I did:

$ git clone eclipse.platform.ui eclipse.platform.images
$ cd eclipse.platform.images
$ git filter-branch --tag-name-filter cat --index-filter 'git rm --cached -qr -- . && git reset -q $GIT_COMMIT -- bundles/org.eclipse.ui.images bundles/org.eclipse.ui.images.renderer' --prune-empty -- master

Unfortunately, this left some ugly branches at the beginning of the history. Removed those as well:

Create a new empty root commit:
$ git checkout --orphan root
$ git rm -rf bundles
$ git commit --allow-empty -m 'Repo created via Bug 422139: [Graphics] Move "org.eclipse.ui.images" to eclipse.platform.images git repo and rename to "org.eclipse.images"'

Create a temporary graft that replaces the parent of the first commit we want to keep (a2ad3fbf) with the new root commit (f2c157d); then filter the branch again:

$ echo "a2ad3fbf6a88aeeb945e7be7d5978f3785ffd716 f2c157d5170ae73f31d5d45197a140f2f665f30a" >> .git/info/grafts
$ git filter-branch -f --tag-name-filter cat -- f2c157d5170ae73f31d5d45197a140f2f665f30a..master

Then I removed unnecessary tags and the root branch, and moved/renamed the projects (including the names in the .projects files).

The new repo is available at
git://git.eclipse.org/gitroot/platform/eclipse.platform.images.git
Comment 42 Matthias Becker CLA 2015-09-08 11:00:41 EDT
My changes:
- https://git.eclipse.org/r/#/c/54950/
- https://git.eclipse.org/r/#/c/54951/
are lost in the new eclipse.platform.images repo. :-(

How do we get them back?
Comment 43 Tony McCrary CLA 2015-09-08 11:06:26 EDT
You could cherry pick your commits to push the changes to the new repo: https://wiki.eclipse.org/EGit/User_Guide#Cherry_Picking

But perhaps it'd be best to wait a little bit in the event the repo is recreated or moved again. ;)
Comment 44 Markus Keller CLA 2015-09-08 13:12:12 EDT
The new repo is done and can be used. It preserves the history and is very unlikely to be recreated or moved again. Sorry for having crashed the party.

Tony: I just extracted the projects and their history from the ui repo. I didn't add the top-level pom.xml nor the other top-level files/folders because I don't don't have m2e installed and I'm sure I would have messed up at least the pom.xml if I tried to guess the necessary changes.

Feel free to commit these files again whenever you want. You can also re-commit the other changes in sources, but you should not commit the bad Ant icons again. I agree that the current process makes it too easy to accidentally override these icons.

(In reply to Tony McCrary from comment #33)
> Moving forward we may want to look at splitting the icons into two projects,
> source and raster icons. That way the icons have to be manually copied into
> the raster bundle instead of possibly getting overwritten by the render mojo.

Yes, or you could just move the affected SVG files to a separate folder, so that the icons are not automatically generated, or at least not into the eclipse-png/<project-name> folder.


Cherry-picking into another repo is not trivial. The easiest would be to create a patch and apply it to the new repo. However, I guess Tony will just
- rename the old projects from the eclipse.images repo
- check out the new projects
- rename the org.eclipse.ui.images.renderer package (remove the 'ui')
- compare the old with the respective new project and copy over the relevant changes
Comment 45 Tony McCrary CLA 2015-09-08 14:09:05 EDT
So why did you create the new repo, then rename the bundles the wrong name that *you* complained about and then leave the *old* platform.ui name for all of the files?
Comment 46 Markus Keller CLA 2015-09-08 15:35:41 EDT
(In reply to Tony McCrary from comment #45)
> So why did you create the new repo

- To preserve the Git history.
- To give the repo a better name (all repos in /gitroot/platform/ start with eclipse.platform).

> then rename the bundles the wrong name
> that *you* complained about

I did not complain about the bundle names. Only about the repo name and the lost history that makes it hard to track changes. The new bundle names org.eclipse.images and org.eclipse.images.renderer are fine for me.

> and then leave the *old* platform.ui name for
> all of the files?

I thought it's easier if I commit the bundle renames right away, including the rename in the .project files that was missing in the eclipse.images.git repo. The Eclipse import wizard uses that name, and seeing an org.eclipse.*ui*.images project from the new repo was highly confusing. Regarding the contents of the bundles, I just left what was in the old repo.

If you want, I can also copy over the other changes you applied to the eclipse.images.git repo. Except for the new png files and all the *.swp *~ and "* -Copy.* etc. files that your initial commit contained. Those files would have been easy to notice if they came in through a normal commit, but they also went under Lars' radar because they were hidden in a hard-to-review "initial" commit.

Dani: Can you confirm the org.eclipse.images[.renderer] project names?
Comment 47 Tony McCrary CLA 2015-09-08 20:40:12 EDT
Created attachment 256453 [details]
Changes from old repo

This patch adds back in the latest changes from the first images repo, Bug 476272 and Bug 422139.
Comment 48 Tony McCrary CLA 2015-09-08 20:42:20 EDT
Gerrit doesn't seem to work for the new git repo, so add more wasted time for this endeavor. :(
Comment 49 Lars Vogel CLA 2015-09-09 01:23:45 EDT
(In reply to Tony McCrary from comment #48)
> Gerrit doesn't seem to work for the new git repo, so add more wasted time
> for this endeavor. :(

Created Bug 476931 for the enablement of Gerrit for this new repo.
Comment 50 Dani Megert CLA 2015-09-09 06:14:45 EDT
(In reply to Markus Keller from comment #46)
> Dani: Can you confirm the org.eclipse.images[.renderer] project names?

+1.
Comment 51 Markus Keller CLA 2015-09-09 08:18:30 EDT
(In reply to Tony McCrary from comment #47)
> Created attachment 256453 [details] [diff]
> Changes from old repo
> 
> This patch adds back in the latest changes from the first images repo, Bug
> 476272 and Bug 422139.

I fixed formatting issues (especially in the header comments) of:
/org.eclipse.images.renderer/pom.xml
/org.eclipse.images/pom.xml

Please avoid using tools that format header comments (or tell them that's bad).

Fixed with http://git.eclipse.org/c/platform/eclipse.platform.images.git/commit/?id=fbcf26553bf5db3d163806c8f73b9724eb950747


(In reply to Matthias Becker from comment #42)
> - https://git.eclipse.org/r/#/c/54951/
Fixed with http://git.eclipse.org/c/platform/eclipse.platform.images.git/commit/?id=e96ee19a45c68315b1af87d77143f5c4f20b64ed
Comment 52 Matthias Becker CLA 2015-09-09 10:09:15 EDT
Thanks.