trychange.py can store patches in a Git repo
A git patch repo is cloned to .git/git-try/patches-git, if was not
cloned before. Otherwise, changes are pulled. Then a patch is committed and
pushed.
--revision=auto (Git only) is resolved to the revision the diff is generated
against.
Life of a patch:
trychange.py creates a new branch with a unique name, puts one file
there "patch.diff". In order for GitPoller to notice the change, it also
updates special file "branch" in the master, so the buildbot master sees the new
patches. The "branch" file contains the name of the branch. As a result,
the developer machine never pulls other's patches.
The buidlbot master listens to changes in the master branch. For each
new change, it reads the branch file content at a certain commit, creates a
new build request and specifies the patch branch name in properties. As a
result, the buildbot master never pulls patches.
A slave reads the "branch" property and pulls only that branch, reads
the patch.diff and applies it. The slaves machine don't pull other's patches.
R=maruel@chromium.org,
agable@chromium.org,
stip@chromium.org
BUG=
325882
trychange.py can store patches in a Git repo
A git patch repo is cloned to .git/git-try/patches-git, if was not
cloned before. Otherwise, changes are pulled. Then a patch is committed and
pushed.
--revision=auto (Git only) is resolved to the revision the diff is generated
against.
R=maruel@chromium.org,
agable@chromium.org,
stip@chromium.org
BUG=
325882