Barney T. Administrators Posted February 10, 2008 Administrators Share Posted February 10, 2008 Yes, our SVN is up. Dave will PM the team user names and passwords. Below is the guide, that I've pinned for quick reference. Link to comment Share on other sites More sharing options...
DaveLegg Developer Posted February 10, 2008 Developer Share Posted February 10, 2008 PM's have all been sent, if you have any issues, let me know. I can post a general overview of how to use SVN, based on the one I posted for the Neowin Devs, but I'm not as deeply involved in your dev processes, so I'm not as sure about how you're going to use it, or indeed what svn clients you intend to use with it. Basically, I've setup an empty repo, with a trunk, where the majority of the work will happen, and then 3 branches, one for each window manager, where things specific to those parts will happen. Window manager work should be kept out of trunk to avoid wm's overlapping in the 3 separate releases. Like I said, if you have any questions about how to use it, just give me a shout. This guide assumes you're using SVN at a linux shell (as this is how Neowin Development mostly occurs) So, the basics: Before you can start, obviously you need to checkout a copy of the code somewhere locally. Make yourself a folder to work in, and cd into it. Then run the command: svn co svn://shiftlinux.net/shift/ . Once you're happy with the changes you've made, and want to commit them for the rest of us to use/work on, simply run the command: svn ci this will 'check-in' any modified files in the current directory, and any below, so make sure you're in the right folder ;). If you just want to check in a single change, use the command svn ci filename and obviously, this will only check in changes to that one file. You can string various file names together to check in however many files you wish, but not all that have been modified. Please try to only make one change per commit i.e. Don't fix 100 bugs, then check in the changes all in one go, that just causes a pain if we need to roll back a single bug-fix for some reason. When you run the command, it will open up Nano (text editor) for you to enter a log message, please enter something descriptive, so we can tell what has been fixed in this change. If you've changed a file, and want to revert that change, use the command svn revert filename and this will return the file to the state it was in last time you updated from the repo. To update your working-copy (please do this every time you start working on anything, so you're working on the latest code), use the command svn up again, this applies to the current folder and those below, so make sure you're in the right one ;) If you want to see which files have been modified locally since you last updated, use the command svn stat this will give you a list of all the files changed / marked for addition / marked for deletion / not tracked by svn. The more complex: Once you have modified a file, it is possible to see what changes you made to it using the command svn diff filename this will give you a diff report between your current file, and it's state at the last update. If you want to see what was changed in a file between certain revisions, you can use the same command, but with extra parameters svn diff filename -r start:end where start and end are the revisions you are interested in (HEAD can be used in place of the current revision number) Once you have changed something in trunk, you will want to merge that change into each of the WM branches, for this you will need the svn merge command. Use the command svn log in the root of your working copy to get a full list of changes made. This will eventually become quite long, so you can use the command svn log -r start:HEAD to start the log from the revision you specify, up until the current point. Once you know which revisions you wish to merge (ask me if you're not totally sure, I'll give you a hand working it out), you will need to cd to a working copy of each branch. Once there, you need to merge your changes into the working copy with the following command svn merge -r start:end svn://shiftlinux.net/shift/trunk . NOTE: The revision number you enter for the start point MUST be one less than the revision number of the first change you wish to merge. If you are not sure that this is right, add the parameter '--dry-run' and it will show you a list of files to be merged, without merging them. Remember to cd to each WM branch and do this for each one When the merge is complete, you will then need to check the merged code into the repo again, so cd to the branches directory and run the command svn ci and specify in the log message which revisions you have merged into the code (Example log message: "Merged changes (r16:18) to window manager branches from trunk") This way we can trace what changes have been included. That's the basics of how to use it anyway. I'm sure there will be questions, so just give me a shout if you have any! Link to comment Share on other sites More sharing options...
Recommended Posts