Collaborative Software Platform [closed] - version-control

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am looking for what I could describe best as a collaborative software platform for our group (30+). We are currently using just a few svn repositories and it has grown unmanageable.
Our requirements are:
install-able on our own servers
revision control (should include svn not to scare the non tech people away)
issue tracking (bugs, tasks, etc.)
managing projects (users would be also nice)
mixed FOSS & closed source projects
From my research I found the following:
Launchpad (itself)
pro: about everything
con: no svn
FusionForge
pro: similar to SourceForge, has about all features
con: not sure how actively developed, should be quite cumbersome to manage
FusionForge
Gitorious (itself)
pro: also about everything on our list
con: only git, not sure about Ruby's security, intended only for FOSS
My biggest headache is that this platform should scale well also for not technically gifted developers while still keeping a minimum level of code quality.
Experiences with the 3 above or similar would be very appreciated.
Thank you

A couple that might fit your needs are:
Redmine
Trac
They are both has software project management features like:
Integrated defect tracking
Integrated wiki
Forum
Integration with wide range of version control software, including SVN
Flexible user authentication, mostly it relies on the web servers's authentication mechanism.
They are both open source and free. Redmine is developed using Ruby on Rails while Trac is using python.

Have a look at JIRA from Atlassian. It has a plugin for subversion. You can install it on your own server. It has excellent bug tracking facilities, you can define projects and define roles of users within the projects. You can use it with open and closed source projects. If one of your projects is open source you can apply for a free license.

If you want to build life around SVN as VCS-core, you have to see at UberSVN
More costly (extremely, compared to zero-price) solution, not limited by only Subversion, is Private Assembla

Have a Look at Gemini from Countersoft. It provides all the features you are looking for, either build in, or via free plugin (for SVN integration).

Related

