Announcement

Collapse
No announcement yet.

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

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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:
    Name:  c321c06be1ccf6add7210e34bf3b2157.jpg
Views: 1
Size:  5.6 KB
    (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:
    Name:  6addfa017a0f216ccde8310bb06c159b.jpg
Views: 1
Size:  12.5 KB
    (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-10-2012, 12:00 AM. Reason: To fix the images.

  • #2
    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

    Comment


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

      Thanks,

      Comment


      • #4
        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

        Comment


        • #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.

          Comment


          • #6
            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, 11: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

            Comment


            • #7
              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

              Comment


              • #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, 11:12 AM.

                Comment

                Working...
                X