Free Version Control and Issue Tracking System [closed] - version-control

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
What are the most convenient, intuitive and easy to use Freeware Version ControlSystem and Issue Tracking system for home PC (without a LAN)?
Note that, GUIs are a must for both.

Install your own copy of Trac, it runs by default with SQLite so you won't need a database server (I guess the home computer doesn't have many resources).
For Version Control SVN will be just fine, if you use Windows try VisualSVN for a faster setup.

I recommend Redmine for issue tracking/project management, and Git for version control. Redmine supports most SCM:s like CVS, Subversion, Git, Darcs, Mercurial, and Bazaar.
Redmine features:
Multiple projects support
Flexible role based access control
Flexible issue tracking system
Gantt chart and calendar
News, documents & files management
Feeds & email notifications
Per project wiki
Per project forums
Time tracking
Custom fields for issues, time-entries, projects and users
SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
Issue creation via email
Multiple LDAP authentication support
User self-registration support
Multilanguage support
Multiple databases support
For extremely easy installation, Redmine can be installed using Bitnami, available for Windows, Mac and Linux. Bitnami will install all required dependencies for you and everything may be uninstalled just as easily.
Edit: For Windows, Subversion + TortoiseSVN is probably your best bet for version control.

There's a 100% always free hosted private bug tracker available at https://www.hostedredmine.com/
By using that you don't even have to worry about setting up, managing and backing up your own server.

You could use an online hosted version. Project Locker provide source control and issue tracking and have a free plan (up to 500MB). Beanstalk also do online source control (100MB).
You can use any of the free UI applications to access the source control repositories (such as TortoiseSVN, SmartSVN, etc..)

For version control I use Visual SVN which is a setup for a windows based user (takes care of all the install details of apache, bsd, etc.). It just works and is easy to use/manage. Then you need an SVN client - Tortoise is probably the best for it's windows explorer integration. This is free. If you want SVN integration in Visual Studio then you may want to splurge on a copy of Visual SVN for your client!
Also regarding version control don't underestimate the power of CodePlex or Google Code! As long as you don't mind people looking at your work (IE not for secret stuff) then this is a great resource that requires far less management on your part. Also great for distributed teams!
For bug and defect tracking you can't beat CounterSoft's Gemini product. This is a web based tool that allows you to track projects, bugs, call tickets, etc. Very nice for the professional consultant.
If you need something more robust for a bigger team and a team that is agile specific then take a look at VersionOne's products. Their first year of the basic package is free!

You can use SVN/CVS, which has loads of GUI utilities to back it up on almost every OS out there. It is rock stable.
For issue tracking bugzilla is just perfect for any level of expertise and it integrates well.
Web based interface is also pretty simple and intuitive.

Related

Team Development offline

I want a version control system tool, but offline.Like I develop a project on my computer,and someone is working on a different part of this project on a different computer.Is there a tool that allows to me bring the project from different computer to mine and sync all the changes.
I would like to have all functionalities of a version control system like diff,rollback,commit
Please suggest a suitable tool.
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
http://git-scm.com
It can be used online or offline easily.
Almost all the version control tools on the market support these features: diff, rollback, commit, offline, etc. I list some tools here for your reference:
Open Source
Git
SVN
Commercial
SourceAnywhere (developed by the company I'm working for)
Microsoft Team Foundation Server

Free Software Version Control (3-4 man)

I'd need help for finding a program for software version control with following features:
- Multiplataform (Windows and Ubuntu)
- Keep our code private (perfect if support private ftp repositories).
- Free or cheap for small groups (3-4).
- We dont need a big storage capacity
- (Optional) Eclipse integration
- Automatic notification of updates
We tried Bazaar, it enforces all the rules except the last one, because for password protected repositories sources it only update on demand (asking the password all the times)
Thanks in advance
I personally love subverion. It fulfills all your criteria
Considering Git is now the official VCS used by all Eclipse projects, it would be a nice fit.
The latest Eclipse Indogo 3.7 comes with EGit included: no need to "install" Git.
As this SO answer illustrates, it is fairly complete.
Git, Subversion... Eclipse integration is a job for Eclipse, i.e. some plugin.
Git is more powerfull but takes longer to learn.
You always get e-mail when commit happens. Although it's hard form me to imagine why you want to be distracted everytime any of your colleagues does a commit.
We use Git to manage large files and projects. The Git version control system offers a fantastic set of features for completing writing projects in a fast, efficient and organized way. If you're a professional software developer, then you should be using version control software to manage your projects. Here's a great comparison of version control software so you can decide the best solution for you.

Best practices for development with multiple machines and version control

I'm just getting into the practice of version control (I'd like to use Eclipse and SVN), and I'm not sure the best setup for my scenario.
I'm currently a lone developer and I have two computers (a work desktop and a home office laptop) that I like to use for development (mainly web-based stuff). I have access to a Linux-based and a Windows-based remote server, and I seem to always have files scattered between the two machines based on where I conduct the work.
Are there any instructions or best practices about how to set up a development environment so that when I sit down at either machine I have the same files to work with and the ability to utilize version control?
Some things I have used between my laptop/workstation/server.
If the paths are exposed create a local svn repository, and then use the network path to the repo from the second machine. Works well if you dont want to run a server but just use local files. My laptop and workstation have the same credentials, so pass through works great with the hidden paths '\machine\c$\etc'
I also like to use Unison for managing the files between my laptop and workstation. Its not versioning, and with date time hints it does rather well at 'which is newer'. Also, if you're the only one using both, conflicts are really low. I use this to manage my 'my documents' http://www.cis.upenn.edu/~bcpierce/unison/
Of course you can create an SVN server, and I have found Visual SVN to make this almost too easy. I started using this for my personal projects after the need to 'launch' to the server came up. Having the svn server on the remote server had a few benefits when it came to launching and working from home. (Or inviting other developers) http://visualsvn.com/server/
Just install SVN on one of your computers (preferably on the Linux server). I guess administrators will install SVN for you and create needed repositories.
Integration of SVN with Eclipse is really easy through plugin.
If you are new to source control (or even if you are not), reading Eric Sink's Source Code HOWTO will give a good introduction and expose you to some best practices.
I would consider a distributed version control system as well as Subversion. Even if you do go with Subversion in the end, it's good to understand all the options available to you. Personally, I'm a single developer and work in multiple locations, and have found the DVCS concept to work much better than SVN.
Git, Mercurial and Bazaar are three options. Here's a good video by Linux Torvalds which explains some of the conceptual differences.
I am implementing Bazaar as my source control solution for handling this scenario. I have used Subversion for years, but it simply does not really fit this distributed usage scenario. Bazaar does.

