Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am in need of a software that is PHP-Based, or similar that can be installed on my server that offer SVN Perks. It should be somewhat similar to an SVN, however, since the server doesn't support SVN, we'll need another means of doing sort of the same thing. We have a team of Developers and need to accomplish progress in the same way that an SVN does, but without that type of server support. Is there any software that could be installed via webhosting that would be somewhat, if not exactly, similar to an SVN?

Please help, Thanks :)

share|improve this question

3 Answers 3

The Best without any doubt is GIT !

Gt is a distributed VCS that more than a program is platform ... It's not very simple to understand, but is more powerful than any others.

In git every developer has local copy of the repository and can work also if the network go down, however if you want, you can setting up a Git Central repository with a software like GitHub, Gitosis or Gitolite.

If you want to setup a central repository i suggest you Gitolite .

You can also integrate git with various project/issue tracking software like : redmine, buzilla, trac.

share|improve this answer
    
redmine supports git!? awesome! +1 cause you essentially said what i said but added useful tracking software. Also i want to mention Gitosis hasnt been worked on for some time (i am looking here, other then 2 fixes it hasnt been worked on since 08). –  acidzombie24 Jan 17 '11 at 7:46

On the web you can use trac to work with svn. But that assumes svn works. Why doesnt svn work? I'll assume you dont have apache access. Regardless I suggest using git or mercurial (both work on linux and windows). Distributed source control is much superior.

I use gitolite to set up repositories on a server for ppl to push to. You only need regular shell access. However i only configured it using the superuser method. If its just you and your team you can simply use ssh instead of gitolite. If you know nothing about git i suggest watching this fairly entertaining video

If your problem is because you don't have shell access i suggest getting a VPS (virtual private server, its essentially a shared dedicated server with each share inside its own VM). i use linode but was happy with vpslink as well. (I only tried two)

You wanted webbased. Gitolite uses a different method. You can create/remove repositories but pulling the config files from the server onto your machine, modifying it, commit and push it back on. On the push some triggers/scripts will occur making the changes you want. However if its just one team you could just use ssh. I use tortoisegit

Theres a learning curve to git (configuration and using it) but the video above helps you understand how it works and then using tortoisegit will be less strange.


First i suggest going to github.com creating an account and public repository and try getting toutiousegit working with that.

For shell access log into your shell and write mkdir mytest; cd mytest; You either need to write git init --bare here if you have git installed or do it on your local computer (right click a folder and use git bash) and copy the folder onto the server using something like winscp. Create a folder on your comp with the any name right click and create a git repostory. Using what you learned from github (or online manuals/tutorials) add files to git and commit it.

Now pushing it is updating you remote copy. You should have a bare repo for each user, if its complicated you may consider using Gitolite (which installing may be difficult if you dont know what your doing). You can pull your teammates bare repos and thats how merges are done (bonus marks if you create multiple users and setup linux to have read access on all the directories and write only in your own.). Anyways to push it to the server (or pull) you need remote locations. Go into the settings with tortoisegit then go under git->remote on the left pane (its near the bottom).

Remote: MyRepo, Url: shelluser@site_or_ip.net:TheFolderYouCreatedWithGitBareRepository putty key you can ignore. You should now be able to push and each time it will ask you for your shell password. If you dont want to enter your password create a private key with puttygen and go back to the git remote settings and add your private key. Then add your public key to ssh authorization keys.

From this site

Copy your local public key to the remote server

If your remote server doesn't have a file called ~/.ssh/authorized_keys (note it said authorized_keys2 but i am sure its a typo) then we can create it. If that file already exists, you need to append to it instead of overwriting it, which the command below would do:

scp ~/.ssh/id_rsa.pub remote.server.com:.ssh/authorized_keys
share|improve this answer
    
Wait, so if you have apache access, than you can install SVN yourself and it should work? Just wondering because I never once installed SVN, was installed for me by the server on past servers. –  SoLoGHoST Jan 17 '11 at 7:27
    
@SoLoGHoST: Yes, but TRUST ME. You really DONT want to do this. It is a HEADACHE and pain to manage. That and git is far superior. Its also much easier to manage git. For git all you need is read/write access to the files. You really dont want to use apache route your IO to a svn bin... its not great. Did i also mention it was a pain to manage? especially when you get into creating permission files, not messing up the config files, etc. All modifying by hand. –  acidzombie24 Jan 17 '11 at 7:36
    
Ok, so, how do I install GIT without being the actual host? –  SoLoGHoST Jan 17 '11 at 7:47
    
@SoLoGHoST: you dont need to @myname cause its a comment in my post but just FYI @name alerts the user at the top left. I dont really have time to write a tutorial but i got curious and tried creating git with only a shell and it worked (took me 2 mins, i did this before i notice you asked). First i suggest going to github.com creating an account and public repository and try getting toutiousegit working with that. Now for shell access... –  acidzombie24 Jan 17 '11 at 8:02
    
i'm writing instructions for shell but i want to test something out... –  acidzombie24 Jan 17 '11 at 8:04

I have implemented Beanstalk (beanstalkapp.com) in my projects and it's a very focused SVN from Team Development View.

................ Dramil Dodeja http://dramildodeja.webnode.com/

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.