zephyr
nothing else?
-superrepo heads are dev, prod
+superrepo heads are dev, prod, and dev-incoming, prod-incoming
on commit to superrepo:
+ reject commits to dev, prod
+ grab lock or fail
+ spawn build process
+ zephyr
+
+in build process for foo-incoming:
for each changed submodule revision:
(as optimization: if same commit already in dev, just reprepro move)
try to build submodule
if fail:
- abort whole commit
+ abort whole build
clean up any previous packages' built files, maybe keep this one's around
remember package and version
for each changed submodule revision: (if we're still going)
tag submodule with version
upload to dev/prod respectively
clean up built files
- actually commit
+ commit to foo
+ zephyr?
+ release lock
+if fail:
+ reset foo-incoming to old revision
+ send mail with log
zephyr
+ release lock
-This makes a long pre-receive process. Is that cool?
-Probably is the right thing.
-
+Maybe there could be something sane without the lock? It'd require
+more thought.