Reply New Topic
2007/12/4 19:38:39
#1
Offline
Home away from home

ImpressCMS SVN Repository

The only SVN repository we are using now is the ImpressCMS SourceForge Project's SVN Repository.

The URL to enter in TortoiseSVN is : https://impresscms.svn.sourceforge.net/svnroot/impresscms/

You can browse SVN here

I propose we use the Trunk to hold latest stable code. We develop everything in branches or tasks and every time a feature has been tested and revised, it gets merged to the trunk. That way, our trunk always stays as much as possible workable. Early adopter users can use the trunk to test the latest edgy-but-tested stuff...

For now, I suggest we directly develop in the trunk until our first release.


2007/12/5 5:41:57
#2
Offline
Home away from home

Re: ImpressCMS SVN Repository

Should we follow the "Branch-When-Needed" system described here?
Subversion Best Practices


2007/12/5 6:35:07
#3
Offline
Home away from home

Re: ImpressCMS SVN Repository

Thanks Dave, excellent link.

I suggest every one involved in coding should read this bes practice summary.

About branching

So I now realize that XOOPS was using the Always branch system and I understand now that it has pros, but I feel more cons...

I very like the "Branch-when-needed" system :

- Users commit their day-to-day work on /trunk.

- Rule #1: /trunk must compile and pass regression tests at all times. Committers who violate this rule are publically humiliated.

- Rule #2: a single commit (changeset) must not be so large so as to discourage peer-review.

- Rule #3: if rules #1 and #2 come into conflict (i.e. it's impossible to make a series of small commits without disrupting the trunk), then the user should create a branch and commit a series of smaller changesets there. This allows peer-review without disrupting the stability of /trunk.

Can we all agree on this ?

_________________
Marc-André Lanciault
Founder and CEO INBOX International inc.
Co-Founder ImpressCMS

2007/12/5 8:49:14
#4
Offline
Home away from home

Re: ImpressCMS SVN Repository

I agree with Rules 1-3, and would like to propose another one:

- Rule #4: All committed code must be fully documented.

In part, that means that every function has a phpDocumentor-compliant header comment, which is both correct and understandable, states the purpose of the function and describes the parameters and return value. The same applies to class properties. The header comment for a function (or a class) is intended to be a "mini user manual" for the function that provides all the information needed to call that function, without having to examine the body of the function.

I suppose this won't apply to existing code that you're modifying and don't understand well enough to add missing documentation. Ideally we could review it and figure out together how to document it, but time may not permit that.


2007/12/5 11:38:46
#5
Offline
Home away from home

Re: ImpressCMS SVN Repository

+1

Dave, would you have time to put those rules on a page at reboot group so it will become our "official" rules, which we could improve as the time go by.

We would make this page available publically in our soon to come wiki.

Let me know !

_________________
Marc-André Lanciault
Founder and CEO INBOX International inc.
Co-Founder ImpressCMS

2007/12/5 12:49:03
#6
Offline
Home away from home

Re: ImpressCMS SVN Repository

I can do that, but before finalizing our rules, we should probably wait until more developers have had a chance to provide feedback here.


2007/12/5 15:55:14
#7
Offline
Home away from home

Re: ImpressCMS SVN Repository

Now that I am starting to understand svn a little more, this makes a lot of sense.

+1

_________________

Steve Twitter: @skenow Facebook: Steve Kenow


Reply New Topic extras
 Previous Topic   Next Topic
You can view topic.
You can start a new topic.
You can reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You can post without approval.