Best version control for a one man web app?

I'm just learning how to do things, and want to start using some sort of version control for a web app.
What's most appropriate for deploying a python or php web app on my own? I'm using linux and have a linux server.
Thanks!
SVN, but you need to be able to easily deploy your webapp with SVN.
Since it is not always a simple task, so I just point out this article which may be of interest for your project.
General principle:
Configure Apache on your development server so that it picks up your checked out working copies as separate subdomains. Using this, you can simply make a checkout of your project and it will automagically be up and running. No need to touch the Apache configuration. You need a DNS wildcard entry so that all subdomains of dev.example.org go to your development server.
The only problem with using the above Apache configuration locally is the DNS wildcard. Unless your desktop is assigned a hostname by your network's DNS server and you can set the wildcard there, you will have to make do with your localhost address. You can install dnsmasq to act as a local caching DNS server and put the wildcard on your own machine
Use dnsmasq so you can achieve the same effect on your own development machine. That way you can develop your web applications locally and you won't need a central development server. In my examples I will be assuming you use subversion for your version control, but it works virtually the same with other version control packages, such as git or bazaar.
Note: (Humor)
This other question on Subversion allowed me to point out to this article about publishing its (source-controlled) data into production, with in it probably the ugliest diagram I ever saw on the topic ;-)
If I had not bumped into git, I would've doubtless gone with SVN. Having said that, I would recommend git.
Nowadays, I would certainly go with a distributed version control system. Setup is faster since you don't need to set up a version control server and everything, all you usually need to do is initialize a certain directory within your development box for version control and you're good to go. They also seem like the way to go these days. If it were 2001, I would recommend a centralized system like Subversion. But it's 2008, everyone is moving to distributed systems and user interfaces and supporting tools tend to get better.
Here are some suggestions for you:
Darcs: Easy to learn and has all the features you will usually need
Mercurial
Git: Powerful. May take some time to understand but evolves rapidly
All three of them should be readily available in your Linux-based OS through the usual package management solutions.
SVN is great.
Nowadays the hype around DVCS.
I prefer Bazaar.
Because of it's name, the support, the feature set, and it works well on my window$ machine too.
I'm using unfuddle.com and I love it. It's free for a one person web app
The answer really depends on your way of thinking. I personally had problems switching to subversion from SourceSafe. If you come from microsoft shop, I'd suggest using SourceGear Vault, it is free for <=2 users. If you come from non microsoft area, then using subversion would be preferrable. Also please consider git if working on linux.
HTH, Valve.
Personally I use monotone, learning a DVCS is definitely the way forward.
For a one-man job, pretty much any revision control system will do the job. It's when you get into multiple people, and past that into multiple repositories, where there start to be differences.
Given that, I'd go with whatever Free Software system your development environment supports best. I see Subversion and Git mentioned and both are fine choices.
SVN would been my first choice. If I have to take a second choice I would go to CVS.
One of the most popular models out there today is Subversion. It's generally easy to setup & configure and is able to handle multiple platforms.
SVN. If one does not need concurrent access (which is your case), it is VERY easy to setup as no server is required at all. Definitely your weapon of choice.
I wholeheartedly agree with SVN. Command-line SVN is quite easy too.
While I like svn a lot, I've found mercurial handy for having the whole repository locally. (the same goes for git, but its interface is a little less polished in my opinion.)
I'm not able to answer the question as asked, because I don't develop on a Linux server.
But maybe this experience has a counterpart in Linux world.
I use a local-on-my-LAN-only IIS server (actually on an old laptop that no longer travels but works as a little server). I have VSS installed on that server too. There is an integration between the IIS Server, the FrontPage extensions on that server, and the VSS.
The upshot is that I can use FrontPage to build and edit my site and build a development image that is always backed up in VSS, and I can check out, check in, and do all of that from within FrontPage.
Now, the way I publish is I take advantage of the sharing capability of VSS so I have a deployment image that shares with the project that is actually an IIS web site. I have a deployment-image directory that I can transfer the latest checked-in material to (material that has not changed is not updated). I then deploy the deployment image to the hosted, public web site using FTP (again, only transfering new and updated files).
I present all of these details to suggest what might be the use-case of interest, even though a different solution approach is needed with Linux.
If I wasn't using a tool that integrated with the web server and also the source control at the server, I could do something similar by checking the VSS material in and out of a local directory and then pushing the updated VSS project to the IIS server web-pages directory hierarchy. The workflow is a little more clumsy. In this case, I would not edit pages directly on the development web server unless I could lock check-in pages as read-only or something.
Does this suggest anything that might be appealing in the Linux server case?
Definitively Mercurial is a good choice, quick, easy to use, perfect for working alone, or with multiple other developer, perfectly multiplateform, handles merges, branches, etc. very simply, plugin based, there are great tools out there such as nice IDE plugins (notably Netbeans and Eclipse).
Robust, it works just as you a expect such a tool to work, not like SVN (and I have years of day to day)...
Both Sun, Xen and Mozilla host all their repos on Mercurial. We're currently moving from SVN to Mercurial after a 6 month daily test, without any regret.
I once used Perforce and was impressed with it. There's GUI and command line versions and it supports Windows, Linux, Mac and Unix for both the server and client. It integrates with Eclipse and has APIs for writing your own client applications (C/C++, Ruby, Perl, Python) It only supports two users and five workspaces before you need to buy licenses though (but that is within the scope of this question).
Subversion is a good choice. For the client, there's TortoiseSVN (http://tortoisesvn.tigris.org/) that integrates with the shell and lets you do things with a right click on a folder. For integration with Visual Studio (I'll assume that's your environment) there's VisualSVN (http://www.visualsvn.com/) and AnhkSVN (http://ankhsvn.open.collab.net/). For the server there's a one-click installer you can find here (http://svn1clicksetup.tigris.org/) that does the setup in a snap. VisualSVN also has a (free) server that you can use which provides it's own web access and security (rather than using apache) and has a mmc-snapin for managing/creating repositories and users.
CVS - No, I'm not joking. Not that it is better (it is not) or the simplest (it isn't), but it really doesn't matter at the end of the day. The important thing is to get started with ANY version control system even if it is a one-developer shop, even if it is CVS.