Shared assembly versioning and issue tracking [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We have 3 teams developing 3 different projects(.NET), and there is one project with common code and controls SharedLibrary. Each team references it using sub-repository in Mercurial.
Each team is allowed to push changes to SharedLibrary to fix bugs in their projects. So there is a possibility that fixing a bug in one project may introduce a bug in the second one.
We're using JIRA for issue tracking, and there are 4 projects (for each team and for SharedLibrary).
So, could anyone suggest a workflow, which reduces chances of integration failure(one team breaks other team project) and in case failure happened helps to reveal it as soon as possible?
Points to consider:
Do we need a version for SharedLibrary in JIRA? How it should be maintained?
Who and when verifies changes made to SharedLibrary?
What is the best way to organize branches in hg?
What is the best way to organize JIRA workflow? In what project in JIRA are the ShareLibrary issues filed?
Any help or examples of workflows/solutions for the similar situations are highly appreciated.
Couple of suggestions:
Yes, you should maintain versions for SharedLibrary just like you do your other projects. You should tie the release of each of your 3 projects to a specific version of SharedLibrary. If you just let any of the 3 project teams change it without referring to the other teams, you'll have a high risk of introducing non-compatible changes.
If SharedLibrary isn't maintained by a specific person or team, I'd suggest having a cross functional team made up of representatives from each project team that is responsible for reviewing updates to SharedLibrary. They can use JIRA to track the issues by version. To verify that changes don't break other projects, have a comprehensive set of tests for each project that you can run in a continuous integration server such as Jenkins.
I don't have any particular suggestions here.
I would keep SharedLibrary as a separate JIRA project.

Need good source control [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am working on my C programming skills. I decided to run Ubunutu Linux and use code::blocks as my IDE. Now, I need a good source control.
Something that's easy for a beginner to administer (I want to concentrate on coding not managing a server)
Free
Hopefully has a plugin that integrates well with code::blocks
I plan to use source control for my own use. I want to be able to undo my changes if I make too many mistakes. I also want to be able to revert back to an old version and do side-by-side comparisons.
Maybe one day, my buddy and I could work on some code together (from different locations), but this is not a major concern at this time.
What works for me?
You want Mercurial or Git. I personally prefer Mercurial.
Subversion is still very popular and stable. It's centralized though, which these days is considered "the old way." (I've heard people say "Git is to SVN what BitTorrent is to FTP.")
Git is pretty much the in thing right now. In my opinion it has a higher learning curve, but its adoption by the open-source community is widespread.
Mercurial is a great DVCS and, in my opinion, doesn't get enough attention. Great commercial products are built on top of it, though, so growing your project to a commercial system is pretty smooth.
There are others.

Mercurial Hosting software, alternatives? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Are there any software packages available for hosting Mercurial repositories on my own server, apart from the very basic script that comes with it?
I've looked over the PublishingRepositories wiki page at Mercurial, and the only viable alternative in that list is the hgwebdir script, which I've set up, but it's rather basic.
Does anyone make better website software for Mercurial hosting?
I would install the Kallithea source code management system which is free software. It aims to be a hgweb replacement. It has a lot of features: repository management (creation, deletion, renaming), user management (even LDAP integration) and commit statistics.
There's various ways to publish mercurial repositories as mentioned in the link you provided, but hgwebdir is the only method that supports multiple repos.
with hgwebdir.fcgi, you can use fastcgi and apache or nginx.
This can be useful for publishing multiple repos using web server.
Kiln is an alternative. Unlike RhodeCode it is commercial (i.e. not free) and you have to setup / import any existing mercurial repositories, which can be a bit of work.
It can act as a public repository host since version 2.2.

best distributed version control for a small group project on windows? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
whats the best distributed version control for a group project of 2 people coding on windows?
Probably Mercurial. It is known to support Windows well.
Git would be my personal preference, simply because it is somewhat more powerful than Mercurial, and its recent Windows support is good, but it will probably never be a 1st class Windows "citizen".
+1 for Mercurial, with TortoiseHg as GUI: http://tortoisehg.bitbucket.io/
If you are going with git, check out TortoiseGit here: https://tortoisegit.org/
You can also use Mercurial for distributed development. It has a per-project repository structure and fits good to your needs.
Git, mercurial and bazaar are the new boys on the distributed version control scene, but all of them are mainly used in a *nix environment. Git is particurlarly popular - it has big backing since Linus Torvalds invented it.
For a team of two working on Windows I see: small budget, limited specialization. So you may wantr to consider one of the standard workhorses: CVS or SVN.
Although I personally would choose mercurial, I would recommend SVN to you: many companies offer free hosted SVN for your team size.
Cheers!
I am particularly fond of SVN as it scales nicely from one person to large teams. You can also check out Git which is becoming quite popular.
Believe it or not VSS is still around and used for many projects (especially if its internal to a network) but I would not recommend it, unless you want to use Microsoft TFS (Team Foundation Server), but that will cost you some money to setup.
I'm voting for Git. I'm absolutely in love with it. Its GUI support is meh, but I find myself not missing one ever. I do use GITK often to graphically view branches.
Git has a very clean directory structure with all source control meta data in one folder. Merging and Branching is very nice, as is the "cherry-pick" option.

IDEA Community Edition versus Eclipse [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
How does the IDEA Community Edition compare with Eclipse?
IDEA is a far better IDE than Eclipse (general opinion by people that use IDEA).
On a feature point of view, everything that IDEA CE can also been done by Eclipse. However,
IDEA is a commercial product, which limits its adoption. Thanks to the Community Edition, you can test this IDE for free, in order to develop JavaSE applications (or Scala or Groovy). For an enterprise, this is quite limited, as you will not be able to develop J2EE applications.
My conclusion is that IDEA CE is only a tool that allows you to test and understand the philosophy of this IDE. If you are convinced by IDEA, then you will really have to choose between the Ultimate Edition, which will let develop any kind of applications, or stay with Eclipse.
The best, straight answer to this, is to look at the feature matrix of which features are still left in Ultimate-Edition. Eclipse probably has support for all of these things, although the quality of the integrations can always be an issue.
Why IDEA:
detects unused public fields and methods
easy way to run or debug only one test method (you don't need to modify configuration)
faster code coverage report generation (at least for EMMA)
understand difference between source and test source
easier way to manage libs - just include lib dir (in eclipse you have to specify all jars explicitly), so you don't have to update it manually every time when new jar was included