Version control on a 2GB USB drive

前端 未结 14 1735
南笙
南笙 2020-12-07 11:30

For my school work, I do a lot of switching computers (from labs to my laptop to the library). I\'d kind of like to put this code under some kind of version control. Of co

相关标签:
14条回答
  • 2020-12-07 11:58

    I will get lynched for saying this answer, but it works under Windows: RCS.

    You simply make an RCS directory in each of the directories with your code. When time comes to check things in, ci -u $FILE. (Binary files also require you to run rcs -i -kb $FILE before the first checkin.)

    Inside the RCS directory are a bunch of ,v files, which are compatible with CVS, should you wish to "upgrade" to that one day (and from there to any of the other VCS systems other posters mentioned). :-)

    0 讨论(0)
  • 2020-12-07 11:59

    I do this with Git. Simply, create a Git repository of your directory:

    git-init
    git add .
    git commit -m "Done"
    

    Insert the stick, cd to directory on it (I have a big ext2 file I mount with -o loop), and do:

    git-clone --bare /path/to/my/dir
    

    Then, I take the stick to other computer (home, etc.). I can work directly on stick, or clone once again. Go to some dir on the hard disk and:

    git-clone /path/to/stick/repos
    

    When I'm done with changes, I do 'git push' back to stick, and when I'm back at work, I 'git push' once again to move the changes from stick to work computer. Once you set this up, you can use 'git pull' to fetch the changes only (you don't need to clone anymore, just the first time) and 'git push' to push the changes the other way.

    The beauty of this is that you can see all the changes with 'git log' and even keep some unrelated work in sync when it changes at both places in the meantime.

    If you don't like the command line, you can use graphical tools like gitk and git-gui.

    0 讨论(0)
  • 2020-12-07 12:01

    You could use Portable Python and Bazaar (Bazaar is a Python app). I like to use Bazaar for my own personal projects because of its extreme simplicity. Plus, it can be portable because Python can be portable. You will just need to install it's dependencies in your Portable Python installation as well.

    0 讨论(0)
  • 2020-12-07 12:01

    You could put the subversion binaries on there - they're only 16ish megs, so you'll have plenty of room for some repositories too. You can use the official binaries from the command line, or point a graphical tool (like TortoiseSVN) to the repository directory. If you're feeling fancy then you could rig the drive to autorun the SVNSERVE application, making any computer into a lightweight subversion server the minute you plug in the drive.

    I found some instructions for this process here.

    0 讨论(0)
  • 2020-12-07 12:03

    Just to add an extra resource Subversion on a Stick. I've just set this up on my 4GB USB Drive, pretty simple and painless.

    Thought I am now very tempted to try Bazaar.

    Update: I've setup PortablePython on my USB drive, simple, but getting bazaar on there ... I gave up, one dependency after another, and as I've got svn working.
    If anyone knows of an easy portable installer, I'd be greatful.

    0 讨论(0)
  • 2020-12-07 12:07

    Darcs is great for this purpose.

    • I can't vouch for other platforms, but on Windows it's just a single executable file which you could keep on the drive.
    • Most importantly, its interactive command line interface is fantastic and very quickly becomes intuitive (I now really miss interactive commits in any VCS which lacks them) - you don't need to memorise many commands as part of your normal workflow either. This is the main reason I use it over git for personal projects.

    Setting up:

    darcs init
    darcs add -r *
    darcs record -am "Initial commit"
    

    Creating a repository on your lab machine:

    darcs get E:\path\to\repos
    

    Checking what you've changed:

    darcs whatsnew      # Show all changed hunks of code
    darcs whatsnew -ls  # List all modified & new files
    

    Interactively creating a new patch from your changes:

    darcs record
    

    Interactively pushing patches to the repository on the drive:

    darcs push
    

    It's known to be slow for large projects, but I've never had any performance issues with the small to medium personal projects I've used it on.

    Since there's no installation required you could even leave out the drive and just grab the darcs binary from the web - if I've forgotten my drive, I pull a copy of the repository I want to work on from the mirror I keep on my webspace, then create and email patches to myself as files:

    darcs get http://example.com/repos/forum/
    # Make changes and record patches
    darcs send -o C:\changes.patch
    
    0 讨论(0)
提交回复
热议问题