Offline source control

I'm about to start a project where programmers will be contributing from their homes (much like stackoverflow was built)
I want to use some centralized source control, but I don't want it to require the programmers to be online, and the server may come offline from time to time (as at first it'll probably be my desktop machine)
I think I remember Jeff talking about this in some podcast, but I don't remember which one.
Is there a source control tool that works perhaps asynchronically by e-mail?
Programmers could connect to download the latest version, and the checkin process would be sending files to an email account for example
Does such a thing exist?
EDIT: Sorry, I forgot to say that I'll be working with .NET (Visual Studio 2008)
It'd be great if it could be integrated into this environment... does GIT (suggested below) support that?
git is basically built with this scenario as one of the major requirements.
Others support it as well, they usually go under the name of "distributed version control system".
You're looking for a Distributed Revision Control, system such as Git, Bazaar, or Mercurial.
I personally like Bazaar because it has good windows support.
I think Mercurial may be the best choice in your case, as it seems to have a Visual studio plugin. It does have a web interface and ssh support, which are probably better options than email, but there is also an extension that allows patches via email.
You could use git for this purpose. It doesn't require access to a centralized server, but you can set one up if you want to. Git differentiates between commit and push/pull, so working offline works great. The git website has great documentation.
git and mercurial will both do this; they allow syncing via emailed patches. Other distributed source control software will probably also work.
Subversion is what Jeff was talking about in the podcast. You can buy VisualSVN for Visual Studio integration. svn works very well offline as you don't need to talk to the server unless you are checking stuff in, or getting stuff out.
Sourcegear vault has an add on that allows this
There's also a free SmartSVN tool for Subversion, which integrates with Windows shell (adding fancy icons that let you distinguish locally modified files from pristine etc).
I've used Subversion and SmartSVN when working from home as well as in the office, and I can only recommend it. Check its features here.