Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Strip rules for PHP frameworks' installed files #985

Closed
wants to merge 1 commit into from

3 participants

@arcresu
Collaborator

Some of the templates for PHP frameworks have a problem in that they list all the files from the standard installation of the framework along with files which are sensible to ignore. In particular, I'm referring to the templates for: Magento, Joomla, Drupal, LemonStand, SugarCRM, Symfony, and ZendFramework. I see several problems with this pattern:

  • it leads to a repo missing files which are necessary for a functional app
  • it couples the ignore template closely to a particular version of the framework
  • it can result in massive gitignores (the Magento one proposed in #841 exceeded 12k rules!)

I'm aware that these frameworks are partly responsible because they encourage users to lump the framework's source with their particular instantiation (app) rather than leaning on proper dependency tools (as is done with, say, rails and bundler) making it difficult to version the two separately. However I don't think that we should be encouraging this usage pattern with the templates here.

A better solution to the problem would be to use a PHP dependency manager if possible, or something along the lines of the script proposed in #677, which generates a gitignore automatically from the framework rather than needing to know the source tree of that particular version a priori.

There is still merit in ignoring cache or upload directories, for example, so there is still a call for gitignore templates, but the installed files rules don't have a place in them. If we can agree on this direction, then I'll also address the other templates in the above list.

@arcresu arcresu referenced this pull request
Closed

Magento and grails #968

@aroben
Admin

I can't really speak to whether this will be helpful to PHP users or not. Probably need some folks familiar with these frameworks to chime in.

@arcresu
Collaborator

See #1424

@arcresu arcresu closed this
@ivanramosnet

In Joomla you can develop different extensions such as components, modules, templates, libraries, etc. so it is necessary to ignore all files in the core and maintain certain directories and paths. For me it is useful to have this type of files but it is true that they are too dependent on the version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Mar 6, 2014
  1. @arcresu
This page is out of date. Refresh to see the latest.
Showing with 0 additions and 97 deletions.
  1. +0 −97 Magento.gitignore
View
97 Magento.gitignore
@@ -1,121 +1,24 @@
.modgit/
-app/code/community/Find/
-app/code/community/Phoenix/
-app/code/community/Cm/
-app/code/core/
-app/design/adminhtml/default/default/
-app/design/adminhtml/default/find/
-app/design/frontend/base/
-app/design/frontend/default/blank/
-app/design/frontend/default/default/
-app/design/frontend/default/iphone/
-app/design/frontend/default/modern/
-app/design/frontend/enterprise/default
app/design/install/
-app/etc/modules/Enterprise_*
-app/etc/modules/Find_Feed.xml
-app/etc/modules/Mage_All.xml
-app/etc/modules/Mage_Api.xml
-app/etc/modules/Mage_Api2.xml
-app/etc/modules/Mage_Authorizenet.xml
-app/etc/modules/Mage_Bundle.xml
-app/etc/modules/Mage_Captcha.xml
-app/etc/modules/Mage_Centinel.xml
-app/etc/modules/Mage_Compiler.xml
-app/etc/modules/Mage_Connect.xml
-app/etc/modules/Mage_CurrencySymbol.xml
-app/etc/modules/Mage_Downloadable.xml
-app/etc/modules/Mage_ImportExport.xml
-app/etc/modules/Mage_LoadTest.xml
-app/etc/modules/Mage_Oauth.xml
-app/etc/modules/Mage_PageCache.xml
-app/etc/modules/Mage_Persistent.xml
-app/etc/modules/Mage_Weee.xml
-app/etc/modules/Mage_Widget.xml
-app/etc/modules/Mage_XmlConnect.xml
-app/etc/modules/Phoenix_Moneybookers.xml
-app/etc/modules/Cm_RedisSession.xml
app/etc/applied.patches.list
-app/etc/config.xml
-app/etc/enterprise.xml
app/etc/local.xml.additional
app/etc/local.xml.template
app/etc/local.xml
-app/.htaccess
-app/locale/
-app/Mage.php
-cron.php
-cron.sh
downloader/
errors/
-favicon.ico
-get.php
includes/
-index.php
index.php.sample
/install.php
-js/blank.html
-js/calendar/
-js/enterprise/
-js/extjs/
-js/firebug/
-js/flash/
-js/index.php
-js/jscolor/
-js/lib/
-js/mage/
-js/prototype/
-js/scriptaculous/
-js/spacer.gif
-js/tiny_mce/
-js/varien/
-lib/3Dsecure/
-lib/Apache/
-lib/flex/
-lib/googlecheckout/
-lib/.htaccess
-lib/LinLibertineFont/
-lib/Mage/
-lib/PEAR/
-lib/phpseclib/
-lib/Varien/
-lib/Zend/
-lib/Cm/
-lib/Credis/
-lib/Magento/
-LICENSE_AFL.txt
-LICENSE.html
-LICENSE.txt
-LICENSE_EE*
mage
media/customer/
media/dhl/
media/downloadable/
-media/.htaccess
media/import/
media/xmlconnect/
media/catalog/product/cache/
api.php
-nbproject/
-pear
pear/
php.ini.sample
pkginfo/
-RELEASE_NOTES.txt
-shell/abstract.php
-shell/compiler.php
-shell/indexer.php
-shell/log.php
-skin/adminhtml/default/default/
-skin/adminhtml/default/enterprise
-skin/frontend/base/
-skin/frontend/default/blank/
-skin/frontend/default/blue/
-skin/frontend/default/default/
-skin/frontend/default/french/
-skin/frontend/default/german/
-skin/frontend/default/iphone/
-skin/frontend/default/modern/
-skin/frontend/enterprise
skin/install/
var/
Something went wrong with that request. Please try again.