A Visual Guide to Version Control
If your new to the concept of Version Control check out this great article over at betterexplained.com
For all your graphic designers our there, this on is for you.
SVN Status Codes
If like me you do a lot of your SVN work in the command line you will be familiar with the SVN status codes, you know when you do an svn status you see a list of files, some have been modified (M), some have been added (A), and other are well in a state of limbo (!).
This is a quick explanation of most of the codes and what it means to your the user if you see them
For those of you who use a nice GUI to manage your working copies, Look Away Now
>svn status ? file1.txt ! file2.txt A file3.txt M file4.txt A+ file5.txt G file6.txt C file7.txt D file8.txt U file9.txt ...
So the above console output isn't quite what you would see every day but it illustrates most of the status codes you will run in to when working with your working copy from the command line.
? - This file is not under version control
As the sumary suggests the ? code is SVN's way of telling your that a file exists in the working copy that isn't under version control and as such will not be send to the server on the next commit.
If you want to add a file you will do use the svn add command
svn add file1.txt
There are many cases when you don't want a file to be under version control for instance if tis a config file that contains passwords, in this case you can tell svn to ignore the file using the svn:ignore property like so:
svn propedit svn:ignore
A - This file will be added to version control, after the commit
you have done an svn:add already and this file is going to be part of the next commit
! - This file is under version control but is missing from the working copy
I see this all the time, and can happen in a number of scenarios but its basically svn's way of telling you that a file that should be in the working copy isnt!
This usually happens when you (or your editor) removes a file but does not tell svn, to delete a file the correct way you must submit an svn delete command
svn delete file1.txt
However this will only work if the file is still there, in the scenario where it has been removed and svn is showing a ! in the status, you can force delete it with :
svn delete file1.txt --force
M - Working copy has been modified
This is the most common status code on an active project, its simply means that a file has been modified and the updated version will be committed next time you do a commit.
G - Changes on the repository were automatically merged into the working copy
You will see this when you do an update (svn up) rather that a status but its important all the same, svn is telling you that is automatically merged changes that somebody else has made into your working copy, In most cases this is a good queue to re-test your own changes (or run that test suite again).
C - Changes on the repository could not be merged in the working copy, manual intervention required
Like G this is svn's way of telling you that changes exist on the server but unlike G the svn client was not able to automatically merge in the changes, its now up to you the developer with the assistance of the developer who made the change in the repository to collaborate and decide which lines of code stay and which ones go.
As of svn version 1.5 interactive conflict resolution was introduced which will allow you to resolve conflicts when you perform an SVN up, providing you have the SVN_EDITOR environment variable set you can open the effected file and see the conflict:
-Just buy a sandwich.+<<<<<<< .mine+Go pick up a cheesesteak.+=======+Bring me a taco!+>>>>>>> .r32blah blah blah...
I will write a detailed article about conflict resolution in a later post as it is somewhat out of the scope of this brief guide but for now I would suggest you look at the SVN book for further details.
There are many more status codes, and I welcome your comments on them but for me these are the ones I come across most in my travels and from 2 years of manning the Code Spaces support desk these are the ones that catch out users who are new to Subversion.
Updates this Sunday (15th Nov 2009)
We will be performing some updates to the Subversion Cluster on Sunday the 15th Nov 2009, the updates will cause a 30 minute outage from 10:00 (GMT) to 10:30 (GMT).
The update includes a Subversion Update which will bring all the SVN servers up to version 1.6.6
This change will not effect your working copies in any way, you will not need to update anything (unless you want to).
Please Contact Us if you have any queries about this?
Cheers,
Floyd Price
Code Spaces
Add Work Items by Email
As well as the super extensive API we offer you can also enable Work Item creation by email.
Getting Started
In the project setting tab you will see a check box labeled "Email In Work Items" once checked your project email address will become active.
Usage
Using the email address displayed in the project settings tab you can email work items directly in to your project, this is a great way to give your users mechanism to send in bugs.
You can also get notification messages when this happened if you have check the the appropriate options in your user profile
As always we are really keen to here your thoughts about this, so please Contact Us
Code Spaces API
We have had an API in Code Spaces for about a year now, but until now have neglected to tell a single soul... about 100 of you have spotted it and asked for details so finally here is a fancy guide.
We will be creating sample code for Ruby, C# and Java developers (and any other language you guys ask for) in the coming days.
Getting Started
In the Code Spaces admin section select the project you want to work with and select the API Settings tab.
You will notice a brief list of available functions and a check box to enable the API for this project.
Check the Enable API box and the functions you wish to use.
Now you have enabled the API you will need to use the API Key.
The Api is a simple RESTful service and uses the following URL conventions:
https://[your_account].codespaces.com/api/[resource].xml
When you hit this URL you will be prompted for a username and password, the username is your API key and the password is blank.
Resources
List Work Items - Retrieve a list of work items.
URL (GET) :
https://[your_account].codespaces.com/api/work_items
Edit Work Items - Update existing work items.
URL (PUT) :
https://[your_account].codespaces.com/api/work_items/wi_id/
Create Work Items - Create a new work items.
URL (PUT) : https://[your_account].codespaces.com/api/work_items/
Project Details - Retrieve information about the current project.
URL (PUT) : https://[your_account].codespaces.com/api/work_items/
List Project Components - Retrieve a list of Project Components.
URL (GET) : https://[your_account].codespaces.com/api/project
List Project Milestones - Retrieve a list of Project Milestones.
URL (GET) : https://[your_account].codespaces.com/api/project_milestones
List Project Users - Retrieve a list of Project Users.
URL (GET) : https://[your_account].codespaces.com/api/users
List Work Item Priorities - Retrieve a list of Work Item Priorities
URL (GET) : https://[your_account].codespaces.com/api/work_item_priorities
List Work Item Statuses - Retrieve a list of Work Item Statuses
URL (GET) : https://[your_account].codespaces.com/api/work_item_statuses
List Work Item Types - Retrieve a list of Work Item Types
URL (GET) : https://[your_account].codespaces.com/api/work_item_types
Some Code Space Updates. 1
We have just publish the following updates to the Code Spaces application.
- Fixed Require SSL Support
If you select “Applicaion Requires SSL” or “Login Requires SSL” in the Code Spaces admin section this will be reflected by the App.
- SVN Over SSL Option
You have always been able to use svn over SSL, however you now have the option in the Code Spaces admin section to force SSL.
- Activity Timeline
You will notice a new tab names “Activity Timeline”, this is a simple top down view of your project activity.
- Time Tracking
We have moved the time tracking attributes to a tab inside the Work Item editor and added estimates and actual attributes (We will be creating Burn Rate and velocity graphs for the next release).
- Language Support
We have added support for multiple languages (although we currently only have English) and will be adding more languages this week, including German, French and Spanish. Please let us know if you require any other languages.
That’s about all for now ;-)
As always let us know if you have any issues and/or comments…
Cheers,
Floyd Price
Code Spaces
Svn Backups 1
Further to Adrian’s recent announcement about v2.6 I would also like to add that the SVN Backups tab is now available via the Admin tab, which gives you direct access to your SVN backups.
Please let us know if you have any feedback for any of these enhancements?
Cheers,
Floyd Price
Code Spaces
SVN 1.5.5 Upgrade Complete and Code Spaces v3.0 is coming. 11
The planned upgrade to Subversion 1.5.5 went ahead today and was completed without incident (it’s always nice when that happens).
While i’m here i thought i would give a quick note about our plans for CodeSpaces v3.0 ;-)
Scope
- UI Re-write
Many users have stated that the current UI isn’t quick enough for continued use and some of the UI conventions arn’t as intuative as they could be, with this in mind we are completeley re-writing the UI with Speed and Ease of use being our guiding principles.
- Time Tracking
Tracking time against Work Items is essential for project managers, as such this will be implemented in v3.0
- Card Walls
For Agile teams that use Card Walls (story boards) we have developed an integrated card wall module that incorperates the Code Spaces Work Items, Milestones and Users.
- Project Admins
The current system allows for many Accoutn admins but not specific project admins, this is a real pain to our customers with multiple projects.
- SVN Commit Postbacks
When a commit occures on one of your repositories you can specifiy a postbacj URL that the Code Spaces system will call detailing the commit details, this will allow for easy integration with other systems post commit.
- Code Spaces API
The current Beta API will be re-written taking in to account the feedback that we have been given over the last few months.
- Subversion Folder Permissions
Subversion allows for granular permissions that are currently not exposed via the Code Spaces system, this will be resolved in v3.0
- Large Commit Issues
Some users report time out issues with large commits, after investigation we have identified a flaw in the underlying technology that we developed to manage multiple SVN accounts and servers, this will be enhanced as part of v3.0
Schedule
We will be releasing a Live BETA towards the end of this quarter to allow users to test the NEW UI against existing Data, We will then schedule in a Live release resulting in a complete migration from the v2.x UI to the v3.0 UI in the following month.
Feedback
Most of the v3.0 functionality is already developed but now is the time to give feedback on these features or any missing functionality that you might have noticed.
SVN 1.5 Upgrade
We are please to announce that we will be upgrading our SVN cluster to Subversion 1.5 this weekend.
The Subversion cluster will be unavailible from 10:00(GMT) to 11:00(GMT) on Sunday the 11th Jan 2009
Once the upgrade is completed normal service will be resumed.
Cheers,
Floyd.
We're hiring!
Code Spaces is growing and as such we are looking for a software developer to join our team. Ideally we are looking for somebody with knowledge or experience of:
- C# (2.0+)
- .NET
- Ruby
- Oracle or SQL Server or MySQL
- Agile Methodologies
As part of the Code Spaces team you will gain experience in Ruby (on Rails) and MySql while working our products Code Spaces and Traqus, you will also gain experience in .NET and C# 3.5 while working on one of our many consulting engagements.
So if your an enthusiastic software developer, and would like to join our team, Send your resume to jobs[AT]codespaces.com
CodeSpaces.com
Code Spaces is an online development and collaboration service that includes: Subversion Hosting, Project Management, Work Items, Forums, and much more.
Links
Categories
Tags
Archives
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009