[Buildbot-devel] Discussion on source steps

Pradeepkumar Gayam in3xes at gmail.com
Mon May 16 08:03:10 UTC 2011


Hi,

I am Pradeep working on GSoC project to improve source steps. I am listing all
reasonable source step modes here. I am not familiar with users requirement, 
so all the contents is summery of knowledge written here and there on buildbot
website.

Currently available modes:

1. update
2. copy
3. clobber
4. export

Description: 
http://buildbot.net/buildbot/docs/current/Source-Checkout.html#Source-Checkout

As we are cleaning up the modes I think we should make it possible to take 
advantage of features of the version control systems along with the common
modes.  There were discussions on IRC and bug tracker[1] on required modes.

Proposed modes:
1. Incremental
2. Clean
3. Fresh

Incremental mode: This is same as current update. Update the source keeping 
old build artifacts around and pull the changes then build.

Clean: As written in bug#669[1] this is equivalent to clobber with 
ignore_ignores=False, i.e., remove all files generated in build process that 
are not under version control. Don't remove ignored files. Equivalent to 
`git clean`

Fresh: This is equivalent to clobber with ignore_ignores=True. That is 
remove all the build artifact and ignored files. Equivalent to `git clean 
-x`. This will create a pristine working directory to make fresh builds.

I guess this is pretty much all any user want to do. These three modes can 
be implemented across any VCS. Right now ignore_ignores is implemented only 
in svn and git. I have seen cases where `git clean -x` differs with `git 
reset HEAD`. Some users may want to test builds with fresh clones. So, I 
think we should also give an option to use clobber modes as it is right now. 
mode=copy and mode=export  is not necessary any more.

After discussion with tomprince on IRC I am going to implement source steps 
on master-side. Please tell anything I should know regarding this.

Thanks 

[1] http://trac.buildbot.net/ticket/669




More information about the devel mailing list