Hi, so on my bus ride today I figured it would be nice to have an automated way to see to what extent open pull requests play along nicely. In particular this would be good when over the summer about ten of us will be working on fairly large projects: Here it would be helpful to see if there are conflicts between branches that are not even up for review yet.
So I hacked together a small script [1]. The inspiration of this comes from linux-next. Here is the description from the file: # Tool to aggeregrate several branches, automatically merge them (if possible) # and create statistics about unit tests. # # Usage: sympy-next.py repo branches out-dir # where # repo is is the location of a clean repository (possibly empty) # that is going to be used. # branches is a file containing a list of branches, one entry per line, like # so: # https://github.com/sympy/sympy.git master # /home/ness/src/sympy 360_zoo # ... # out-dir Is the name of a directory where output is going to be created. # # This program walks the list of branches, fetches all of them, and tries to # merge them in order. If there are merge-failures the branch is dropped. After # all successful merges are done, the unit tests are run. Finally a report is # created of which branches could be merged, and which tests passed. # All commands run are logged to a file in the output directory. Notes: 1) This is hardly well-tested. All improvements are welcome. 2) The html output is ugly, and so is the code that creates it. This is the display of my complete lack of web-programming capabilities. 3) The tests are currently only run after all merges are complete, so there is no way to tell which branch introduced the problem. 4) Also the output is not at all pruned, so as branches go stale, and also with time, it will probably become too long. 5) If/When we set up a new buildbot there should probably be a nicer way to do this. But: 6) Is there any interest in this, and if so is anyone willing to run this script (or something similar) more or less manually for a while? I would imagine that person to mainting a branches file where additions/deletions can be requested by email, and then the script is run about once a day, with results published somewhere and perhaps some nagging emails being sent around. I suppose with a bit of fiddling this could be done basically automatically using a cron-job. [1] https://github.com/ness01/sympy/blob/f5435cef48338d1cc151da7362551df74a3fa506/bin/sympy-next.py -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.