Skip to content

Remove IDE code from the repository #904

Closed
@igrr

Description

@igrr

This ticket should track long due repository overhaul. Since the Boards manager was introduced, it doesn't make sense to maintain the whole IDE fork in this repository. We only need the files under hardware/esp8266com/esp8266, plus some scripts to build/bundle/upload boards manager package.
ESP8266FS tool should go into a separate repository.

This cleanup will allow us to remove tags inherited from the IDE (e.g. 1.6.5) and start maintaining a sane version numbering scheme for the core alone (currently versions look like 1.6.5-1160-gef26c5f which is a shame).

There are three ways to do the cleanup.

  1. Remove IDE files, move core files to new locations, and commit everything. Pros: easy to do, commit history is mostly preserved (git log --follow), rebasing of pending pull requests is straightforward. Cons: this will generate a huge diff, and repository download will get much larger.
  2. Move core files to new locations and purge all commits inherited from the IDE, along with corresponding files. Pros: commit history for the esp8266 core preserved (same as with option 1), we get clean history and repository size is reduced considerably. Cons: this will mess up history, so any pending changes from pull requests will need to be applied manually. Also if some contributor is working on a large piece of code he will be rather disappointed by not being able to merge.
  3. Rename repository into esp8266/old-Arduino, create new repository called esp8266/Arduino with all the core files. Pros: clean repo, small download size, history may be preserved (same as with option 2). Cons: github doesn't allow to transfer issues from one repository to another, so issues will be lost (and isn't that lovely? :) )

Personally I'm inclined to go with option 2. However this may upset people who are currently working on some pieces of code. So I'm leaving this ticket open until next week to gather comments, perhaps there is another better option which I'm missing here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions