Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Choosing VCS for Single Developer, Small Projects, Two PC's, Two Locations

Choosing VCS for Single Developer, Small Projects, Two PC's, Two Locations

Scheduled Pinned Locked Moved The Lounge
collaborationvisual-studiosysadminalgorithmstools
84 Posts 49 Posters 38 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P PIEBALDconsult

    What?! :confused:

    D Offline
    D Offline
    Dave Kreskowiak
    wrote on last edited by
    #9

    Yes, it's true. Read:

    Quote:

    9. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. For more information, see www.microsoft.com/licensing/userights. You may not • work around any technical limitations in the software; • reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; • make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation; • publish the software for others to copy; • rent, lease or lend the software; or • use the software for commercial software hosting services.

    The Express editions of Visual Studio don't get Source Control until the release of version 11 and TFS Express. Yes, you heard that right, Team Foundation Server Express[^] edition.

    A guide to posting questions on CodeProject[^]
    Dave Kreskowiak

    P S 2 Replies Last reply
    0
    • M M Badger

      OK, slightly confused - does that answer assume I am trying to integrate whatever I end up using with VS Express? If so I think I get that, since it isn't designed to work with extensions then I can imagine the licence restrictions refer to not doing so (not having read all 9x10^6 pages). But...if I was happy to not have IDE integration but just be able, when I've finished a coding session, to push the changed files to an online repository (be it a specific VCS repository or otherwise, like GitHub for example) then what would my options be? Thanks, Mike

      D Offline
      D Offline
      Dave Kreskowiak
      wrote on last edited by
      #10

      You can use anything you want, so long as it's not integrated with Visual Studio Express. Just Google for "online SVN" and you'll come up with a list of them, as well as discussions on their pros, cons and limitations.

      A guide to posting questions on CodeProject[^]
      Dave Kreskowiak

      1 Reply Last reply
      0
      • M M Badger

        (I couldn't find a better forum for this q, hope it's not out of place) I am a hobbyist just having fun trying to do things that seem interesting, so I have a range of small projects. I work on two laptops at two locations and use a network location at both locations for file storage (network drive at work and a NAS at home) for backup reasons. So, to work on one project I end up shuffling updates back and forth on a USB stick or having to crank up the work laptop at home and connect via VPN just to pull the files. I'd like to be able to use something like a VCS to manage this, recognising (and liking) the extra benefit of being able to rollback to previous versions etc. (fallen foul of this once or twice already). I haven't used SVN, GIT, Bazaar etc. before so I'm not at all familiar (yet) with using them - though I'm happy with the general concept of version control, just not as applied to software development nor doing so via the VCS used in software development. Clearly my preference is for something really simple that does the two jobs I described quickly and easily - (a) make it easy to work on two different devices at two different locations without shuttling USB sticks back and forth and (b) rollbacks. If it has other features then that's great but not if they come at a significant cost in complexity. So, is there anything you could recommend? Or do I need to make some compromises? (Using VS Express so cannot install AddIns but can add menu commands via the External Tools functionality). Thanks, Mike

        B Offline
        B Offline
        BobJanova
        wrote on last edited by
        #11

        It's easy to set up an SVN server if you have an Internet-accessible address; if not you may still have to VPN to get access to the source control. I use VisualSVN because ... well, no particularly good reason actually, but it works fine. I've heard good things about GIT or Mercurial (similar concepts), but I haven't experienced them directly. If you don't have a machine which is externally visible then you may want to investigate SVN (or GIT) hosting. I think there are some places you can get it for free.

        1 Reply Last reply
        0
        • M M Badger

          (I couldn't find a better forum for this q, hope it's not out of place) I am a hobbyist just having fun trying to do things that seem interesting, so I have a range of small projects. I work on two laptops at two locations and use a network location at both locations for file storage (network drive at work and a NAS at home) for backup reasons. So, to work on one project I end up shuffling updates back and forth on a USB stick or having to crank up the work laptop at home and connect via VPN just to pull the files. I'd like to be able to use something like a VCS to manage this, recognising (and liking) the extra benefit of being able to rollback to previous versions etc. (fallen foul of this once or twice already). I haven't used SVN, GIT, Bazaar etc. before so I'm not at all familiar (yet) with using them - though I'm happy with the general concept of version control, just not as applied to software development nor doing so via the VCS used in software development. Clearly my preference is for something really simple that does the two jobs I described quickly and easily - (a) make it easy to work on two different devices at two different locations without shuttling USB sticks back and forth and (b) rollbacks. If it has other features then that's great but not if they come at a significant cost in complexity. So, is there anything you could recommend? Or do I need to make some compromises? (Using VS Express so cannot install AddIns but can add menu commands via the External Tools functionality). Thanks, Mike

          L Offline
          L Offline
          lewax00
          wrote on last edited by
          #12

          Github[^] + Git is good if you don't mind your projects being publicly visible (unless you get a paid account). You also get the advantage of having the ability to do rollbacks and commits when you don't have access to the internet.

          P 1 Reply Last reply
          0
          • M M Badger

            (I couldn't find a better forum for this q, hope it's not out of place) I am a hobbyist just having fun trying to do things that seem interesting, so I have a range of small projects. I work on two laptops at two locations and use a network location at both locations for file storage (network drive at work and a NAS at home) for backup reasons. So, to work on one project I end up shuffling updates back and forth on a USB stick or having to crank up the work laptop at home and connect via VPN just to pull the files. I'd like to be able to use something like a VCS to manage this, recognising (and liking) the extra benefit of being able to rollback to previous versions etc. (fallen foul of this once or twice already). I haven't used SVN, GIT, Bazaar etc. before so I'm not at all familiar (yet) with using them - though I'm happy with the general concept of version control, just not as applied to software development nor doing so via the VCS used in software development. Clearly my preference is for something really simple that does the two jobs I described quickly and easily - (a) make it easy to work on two different devices at two different locations without shuttling USB sticks back and forth and (b) rollbacks. If it has other features then that's great but not if they come at a significant cost in complexity. So, is there anything you could recommend? Or do I need to make some compromises? (Using VS Express so cannot install AddIns but can add menu commands via the External Tools functionality). Thanks, Mike

            R Offline
            R Offline
            Rage
            wrote on last edited by
            #13

            Subversion or Mercury.

            1 Reply Last reply
            0
            • M M Badger

              (I couldn't find a better forum for this q, hope it's not out of place) I am a hobbyist just having fun trying to do things that seem interesting, so I have a range of small projects. I work on two laptops at two locations and use a network location at both locations for file storage (network drive at work and a NAS at home) for backup reasons. So, to work on one project I end up shuffling updates back and forth on a USB stick or having to crank up the work laptop at home and connect via VPN just to pull the files. I'd like to be able to use something like a VCS to manage this, recognising (and liking) the extra benefit of being able to rollback to previous versions etc. (fallen foul of this once or twice already). I haven't used SVN, GIT, Bazaar etc. before so I'm not at all familiar (yet) with using them - though I'm happy with the general concept of version control, just not as applied to software development nor doing so via the VCS used in software development. Clearly my preference is for something really simple that does the two jobs I described quickly and easily - (a) make it easy to work on two different devices at two different locations without shuttling USB sticks back and forth and (b) rollbacks. If it has other features then that's great but not if they come at a significant cost in complexity. So, is there anything you could recommend? Or do I need to make some compromises? (Using VS Express so cannot install AddIns but can add menu commands via the External Tools functionality). Thanks, Mike

              P Offline
              P Offline
              Phil J Pearson
              wrote on last edited by
              #14

              You may find that Dropbox (free here[^]) is the best way to do it. It's not version control (although it does have some limited ability to do that) but you could keep your codebase in it and have it automatically synchronised across as many machines as you wish.

              Phil


              The opinions expressed in this post are not necessarily those of the author, especially if you find them impolite, inaccurate or inflammatory.

              T 1 Reply Last reply
              0
              • M M Badger

                (I couldn't find a better forum for this q, hope it's not out of place) I am a hobbyist just having fun trying to do things that seem interesting, so I have a range of small projects. I work on two laptops at two locations and use a network location at both locations for file storage (network drive at work and a NAS at home) for backup reasons. So, to work on one project I end up shuffling updates back and forth on a USB stick or having to crank up the work laptop at home and connect via VPN just to pull the files. I'd like to be able to use something like a VCS to manage this, recognising (and liking) the extra benefit of being able to rollback to previous versions etc. (fallen foul of this once or twice already). I haven't used SVN, GIT, Bazaar etc. before so I'm not at all familiar (yet) with using them - though I'm happy with the general concept of version control, just not as applied to software development nor doing so via the VCS used in software development. Clearly my preference is for something really simple that does the two jobs I described quickly and easily - (a) make it easy to work on two different devices at two different locations without shuttling USB sticks back and forth and (b) rollbacks. If it has other features then that's great but not if they come at a significant cost in complexity. So, is there anything you could recommend? Or do I need to make some compromises? (Using VS Express so cannot install AddIns but can add menu commands via the External Tools functionality). Thanks, Mike

                M Offline
                M Offline
                M Badger
                wrote on last edited by
                #15

                Thanks for all the answers. I've looked at Git (not yet GitHub) and Bazaar (plus looked into Launchpad a little). When I installed both of those it felt a little like overkill with the consequent learning curve in order to do something fairly simple, hence this thread to see if there was something else that was built for a more simple job, rather than being big and flexible (but complex) enough for any and every size of project. Remember I haven't used VCS for software projects, so this is all new to me, commit, branch, fork, trunk etc. - at a high level easy enough to understand but when you have something practical to do it's not that easy to actually implement it if you've never done it before! So, someone said "You can use anything you want" - I guess what I was hoping for was something like, "When you just need something simple, this tool is great...", even if it didn't upscale that well (or at all) should I ever want to get into something more serious. So, if there is a specific answer like that - great :) If not then I guess I'll just have to plump for one and break it a few times until I learn how not to break it... Mike

                L M 2 Replies Last reply
                0
                • M M Badger

                  Thanks for all the answers. I've looked at Git (not yet GitHub) and Bazaar (plus looked into Launchpad a little). When I installed both of those it felt a little like overkill with the consequent learning curve in order to do something fairly simple, hence this thread to see if there was something else that was built for a more simple job, rather than being big and flexible (but complex) enough for any and every size of project. Remember I haven't used VCS for software projects, so this is all new to me, commit, branch, fork, trunk etc. - at a high level easy enough to understand but when you have something practical to do it's not that easy to actually implement it if you've never done it before! So, someone said "You can use anything you want" - I guess what I was hoping for was something like, "When you just need something simple, this tool is great...", even if it didn't upscale that well (or at all) should I ever want to get into something more serious. So, if there is a specific answer like that - great :) If not then I guess I'll just have to plump for one and break it a few times until I learn how not to break it... Mike

                  L Offline
                  L Offline
                  lewax00
                  wrote on last edited by
                  #16

                  Mike-MadBadger wrote:

                  so this is all new to me, commit, branch, fork, trunk etc.

                  For small personal projects you probably only need commit (and push, if you use a system like Git/Mercurial), checkout/clone (to get the files the first time), and update/pull to get any changes from the server. But you can hide most of that through a GUI tool like TortoiseSvn/TortoiseGit/Tortoise[insert other VCS here] if you're on Windows.

                  1 Reply Last reply
                  0
                  • P PIEBALDconsult

                    Personally, what I'd like is some sort of "VCS-on-a-stick" -- have everything on a USB device that can be carried around and used on any (Windows) system where I may need it. :cool:

                    L Offline
                    L Offline
                    lewax00
                    wrote on last edited by
                    #17

                    Well you could host an SVN repository on a USB stick, and probably install something like TortoiseSvn on the stick (though, you'd lose out on things like the icon overlays) if you really wanted to.

                    1 Reply Last reply
                    0
                    • D Dave Kreskowiak

                      Yes, it's true. Read:

                      Quote:

                      9. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. For more information, see www.microsoft.com/licensing/userights. You may not • work around any technical limitations in the software; • reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; • make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation; • publish the software for others to copy; • rent, lease or lend the software; or • use the software for commercial software hosting services.

                      The Express editions of Visual Studio don't get Source Control until the release of version 11 and TFS Express. Yes, you heard that right, Team Foundation Server Express[^] edition.

                      A guide to posting questions on CodeProject[^]
                      Dave Kreskowiak

                      P Offline
                      P Offline
                      PIEBALDconsult
                      wrote on last edited by
                      #18

                      That doesn't mean that he can't use a version control system.

                      D 1 Reply Last reply
                      0
                      • M M Badger

                        (I couldn't find a better forum for this q, hope it's not out of place) I am a hobbyist just having fun trying to do things that seem interesting, so I have a range of small projects. I work on two laptops at two locations and use a network location at both locations for file storage (network drive at work and a NAS at home) for backup reasons. So, to work on one project I end up shuffling updates back and forth on a USB stick or having to crank up the work laptop at home and connect via VPN just to pull the files. I'd like to be able to use something like a VCS to manage this, recognising (and liking) the extra benefit of being able to rollback to previous versions etc. (fallen foul of this once or twice already). I haven't used SVN, GIT, Bazaar etc. before so I'm not at all familiar (yet) with using them - though I'm happy with the general concept of version control, just not as applied to software development nor doing so via the VCS used in software development. Clearly my preference is for something really simple that does the two jobs I described quickly and easily - (a) make it easy to work on two different devices at two different locations without shuttling USB sticks back and forth and (b) rollbacks. If it has other features then that's great but not if they come at a significant cost in complexity. So, is there anything you could recommend? Or do I need to make some compromises? (Using VS Express so cannot install AddIns but can add menu commands via the External Tools functionality). Thanks, Mike

                        A Offline
                        A Offline
                        AspDotNetDev
                        wrote on last edited by
                        #19

                        For my personal projects, I am currently using SmartSVN (a visual Subversion client, $80) with CodeSpaces (a place to store your Subversion repository, $4+/month). CodeSpaces is easy/cheap and allows for both Subversion and Git repositories. It has other features (project management, bug tracking, ...), but I don't use them. SmartSVN is standalone, so it doesn't require integration with Visual Studio or Windows Explorer (I consider that a positive, as I don't want my VCS software messing with my other software).

                        Thou mewling ill-breeding pignut!

                        1 Reply Last reply
                        0
                        • P Phil J Pearson

                          You may find that Dropbox (free here[^]) is the best way to do it. It's not version control (although it does have some limited ability to do that) but you could keep your codebase in it and have it automatically synchronised across as many machines as you wish.

                          Phil


                          The opinions expressed in this post are not necessarily those of the author, especially if you find them impolite, inaccurate or inflammatory.

                          T Offline
                          T Offline
                          Terrence Dorsey
                          wrote on last edited by
                          #20

                          +1 for Dropbox. It does have limited versioning... enough for fooling around. Git is also handy if you're not trying to do anything fancy and don't mind the command line. Between GitHub and other software resource that use git, it's worth having at least some familiarity. Here are a few git-related articles I've featured in the Daily Insider during the last year: Think Like (a) Git Nick Farina - Git Is Simpler Than You Think Adding Git Command Line To Visual Studio

                          Director of Content Development, The Code Project

                          1 Reply Last reply
                          0
                          • M M Badger

                            (I couldn't find a better forum for this q, hope it's not out of place) I am a hobbyist just having fun trying to do things that seem interesting, so I have a range of small projects. I work on two laptops at two locations and use a network location at both locations for file storage (network drive at work and a NAS at home) for backup reasons. So, to work on one project I end up shuffling updates back and forth on a USB stick or having to crank up the work laptop at home and connect via VPN just to pull the files. I'd like to be able to use something like a VCS to manage this, recognising (and liking) the extra benefit of being able to rollback to previous versions etc. (fallen foul of this once or twice already). I haven't used SVN, GIT, Bazaar etc. before so I'm not at all familiar (yet) with using them - though I'm happy with the general concept of version control, just not as applied to software development nor doing so via the VCS used in software development. Clearly my preference is for something really simple that does the two jobs I described quickly and easily - (a) make it easy to work on two different devices at two different locations without shuttling USB sticks back and forth and (b) rollbacks. If it has other features then that's great but not if they come at a significant cost in complexity. So, is there anything you could recommend? Or do I need to make some compromises? (Using VS Express so cannot install AddIns but can add menu commands via the External Tools functionality). Thanks, Mike

                            P Offline
                            P Offline
                            peterchen
                            wrote on last edited by
                            #21

                            git, becsue - distributed DVCS are addictive - git is the "lowes common denominator everyone agrees on". It's a pain to learn, and both the built-in and the 3rd party visualizations give me UX flinches. Other than that, it does most things right. DVCS gives you rollbacks on stereoids. But that's not the key: they can change how you work with source code.

                            FILETIME to time_t
                            | FoldWithUs! | sighist | WhoIncludes - Analyzing C++ include file hierarchy

                            P S 2 Replies Last reply
                            0
                            • M M Badger

                              Thanks for all the answers. I've looked at Git (not yet GitHub) and Bazaar (plus looked into Launchpad a little). When I installed both of those it felt a little like overkill with the consequent learning curve in order to do something fairly simple, hence this thread to see if there was something else that was built for a more simple job, rather than being big and flexible (but complex) enough for any and every size of project. Remember I haven't used VCS for software projects, so this is all new to me, commit, branch, fork, trunk etc. - at a high level easy enough to understand but when you have something practical to do it's not that easy to actually implement it if you've never done it before! So, someone said "You can use anything you want" - I guess what I was hoping for was something like, "When you just need something simple, this tool is great...", even if it didn't upscale that well (or at all) should I ever want to get into something more serious. So, if there is a specific answer like that - great :) If not then I guess I'll just have to plump for one and break it a few times until I learn how not to break it... Mike

                              M Offline
                              M Offline
                              M Badger
                              wrote on last edited by
                              #22

                              Once again, thanks to all. Looks like I need to go off andlearn how to play nicely with a VCS and a hosting site like GitHub or Launchpad. Ho hum. Thanks again. Mike

                              S 1 Reply Last reply
                              0
                              • P PIEBALDconsult

                                That doesn't mean that he can't use a version control system.

                                D Offline
                                D Offline
                                Dave Kreskowiak
                                wrote on last edited by
                                #23

                                Tell that to Microsoft. According to them, you also can't create something that will offer that functionality either. Just ask the guy who wrote TestDriven.net about that.

                                A guide to posting questions on CodeProject[^]
                                Dave Kreskowiak

                                P 1 Reply Last reply
                                0
                                • M M Badger

                                  OK, slightly confused - does that answer assume I am trying to integrate whatever I end up using with VS Express? If so I think I get that, since it isn't designed to work with extensions then I can imagine the licence restrictions refer to not doing so (not having read all 9x10^6 pages). But...if I was happy to not have IDE integration but just be able, when I've finished a coding session, to push the changed files to an online repository (be it a specific VCS repository or otherwise, like GitHub for example) then what would my options be? Thanks, Mike

                                  B Offline
                                  B Offline
                                  Brisingr Aerowing
                                  wrote on last edited by
                                  #24

                                  I use TortiseHG[^] and BitBucket[^] for version control (I have VS 2010 Ultimate, BTW). TortiseHG is kind of finicky to get working, but once you know how to use it, you can get changes pushed online rather quickly.

                                  public class SysAdmin : Employee
                                  {

                                   public override void DoWork(IWorkItem workItem)
                                   {
                                        if (workItem.User.Type == UserType.NoLearn){
                                           throw new NoIWillNotFixYourComputerException(new Luser(workItem.User));
                                        }else{
                                             base.DoWork(workItem);
                                        }
                                   }
                                  

                                  }

                                  O C 2 Replies Last reply
                                  0
                                  • D Dave Kreskowiak

                                    Tell that to Microsoft. According to them, you also can't create something that will offer that functionality either. Just ask the guy who wrote TestDriven.net about that.

                                    A guide to posting questions on CodeProject[^]
                                    Dave Kreskowiak

                                    P Offline
                                    P Offline
                                    PIEBALDconsult
                                    wrote on last edited by
                                    #25

                                    Then explain Subversion, et al.

                                    D 2 Replies Last reply
                                    0
                                    • P PIEBALDconsult

                                      Then explain Subversion, et al.

                                      D Offline
                                      D Offline
                                      Dave Kreskowiak
                                      wrote on last edited by
                                      #26

                                      I'd love to but there's no explaining lawyer logic! ;)

                                      A guide to posting questions on CodeProject[^]
                                      Dave Kreskowiak

                                      G 1 Reply Last reply
                                      0
                                      • D Dave Kreskowiak

                                        I'd love to but there's no explaining lawyer logic! ;)

                                        A guide to posting questions on CodeProject[^]
                                        Dave Kreskowiak

                                        G Offline
                                        G Offline
                                        glenner003
                                        wrote on last edited by
                                        #27

                                        But it's not because you can't extend VS that you are unable to use a version control system. You can use one from the command line or use a client like tortoise. You'll learn more about source control too.

                                        P S D 3 Replies Last reply
                                        0
                                        • M M Badger

                                          (I couldn't find a better forum for this q, hope it's not out of place) I am a hobbyist just having fun trying to do things that seem interesting, so I have a range of small projects. I work on two laptops at two locations and use a network location at both locations for file storage (network drive at work and a NAS at home) for backup reasons. So, to work on one project I end up shuffling updates back and forth on a USB stick or having to crank up the work laptop at home and connect via VPN just to pull the files. I'd like to be able to use something like a VCS to manage this, recognising (and liking) the extra benefit of being able to rollback to previous versions etc. (fallen foul of this once or twice already). I haven't used SVN, GIT, Bazaar etc. before so I'm not at all familiar (yet) with using them - though I'm happy with the general concept of version control, just not as applied to software development nor doing so via the VCS used in software development. Clearly my preference is for something really simple that does the two jobs I described quickly and easily - (a) make it easy to work on two different devices at two different locations without shuttling USB sticks back and forth and (b) rollbacks. If it has other features then that's great but not if they come at a significant cost in complexity. So, is there anything you could recommend? Or do I need to make some compromises? (Using VS Express so cannot install AddIns but can add menu commands via the External Tools functionality). Thanks, Mike

                                          A Offline
                                          A Offline
                                          Alberto Biasiutti
                                          wrote on last edited by
                                          #28

                                          Don't know if anyone already suggested that, but I'm using Plastic SCM and I am quite satisfied by the product. It has some "advanced" futures, but it's quite simple for the base use. It's free up to 15 "client" installations, so it may be a good solution for you. It will optionally add scm actions to controlled files and folder via explorer. Only "limitation", you won't have integration in VS Express.. note: in any case, you will have to register and obtain a free license. Alberto

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups