Hello! For those who work with the SyncEvolution upstream repository: I have implemented a new mechanism for testing patches before integrating them into a branch.
Any branch which gets pushed as "for-master/<branch name>" will get merged into the "master" branch by the runtest.py script and thus be covered by the nightly testing. That also works for older branches, like syncevolution-1-2-branch. The commit message below has the details. As an example, the following test run included a "for-master/pohly" branch which had three commits. This is reported in the HTML overview page in a new section: http://syncev.meego.com/latest/head-lucid-amd64-sources/nightly.html -------------------------------- Source Information syncevolution origin/for-master/pohly: okay syncevolution-1-2 + 195 commit(s) = 1e2a79c working directory dirty Patches: Patrick Ohly - sync modes: added refresh/one-way-from-local/remote (BMC #23537) Patrick Ohly - phone sync: delete<->delete conflict + phone calendar+todo sync (BMC #23744) Patrick Ohly - phone sync: delete<->delete conflict + phone calendar+todo sync, part II (BMC #23744) libsynthesis libsynthesis_3.4.0.16+syncevolution-1-2 + 4 commit(s) = b7944db working directory clean --------------------------------- commit 3e9fc042dc47d090e87b5a7dccce5945128fec65 Author: Patrick Ohly <patrick.o...@intel.com> Date: Thu Oct 27 16:44:44 2011 +0000 testing: automatically integrate branches (BMC #735) Branches committed to the libsynthesis or SyncEvolution git repo with a name of "for-<branch>/<name>" will be automatically merged into <branch> before starting the testing: --sourcedir <dir with existing repos> --workdir <dir with merged repos> The result can be reused as-is in further runtests.py invocation by using --sourcedir <merged repos> --no-sourcedir-copy Any local, *uncommitted* changes will be preserved and applied to the merged sources (git stash). *Committed* changes will *not* be applied. Always push them immediately. Because there is a risk of loosing work when these rules are not followed, the current state of the tree is stored as a branch created with "git stash create" under the names <branch>-nightly-before-<date+time> and <branch>-nightly. The latter gets overwritten during each run. These branches can be used to cherry-pick commits or restore the tree as it was before the automatic merging ("git stash branch <branchname> <branch>-nightly"). Result reporting includes information about the resulting code revision. This includes the names of all branches which were available for merging and whether that succeeded or failed. The output of "git describe" is also included, always with a hash (even when it matches a tag, in case that the tag gets moved) and whether the working tree was dirty. All commits applied to the base branch are listed in "git am" format. This is done because the merged code is not pushed. This would clutter the upstream code repository. The "for-" prefix (instead of just "<branch>/") was added because git got confused when <branch> was both a real branch and a directory of other branches. -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. _______________________________________________ SyncEvolution mailing list SyncEvolution@syncevolution.org http://lists.syncevolution.org/listinfo/syncevolution