Skip to content
This repository has been archived by the owner on Dec 21, 2021. It is now read-only.

Reduce the size of the project #10

Closed
zenorocha opened this issue Aug 9, 2012 · 4 comments
Closed

Reduce the size of the project #10

zenorocha opened this issue Aug 9, 2012 · 4 comments

Comments

@zenorocha
Copy link
Contributor

Now Alloy have 749.2 MB of files.

  • api/ - 128.3 MB
  • build/ - 26.9 MB
  • demos/ - 3 MB
  • docs/ - 54 KB
  • lib/ - 16 KB
  • resources/ - 2 MB
  • sandbox/ - 66.7 MB
  • src/ - 2 MB

The real problem is on .git folder, that have 520.1 MB of files.

We need to discuss the best approach to reduce this.

@alisqi
Copy link

alisqi commented Oct 29, 2012

I can't even do a checkout of the repo!

$ git clone git://github.com/liferay/alloy-ui.git
Cloning into 'alloy-ui'...
remote: Counting objects: 78515, done.
remote: Compressing objects: 100% (18071/18071), done.
remote: Total 78515 (delta 57345), reused 78054 (delta 56979)
Receiving objects: 100% (78515/78515), 503.46 MiB | 1.58 MiB/s, done.
error: index-pack died of signal 95)
fatal: index-pack failed

YUI3's git repository (the .git directory) is just 148MB, so something is terribly wrong here :)

Have you tried (aggressive) garbage collection?

You could move api, demos and sandbox/ into different repositories.
Since api is derived from src, there's no need to use version control at all.

@natecavanaugh
Copy link
Contributor

Hi Jeroen,
I'm not sure why you can't do a checkout. That is quite strange.

However, if you don't care about having all of the history, you can do:
git clone --depth 1 git://github.com/liferay/alloy-ui.git

You can change depth to being whatever you want it to be (the higher the entry, the more commit entries you'll get).

We have done aggressive garbage collection, but that actually won't fix anything, since garbage collection runs locally.
The problem/benefit with git is that the repo size is because of the history of everything that was ever committed.
This repo used to be on Subversion, and since we didn't have git modules, we stored YUI as a zip in the repo (with a build task to extract it properly).
But in addition to that, we also have other large binaries that have been committed at one time or another. These all exist in the history.

We're currently looking at ways to remedy this, but whichever path we take will require deleting some history, which will cause some problems for people who already have the repo cloned. Basically, we're trying to find a way to minimize those problems, and reduce the repo size down to a manageable level.

I hope that helps give some context :)

Thanks Jeroen

@zenorocha
Copy link
Contributor Author

Hey Jeroen,

Thanks for your concern.

We are planning to move some of those things to the website's repository.

https://github.com/zenorocha/alloyui.com/issues/1
https://github.com/zenorocha/alloyui.com/issues/5

As @natecavanaugh said, we are looking at ways to remedy this problem.

@phasebash
Copy link

This repository layout appears to follow YUI3's previous repo structure. api/ and demo/ could probably be broken out into another git project, while build/ could arguably be distilled to a release artifact and not kept in the repo. Also, by adopting the new YUI3 yuidoc node module and deploying a static site (pehaps on liferay.com proper), we could lessen the load on most root folders. If there are relative paths between demo/ and build/, those could probably be resolved against the YUI CDN.

jwu910 referenced this issue in jeffcsung/alloy-ui Jun 24, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants