mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 00:38:56 +00:00
![]() we can build something better with gradle Signed-off-by: Moritz Eysholdt <moritz.eysholdt@typefox.io> |
||
---|---|---|
.. | ||
.settings | ||
src/org/eclipse/xtext/splitting | ||
.classpath | ||
.project | ||
build.gradle | ||
git-filter-branch.sh | ||
parent-filter.sh | ||
README.md | ||
settings.gradle | ||
splitting.txt |
Repository Splitting
This project provides tools for splitting the Xtext repository as described in the Wiki. This is the proposed work flow:
../gradlew findProjects
createsbuild/splitting/all-projects.txt
, a list of all projects (paths with a.project
file) that have ever been in the history, andbuild/splitting/unmapped-paths.txt
, a list of paths that are not covered by any project.- Create
splitting.txt
based on the results of the previous step. This file must consist of lines of the formpath >> target-repos
, wherepath
can be any file or directory in the repository andtarget-repos
is eitherdelete
or a list of repository ids where that path should be included. ../gradlew clean validateSplitting
checks whethersplitting.txt
covers all files found in the history.../gradlew generateRemovals
createsbuild/splitting/removals-*.txt
for each target repository.
Now you have all necessary data to perform the actual splitting. In order to do this:
- Create and checkout a new branch.
- Run
../gradlew *FilterBranch
, where*
is the target repository id. - Find something else to do (on my machine the previous command takes more than one hour).
- Push the resulting branch to the corresponding repository.