The problem is not with broken code, it is with old executables trying
to read new data structure. There's no build fail. The local user
successfully build & run, and idem for the buildmachine(s).
The problem is for people working locally on data, not on the source code.
"Simply" working on branches would change the workflow in a big
time-consuming factory.
Le 16/03/2011 15:05, Michael Diers a écrit :
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 2011-03-07 17:28, Bastien Semene wrote:
I'd like to know if it is possible to commit code not updatable (not
validated) until a flag is set/unset ?
Here is our problem :
We have projects with source code and datas, and a buildmachine build
the executable(s).
At time 0 the code is commited, the buildmachine starts building.
At time + X (X>= 0) new data model is commited.
At time + Y (Y> X) compilation is successfull and the new data can be
read/write by the executable.
During time Y-X, the project is broken as the old executable can't read
new datas.
I wish to let people - data or source code providers - commit while they
cannot automatically update these revisions (they can force it, the
buildmachine for example needs new source code if something fails during
the previous build).
Something like "not validated" commits can be an answser, but I didn't
see anything allowing this on SVN.
I've thought to some other durty solutions, but I'd like to be sure
there's no clean way before starting anything.
Bastien,
JetBrains have a feature in their TeamCity continuous integration&
build management solution that might be of interest to you.
Blurb from their product description:
Pre-Tested Commit: No broken code in your version control. Ever.
Typically, your team submits code to Version Control BEFORE verifying
that it works, and risks breaking the build every single time — causing
more problems than necessary. That's why TeamCity is different.
Unlike the standard scenario (edit, commit, verify), TeamCity's
Pre-tested Commit feature allows you to remotely verify your changes
BEFORE committing them to the VCS.
If your changes pass, TeamCity (in cooperation with your IDE)
AUTOMATICALLY commits them to Version Control. If they fail, your code
won't be submitted to the VCS and you'll receive a notification (by
email, IM, your Windows System Tray, or in your IDE), allowing you to
fix the failed code immediately. And unlike the standard scenario,
you'll always know WHO broke the code. Most importantly, your team never
stops working and there is never broken code in your Version Control.
http://www.jetbrains.com/teamcity/features/delayed_commit.html
- --
Michael Diers, elego Software Solutions GmbH, http://www.elego.de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk2Aw7IACgkQcEKlWnqVgz3VaQCgr/BtgUc4n9l9cYNLJLEdoDjo
t7AAni8Nvxec9KyD98C8psvqM0yHERzb
=qmx9
-----END PGP SIGNATURE-----
--
Bastien Semene
Administrateur Réseau& Système
Cyanide Studio - FRANCE