Results 1 to 8 of 8

Thread: How to set-up a simple subversion (SVN) workflow.

  1. #1

    How to set-up a simple subversion (SVN) workflow.

    Hi,
    I am trying to set-up a simple SVN workflow at home. I am new to subversion (and programming) so I have been reading the official PDF documentations but still not sure about how to set-up my repository.

    I am working mainly with python, bash and rsl (Renderman Shading Language)

    So I already have a /dev structure on my disk that looks like this:
    devStructure.jpg
    (http://img708.imageshack.us/img708/6...vstructure.png)

    And I have a /site structure that links to my /dev folder. This is where I create (simple) sym. links to the work in progress or completed scripts or bits of programs and shaders:
    siteStructure.jpg
    (http://img651.imageshack.us/img651/5...estructure.png)

    Obviously this is a primitive approach that I would like to improve. But first, I would like to know the following:
    1) Will I set-up separate repositories for each different programming platforms?
    2) Where exactly I should be placing my repository?

    I am looking for something simple and almost only for me. But also learning new skills as well. SVN seems to be a good solution, and learning it will add to my experience. Only that I am not sure how to start.

    Thanks.

    (P.S: This is all for linux.)
    Last edited by symbolix; 04-09-2012 at 05:00 PM. Reason: To fix the images.

  2. #2
    Senior Member Site ModeratorSite Admin
    Join Date
    Mar 2011
    Location
    Chesterfield, UK
    Posts
    771
    Quote Originally Posted by symbolix View Post
    Obviously this is a primitive approach that I would like to improve. But first, I would like to know the following:
    1) Will I set-up separate repositories for each different programming platforms?
    2) Where exactly I should be placing my repository?
    1) Not necessarily. Subversion does not mandate any particular project layout. Many projects have their platform-specific parts in sub-directories of the project's root directory.
    2) On a server somewhere. If you are not comfortable with server administration, there are many free Subversion hosts out there like SourceForge.net for example.
    Mat Booth
    Software Engineer
    WANdisco, Inc.

    I joined the blog-o-web-o-sphere! Linux and Coding Blog

    How To Ask Smart Questions

  3. #3
    I am not sure why I am not able to see my post? Was something wrong with it?

    Thanks,

  4. #4
    Senior Member Site ModeratorSite Admin
    Join Date
    Mar 2011
    Location
    Chesterfield, UK
    Posts
    771
    I forgot to approve your post when I replied, apologies.
    Mat Booth
    Software Engineer
    WANdisco, Inc.

    I joined the blog-o-web-o-sphere! Linux and Coding Blog

    How To Ask Smart Questions

  5. #5
    Ow, I see thanks. Now I can see it. Thanks for you time and help,

    I thought I can start my repository locally, in some "file:///jobs/repos" location?

    So, taking the images I have uploaded as a reference, what would be the best repository structure? For example:

    "ProjectY" that is in /dev/python/projectY can live in "/somePath/repos/projectY"

    and then "ProjectSRF2" that is in /dev/rsl/surface/ProjectSRF2 can live in "/somePath/repos/projectSRF2"

    or can this be arranged in a smarter way?

    Usually I will be dealing with only one file. But sometimes there might be more files related to a project.

    What would be the biggest help to me, is, if an expert can have a look at my images with my current tree structure and suggest what would be the best way of starting up my repository.

    Thanks.

  6. #6
    Senior Member Site ModeratorSite Admin
    Join Date
    Mar 2011
    Location
    Chesterfield, UK
    Posts
    771
    Why don't you keep everything for one project in one directory tree? (There's no right or wrong answer, just curious.) Oh wait, ignore that. I read your images as there being lots of "project1" directories, but they are all subtly different.

    It is convention (but by no means necessary) to have a trunk/ branches/ tags/ directories for development, branching development and releases, respectively. So a common approach is to have:

    Code:
    trunk
      |--- projectA
      |--- projectB
      '--- projectC
    branches
      |--- projectA_fooBranch
      '--- projectC_barBranch
    tags
      |--- projectA-1.0.0
      |--- projectA-2.5.0
      |--- projectB-1.0.0
      '--- projectC-1.0.0
    But it really is up to you and it is OK to categorise your projects with subdirectories. There's nothing to stop you re-arranging the layout later on if you find your current layout unsatisfactory.
    Last edited by mbooth; 04-10-2012 at 04:04 AM.
    Mat Booth
    Software Engineer
    WANdisco, Inc.

    I joined the blog-o-web-o-sphere! Linux and Coding Blog

    How To Ask Smart Questions

  7. #7
    Senior Member Site ModeratorSite Admin
    Join Date
    Mar 2011
    Location
    Chesterfield, UK
    Posts
    771
    I thought I can start my repository locally, in some "file:///jobs/repos" location?
    Well, you can but that doesn't scale beyond a single user and we do not recommended deploying Subversion in that way.
    Mat Booth
    Software Engineer
    WANdisco, Inc.

    I joined the blog-o-web-o-sphere! Linux and Coding Blog

    How To Ask Smart Questions

  8. #8
    Well, for now, I am the only user. But you are right, in order to test the whole scale of SVN it is a good idea to have it on a server, I have a small website hosted at a server, I am sure they can provide a subversion service if I ask them. So even I am the only user, I can still connect and store my repos at a server.

    And thanks for the suggestion about the folder structure, I guess I will just need to setup a repose and start committing test projects into there.

    Thanks.

    /* EDIT */

    In fact I am looking at my web hosting control panel now, and they are providing subversion support! Great!
    Last edited by symbolix; 04-10-2012 at 04:12 AM.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •