Skip to content
Lieven Hollevoet edited this page Sep 22, 2014 · 1 revision

Table of Contents

Subversion

    • //NOTE:// please be aware that an experiment is** **currently** **being run to transfer the development of MisterHouse to github. As of November 2012, the most recent code is present in the github repository.**
MisterHouse is hosted on SourceForge and the code base is managed using SourceForge's Subversion service (SVN). The latest and greatest version of MisterHouse will always be available through Subversion, but bugs are much more likely.

The repository URL (which contains all old versions of MisterHouse and you really don't want to check out the whole thing) is:

http://misterhouse.svn.sourceforge.net/viewvc/misterhouse/

//Note: never attempt to check out the entire repository, as it contains far more old versions (tags) and branches than is useful to any user. - Gregg//

The main development line is:

http://misterhouse.svn.sourceforge.net/viewvc/misterhouse/trunk/

So, if you want the latest MisterHouse (possibly unstable code), then you would use the following command:

code svn checkout https://misterhouse.svn.sourceforge.net/svnroot/misterhouse/trunk

TIP: adding a space then a directory name will put the SVN repository into that directory for example if you want to put mh in /usr/local/mh you would cd /usr/local # then svn checkout https://misterhouse.svn.sourceforge.net/svnroot/misterhouse/trunk mh

code If you only want to download a single file, say lib/http_server.pl, then you can use any web browser to obtain it at the following URL:

https://misterhouse.svn.sourceforge.net/svnroot/misterhouse/trunk/lib/http_server.pl

Updating your copy of MisterHouse using SVN

To update your copy of the main development line first change directory to where you first checked out MisterHouse then:

code cd trunk svn update code

MisterHouse Documentation

The subversion repository only contains the source .pod files within mh/docs. The .txt and .html versions of these files are not included. If you want to create these files, run or from within the mh/bin directory and the .html and .txt versions will be created/updated.

Clients

SourceForge recommends two clients — the native client for POSIX O/Ss like Linux and BSD, and TortoiseSVN for Windows.

More information is available here: http://sourceforge.net/docs/B01/en/#svn_client

RapidSVN is also a pretty good choice for a GUI Client, because of it is cross platform versions, Windows , Linux and MAC. Kinda nice for those of us that hop platforms regularly (consistent interface implementation across all versions). Just my 0.02 ( Pete F) http://rapidsvn.tigris.org/

Subversion Documentation

General Subversion documentation is available here:

http://svnbook.red-bean.com/nightly/en/index.html

The command line version of Subversion has a built in help system. Use to get general help and for help on a specific command.

TortoiseSVN comes with a good Windows-based help system. Right-click on the desktop, and choose TortoiseSVN->help once TortoiseSVN is installed.

Mailing List

Whenever a set of files is committed to the repository, a notification e-mail is sent to the misterhouse-svn mailing list. It is recommended that anyone actively developing code or running off the trunk subscribe to this list. You can do so here:

https://lists.sourceforge.net/lists/listinfo/misterhouse-svn

Please note that the only posts on this list should be from the automated scripts. It is not a discussion forum, nor a place to ask questions about Subversion.

Contributing

Although read access is available anonymously, you need to be have a SourceForge account and be given permission to contribute updates to the repository. Send a request to the main MisterHouse mailing list to request permission and an administrator will get in touch with you.

Style

When adding new code or modifying old code, please ensure the following:

  • The svn:keywords property is set to "Author Id Date Revision"
  • The strings $Date$ and $Revision$ are included near the top of each text file so the file's identity can be easily determined
  • The svn:eol-style property is set to "native" on text files
  • The svn:needs-lock property is set on binary files

Locks

Subversion locks should only be used for short periods of time, 1 to 2 days maximum. For the MisterHouse project, they should mainly be used when editing binary files. If you are making major changes and want to stop others from editing the same files, then locks are not the correct approach: Locks do not replace other forms of communication. Instead, send an e-mail to the main MisterHouse list describing your intentions and then create a branch. This will allow easily fixed bugs and other changes to be commited to the main trunk as you work on the branch. The branch code can then be merged back into the trunk once the new code is stable.

The correct location for a branch is based on your username. For SourceForge account "jsmith", create your branch under:

https://misterhouse.svn.sourceforge.net/svnroot/misterhouse/branches/jsmith

If you aren't familiar with branches, contact a project administrator for assistance.


Repository URL Change

If you started accessing the MisterHouse SVN repository in 2006 and are now getting the following error, you need to switch the repository URL:

Error: PROPFIND of '/svnroot/misterhouse/trunk': Could not resolve hostname `svn.sourceforge.net': The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for. (https://svn.sourceforge.net/)

The command to switch the repository URL is (all one line):

code svn switch --relocate https://svn.sourceforge.net/svnroot/misterhouse https://misterhouse.svn.sourceforge.net/svnroot/misterhouse /path/to/root/of/working/copy code

For more information, see this thread:

http://www.nabble.com/New-subversion-URL-tf2597236.html#a7277817

dnorwood, July 21, 2007

Clone this wiki locally