Config
Log for #openttdcoop.devzone on 19th May 2014:
Times are UTC Toggle Colours
00:32:52  *** yorick has quit IRC
08:26:42  <DevZone> Project Japanese Stations build #57-push: SUCCESS in 19 sec: https://jenkins.openttdcoop.org/job/jpstations/57/
09:51:12  <DevZone> Project xussrset - Trains from Russia build #291-push: SUCCESS in 3 min 25 sec: https://jenkins.openttdcoop.org/job/xussrset/291/
10:39:52  <DevZone> Project xussrset - Trains from Russia build #292-push: SUCCESS in 3 min 18 sec: https://jenkins.openttdcoop.org/job/xussrset/292/
11:32:04  *** Supercheese has quit IRC
11:32:39  *** Supercheese has joined #openttdcoop.devzone
11:36:53  *** yorick has joined #openttdcoop.devzone
13:31:41  *** LSky` has joined #openttdcoop.devzone
14:34:42  <juzza1> how should i go about doing something like this: one devzone repo which hosts a lot of blender files and other graphics (let's call this "material repo") and then a few repos for different newgrf features (landscape, trains, houses etc.) which will be built by using files from the material repo?
14:35:54  <planetmaker> there's two ways, both very similar. The concept is to use sub-repositories. The graphics repo is a sub-repo to the other(s)
14:36:24  <planetmaker> The recommended way by hg is to create a parent repo where all, graphics, landscape, trains, houses are a sub-repo of
14:37:01  <planetmaker> but it will work similarily to make the graphics repo a sub-repository to each of the landscape, trains,... repos
14:37:25  <planetmaker> you could look at opengfx-mars
14:37:38  <planetmaker> it does the same thing
14:38:13  <planetmaker> in a fashion to have a nearly-empty main repo and the sub-repos dedicated to the individual projects. And a joint graphics repo
14:38:28  <planetmaker> similarily also the VAST projects handle things
14:39:56  <planetmaker> you'll want to read up on http://mercurial.selenic.com/wiki/Subrepository
14:39:57  <Webster> Title: Subrepository - Mercurial (at mercurial.selenic.com)
14:40:10  <planetmaker> and links therein
14:41:06  <planetmaker> it's also no big issue to create such structure from existing repos
14:42:25  <juzza1> thanks, i'll take a look at mars
14:45:35  <planetmaker> the important files are .hgsub and .hgsubstate
14:47:12  <juzza1> about the second option though - wouldn't this be problematic for people who want to clone any of the "feature" repos (trains, landscape etc.) as the material repo would get pulled for each of these?
14:48:03  <juzza1> so the first option would be better in that regard, if i understood the subrepos correctly
14:48:45  <planetmaker> the first option requires you to always clone the parent repo which contains all repos - or you won't have the blender / graphics available
14:48:58  <planetmaker> the 2nd option makes sure you always have them available, even when you only clone a sub-repo
14:49:08  <planetmaker> but you'll then clone it with *every* of the feature repos
14:49:17  <planetmaker> so not so good for you
14:49:28  *** ODM has joined #openttdcoop.devzone
14:50:46  <planetmaker> and as the graphics repo is the single biggest one, probably MUCH bigger than all the other repos combined, I'll suggest the way also opengfx-mars handles it
14:51:32  <planetmaker> it also makes somewhat sure that you build your feature projects from the same state of the graphics, if you build them right after eachother
14:58:22  <juzza1> yes, the material one is definately the biggest. the others would be just plain text. your point about the state of graphics makes a lot of sense too, definately will use the mars way
14:58:38  <juzza1> *definitely
15:02:07  <planetmaker> In the Makefile.config in the individual projects you can use VERSION_INFO ?= "`../findversion.sh`"
15:02:07  <planetmaker>  like the mars projects do. Then the reported version will also be the same
15:02:17  <planetmaker> (if there's a findversion.sh in the main repo like for mars)
15:02:55  <planetmaker> but mind also that using sub-repos has a few stumbling stones
15:03:46  <planetmaker> like, update each sub-repo, then commit in the main repo which records the state (version) of each sub-repo. Feels a bit boilerplate, but only works that way
15:04:28  <planetmaker> and hg push (and other commands)  only operate current repo. If you want to operate also on sub-repos, it always needs the -S option to them
15:05:15  <planetmaker> it's a "feature of last resort" for some reasons, these not-so-nice handling are some of them :)
15:06:05  <planetmaker> Thus you you buy the ease of sharing graphics with some complexity added to repo handling
15:12:40  *** Alberth has joined #openttdcoop.devzone
15:12:44  <juzza1> doesnt sound too bad
15:16:09  <Alberth> subrepos are spreading :)
15:16:11  <Alberth> hi hi
15:18:49  <planetmaker> o/
15:19:30  <planetmaker> yeah, sub-repos seem to be made for this exact case :)
15:23:14  <Alberth> how is having fragmented subrepos better than a single repo?
15:23:43  <Alberth> eg it's consistent in state by definition :)
15:27:00  <planetmaker> Alberth, well, alternatively we could put all of opengfx-mars in a single repository, yes
15:27:08  <planetmaker> maybe that is the better choice even
15:27:30  <juzza1> the cf would need some changes to be able to build multiple newgrfs from one repo then?
15:27:43  <planetmaker> like not using sub-repos, but one big repo with directories for each project
15:27:49  <planetmaker> yes, it would need those changes
15:28:05  <planetmaker> let me look what I did for opengfx-mars
15:28:25  <Alberth> you probably want that anyway, or you'd clone the big material repo for each newgrf
15:29:21  <Alberth> the main advantage of sub-repos is that each subrepo is more or less independent
15:29:50  <Alberth> you can have the graphics artist add new stuff, while you hack in the code
15:29:57  <Alberth> no need to merge changes
15:31:41  <planetmaker> yeah, but that's actually a tiny advantage
15:31:59  <planetmaker> though maybe not. depends
15:32:24  <Alberth> zbase was different in the sense that it builds on top of opengfx
15:32:30  <planetmaker> indeed
15:33:30  <planetmaker> juzza1, whether one repo, or simply directories in a big repo: The project type as found in .devzone/build/type must be "nml-sub" (without the quotes)
15:33:40  <planetmaker> so no change required
15:34:24  <planetmaker> you might want to have in the main dir then a Makefile in the same way as you find in opengfx-mars main repository
15:34:30  <planetmaker> it's simple, but it does its job
15:35:43  <planetmaker> http://bundles.openttdcoop.org/opengfx-mars/push/LATEST/ <-- result built and published is this
15:37:26  <planetmaker> oh, and you also want a file .devzone/build/projects seemingly
15:38:15  <planetmaker> which contains a list of dirnames where (sub-)projects are found in
15:39:00  <planetmaker> juzza1, so, do those repos already exist? Or is it something new?
15:40:38  <juzza1> no repos yet. i only have a few models done... still really just planning the best way to do this
15:40:51  <juzza1> but your info helped a lot wrt devzone repos
15:44:59  <planetmaker> so, possibly Alberth is right. It also could be one repository. Would not make a difference for building really
15:45:27  <planetmaker> And would not need any sub-repo which adds small stumbling stones here and there
15:45:57  <planetmaker> what's your plan, juzza1, the theme?
15:47:35  <juzza1> if the cf was able to build multiple newgrfs from one repo, then yes, i would have no need for the subrepos, as it's very unlikely i'll have anyone else work with this project
15:48:10  <planetmaker> I don't see any difference it would make to the CF to operate on sub-repos or simply sub-dirs, if the layout is similar to opengfx-mars
15:48:26  <juzza1> true
15:48:45  <planetmaker> if you have a clone of opengfx-mars you'll see that it's all sub-dirs anyway
15:48:57  <juzza1> currently my theme is something like zbase but first individual newgrfs so i dont actually have to do a whole baseset
15:48:59  <planetmaker> just each dir a separate repo. could be one repo just as well
15:49:01  <juzza1> yep, just did that
15:49:27  <Alberth> if that doesn't work, I think it should be fixed to work like that
15:49:35  <planetmaker> yeah, then copy the Makefile from there and adjust the .devzone files for your paths
15:49:41  <planetmaker> agreed, Alberth
15:51:00  <planetmaker> but I just read through the build script (see https://rhodecode.openttdcoop.org/misc/files/tip/compiler/jenkins_build.sh and https://rhodecode.openttdcoop.org/misc/files/tip/compiler/jenkins_postbuild.sh) and it doesn't care about sub-repos at all
15:51:13  <planetmaker> it just operates on the dir structure
15:52:22  <planetmaker> and it expects a normal nml project in the subdirs it recurses into
16:05:51  <planetmaker> juzza1, if you use blender, we could also 'rent out' some rendering time on a cpu core on the devzone
16:22:05  <DevZone> Project Japanese Buildings build #205-nightlies: SUCCESS in 19 sec: https://jenkins.openttdcoop.org/job/jpbuild/205/
16:34:13  <DevZone> Project Finnish Rail Infrastructure - Rails build #319-nightlies: SUCCESS in 8 min 28 sec: https://jenkins.openttdcoop.org/job/frissrails/319/
16:40:05  <juzza1> ok, ill keep the offer in mind :)
16:40:45  *** oskari89 has joined #openttdcoop.devzone
16:41:31  <DevZone> Project road-hog build #205-nightlies: SUCCESS in 46 sec: https://jenkins.openttdcoop.org/job/road-hog/205/
16:48:41  <DevZone> Project Iron Horse build #884-nightlies: SUCCESS in 1 min 44 sec: https://jenkins.openttdcoop.org/job/iron-horse/884/
16:49:24  <DevZone> Project Dutch Trainset build #167-push: SUCCESS in 1 min 32 sec: https://jenkins.openttdcoop.org/job/dutchtrains/167/
16:49:52  <DevZone> Project ecs build #27-push: SUCCESS in 28 sec: https://jenkins.openttdcoop.org/job/ecs/27/
16:50:07  <DevZone> Project 2ccts build #118-push: SUCCESS in 1 min 25 sec: https://jenkins.openttdcoop.org/job/2ccts/118/
17:15:39  *** frosch123 has joined #openttdcoop.devzone
17:29:49  *** gelignite has joined #openttdcoop.devzone
17:45:34  *** Taede has quit IRC
18:03:57  *** oskari892 has joined #openttdcoop.devzone
18:10:05  *** oskari89 has quit IRC
18:28:26  *** George has quit IRC
18:38:33  *** George has joined #openttdcoop.devzone
18:41:08  *** Taede has joined #openttdcoop.devzone
19:53:33  *** yorick has quit IRC
19:53:44  *** yorick has joined #openttdcoop.devzone
20:17:59  *** oskari892 has quit IRC
20:37:14  *** frosch123 has quit IRC
20:44:05  *** ODM has quit IRC
21:00:36  *** gelignite has quit IRC
21:01:56  *** Alberth has left #openttdcoop.devzone
21:18:46  *** LSky` has quit IRC
22:40:19  *** George has quit IRC
22:44:12  *** Supercheese has quit IRC
23:11:35  *** Supercheese has joined #openttdcoop.devzone
23:31:30  *** George has joined #openttdcoop.devzone

Powered by YARRSTE version: svn-trunk