I figured that was the case after I re-read the readme. I basically need to remove that bit from the readme. Denny had that in there from the first version of the CLI-- it basically loads the CLI from within itself. However, it doesn’t work-- honestly I’ve never even tried it. Basically, what happens is this:
- You check out the repo and the “cfml” directory exists inside your checkout
- You build the project (or just download the binary) which auto-inflates a cfml directory in your home directory.
- Now two copies of the commands exist, one in the repo and on in your home dir actually being used by CommandBox
- The readme was trying you get you to point the binary to the repo version of the CFML code, but I don’t know that would even work any longer
If you just want to play around, edit the CF code directly inside your /.CommandBox/cfml/ directory and reload the shell (via the reload command) or closing and reopening.
That’s great, but you just need to manually copy any changes you make back to the repo so they can be committed.
What Luis and I actually do is delete the CFML folder in our home directory (once we’ve run the binary at least once) and create a symlink or linked folder back to the CFML directory in the Git checkout. It’s kind of cheating, but it works great. You can edit the repo directly and reload to pick up changes, then just commit when you’re done.
So there is an “upgrade” command that pulls JUST the CFML bits down from one our integration servers and unzips it over your current home directory and reloads. That was our current plan for pushing out simple CF changes to people. However, if we modify the Railo core, or any of the Java bits that load up the Railo war, we don’t have an update mechanism for that, so the easiest thing to do is to tell people just to wipe out the folder in their user dir and run the binary so it can re-expand fresh. Were working on a better update method now, but I just wanted to explain that.
So, as far as you contributing right now, you shouldn’t need to go deleting your .commandbox folder all the time-- that’s only if we make some change in the repo that is outside the CFML bits. And if you do the symlink trick, you don’t need to do anything-- just pull the latest sources and reload.
As far as branches, we only have a master branch right now. That’s simply because we haven’t cut a release yet, so everything has just been bleeding edge. When we put our beta out here soon, we’ll create a development branch and master will become “stable”.
Hopefully this helps. Do you have any commands in particular you wanted to hack on?
You can see our unresolved CommandBox tickets right here: (I hope this link works)
https://ortussolutions.atlassian.net/issues/?jql=project%20%3D%20COMMANDBOX%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC
Thanks!
~Brad
ColdBox Platform Evangelist
Ortus Solutions, Corp
E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com