There are files/folders in the trunk that need to be removed, either because they have no current function, or because they just need to ...
/backend.php => old rss feed link, requiring Herve's news module
/extras/theme_x2t => let's dump all the old themes
From the Tortoise SVN help
B.8. Ignore files which are already versioned
If you accidentally added some files which should have been ignored, how do you get them out of version control without losing them? Maybe you have your own IDE configuration file which is not part of the project, but which took you a long time to set up just the way you like it.
If you have not yet committed the add, then all you have to do is use TortoiseSVN → Revert... to undo the add. You should then add the file(s) to the ignore list so they don't get added again later by mistake.
If the files are already in the repository, you have to do a little more work.
Move the file to somewhere safe, not inside your working copy.
TortoiseSVN → Commit the parent folder. TortoiseSVN will see that the file is missing and you can mark it for deletion from the repository.
Move the file back to its original location.
Add the file to the ignore list so you don't get into the same trouble again.
If you need to remove a whole folder/hierarchy from version control, the procedure is different again.
TortoiseSVN → Export the folder to somewhere safe, not inside your working copy.
TortoiseSVN → Delete the folder from your working copy.
TortoiseSVN → Commit the deleted folder to remove it from the repository.
Move the exported folder back to its original location in your working copy.
Add the folder to the ignore list so you don't get into the same trouble again
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 !
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.
Forgive me if I don't join you guys on IRC. I've only used it a couple times and that was over 4 years ago. I don't know enough about it or trust it enough to open my firewall up for the protocol.
You know how to reach me if there is something important you need me to help with.
I suspect this section of the SVN book may help, but I'm not sure how to apply it: Ignoring Unversioned Items
I really suck at NOT committing my own mainfile. Can you help me here. What is the best way to avoid that ?
Also, do you guys have some problems sometimes with the cache folder when SVN updating or SVN commiting.
Thanks Dave, excellent link.
I suggest every one involved in coding should read this bes practice summary.
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 ?
The next thing we will need after the logo is a theme for all these sites :
I would like to see only 1 theme for all these sites but with only a small variation to let the uer know where he is. A "site bar" navigation would also be great.
In fact, I think you guys already did that concept for the xoopsfoundation.org and other sites.
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.