I'd like to know if there is any personal source controller, I'd like to have a repository on my machine without going through setting up a server, also I work with TeX files not any particular language and I'd like to have backups of my files the way sub version does
Git creates repositories that do not require a central server. Also, you can of course restore any previous version for tracked files which is—of course—what source control systems are all about. :)
Edit: There are other decentralized version control systems out there, e.g. Mercurial and Bazaar. They all offer more or less exactly the same features so it’s mostly a matter of personal taste.
If you install TortoiseSVN you have Subversion support included in your Windows Explorer. You don't need to install SVN because everything it needs is included in the setup. You can create a repository anywhere in the filesystem where you want.
I'd like to have backups of my files the way sub version does
There you go, you just answered your own question. Use subversion, you can install it as a local repository, or even keep the repository on a flash/usb disk. That's what I do.
i'm not sure what you mean by svn backup. probably you should try mercurial (hg).
- your local files and the repository are at the same place (it's a distributed system)
- you can easily move the local files/repository around
- use pull/push to sync with another parent repository (i.e. on an external harddrive for backup)
- doesn't need a server
- easy to work with others, even just using email & mercurial bundels ...
- has much more features than svn, e.g. you have more control if you change something (in a new branch or using mercurial-queues) and then switching to these changes in one go.
If you work on a Windows machine and don't want to set up a Subversion server and service, I can recommend Mercurial together with TortoiseHg.
TortoiseHg is a graphical user interface for Mercurial just like TortoiseSVN is for Subversion. So if you have Subversion experience, it will be easy for you to switch to Mercurial.
Mercurial does not need a special server or even a repository location, you set up your repositories in your project directory. You can then move or copy your project directory including your repository, for example to copy it to a laptop. Afterwards, you can merge he two copies of your project directory. So you are always carrying your repository with you.
Another alternative is to use Fossil. This little application keep all your stuff inside a SQLite database and the same application is a issue tracker so you can track your TeX, code, etc and even the tasks you need to work on. For a small project i find this pretty cool since I can have it on a USB disk.
I use DropBox, because my files are automatically synchronized among various computers I use, files are available from any PC with username and password and it automatically backs up any previous versions of uploaded files.
It might not be perfect and I would think twice about using it for any project where security is a issue, but for my own work, especially not work related, I love it.
Hope this helps.
I use Tortoise SVN and I keep my repository on my pendrive. That way I can plug it into any machine that I'm using whether it's on or off-line, windows or linux etc.; check my workspace out; and feel fairly confident that I can keep it all in sync.
Of course, there's always the danger of losing the pendrive, but I'm not too worried as I tend to have a couple of machine with up-to-date versions of everything.
For clarification if you are interested in SVN or tortoiseSVN:
You can create a local svn-repository by using:
svnadmin create c:\my_folder\new_repo
or the appropriate TortoiseSVN Command "Create repository here"
You can checkout your Repository with the well-known file URL:
svn checkout file:///c:/my_folder/new_repo
or by using the checkout dialog of Tortoise SVN and using this File-URL. Note that you need 3 slashes after
file:
and all Windows backslashes("\") must be converted to normal slashes ("/")
Then you have a Subversion workingcopy up and running and can use it as you like.
No, you don't need to go for subversion or Git, if it's for a one man project there is no reason to make it that complex. If you want something local on your conmputer without a server and with minimal configuration I would go for something like History Explorer
It makes it easy for you to see what files you have changed and rewind to any point in time. Also it doen't require you to check in files. It's automatic.