среда, 26 сентября 2018 г.

Restructuring highly active git project

Recently my team has come to an understanding that our new project is really in need of full restructuring. The structure that was made in the beginning didn't meet our requirements and plans for its extension. However, this issue turned out to be more difficult, because this project is under a very active development at the moment, while the restructuring itself could take plenty of time (week or two), because we weren't sure about how the final version should have looked like and decided to try different approaches. It could lead to lots of problems with merging any new commit, which appear every day. So here is the solution we came to ...

The idea is very simple - create a bash script, which moves around all components the way you need. When the script is reviewed and everybody agrees that it does the restructuring needed, we can simply apply it to the master branch of the repository, which is in the latest state. It allows the rest of the team to work on other issues and me to work on restructuring simultaneously. And the main profit is that we don't have problems with merging.

You can look at the state of the project right before applying the script here: https://github.com/redhat-developer/rsp-server/tree/ef2e6f81600990f12c6deebb8db949e5d6d75a92.
I put the script into a separate repository, because it also contained additional build files that should have been copied into a new structure. Also it allowed my colleagues to work on it too, review my changes and provide their changes via pull requests. 
After applying the script the repository started looking like this: https://github.com/redhat-developer/rsp-server/tree/180e96a129591e59dd8710a94f68d5cd6cbd976d

0 коммент.:

Отправить комментарий