My company and its servers are based in the US and our developers are in India. Currently the developers have all source code stored locally in India office (huge risk for us), and I want to get access to the files and routinely back them up here in the US.

My concern is that I don't want my developers to experience a long delay when checking in/out files (time is money), so I don't want to move the Source Control software onto our server in the US.

Has anyone used web-based Source Control? Are there security issues? Any suggestions on which to use? The developers are currently using cvsnt in India.

Any other solutions to our vulnerability?

Thank you.

Recommended Answers

All 5 Replies

I don't disagree with what Salem recommended ... every source control solution has their advantages and disadvantages. I personally love subversion. You're going to have a few seconds of latency with any cross-continental internet communications so you have to take that as a given. GIT does allow for decentralized commits whereas svn/cvs don't -- but on the other hand -- you only commit code or check out a few times a day at most so a couple of seconds shouldn't really matter.

svn with the addons:

ii  libapache2-svn                        1.4.4dfsg1-1ubuntu3        Subversion server modules for Apache
ii  libsvn1                               1.4.4dfsg1-1ubuntu3        Shared libraries used by Subversion
ii  python-svn                            1.5.1-2                    A(nother) Python interface to Subversion
ii  websvn                                1.61-23                    interface for subversion repositories writte

Then using TRAC to have a web ticketing system that integrates directly with SVN:

ii  trac                                  0.10.4-2                   Enhanced wiki and issue tracking system for

... is a great system for me and my company.

As far as backups you can schedule a cron'd backup to post the files. I use this for daily backups:

#!/bin/bash
TARBALL=`date +/root/backup/archive/svn.%Y.%m.%d.tar.bz2`
rm -f ${TARBALL}
rm -fr /root/backup/data

mkdir -p /root/backup/data/trac
mkdir -p /root/backup/data/svn

trac-admin /var/trac/apexcrm hotcopy /root/backup/data/trac/trac-apexcrm >> /dev/null 2>&1
trac-admin /var/trac/cats hotcopy /root/backup/data/trac/trac-cats >> /dev/null 2>&1

svnadmin hotcopy /var/lib/svn/apexcrm /root/backup/data/svn/apexcrm
svnadmin hotcopy /var/lib/svn/cats /root/backup/data/svn/cats

cp -Rp /etc /root/backup/data
cp /root/backup/backup.sh /root/backup/data/backup.sh

cd /root/backup
tar cjf ${TARBALL} data
rm -fr /root/backup/data

grep Volume3 /proc/mounts >> /dev/null 2>&1

if [ $? -eq "1" ]; then
  mount -t smbfs -o username=administrator,password=XXXXXX //XXserverXX/XXXXX /mnt/XXXXXXx
fi

if [ -d /mnt/Volume3/Backup/ ] ; then
  cp ${TARBALL} /mnt/Volume3/Backup/
  find /mnt/Volume3/Backup/ -type f -mtime +7 -iname \*.bz2 -delete
fi

find /root/backup/archive/ -type f -mtime +30 -iname \*.bz2 -delete

In this case i'm using samba to mount a local windows share .. but you can easily change the logic to scp, sftp, etc. the backups via another protocol

My company and its servers are based in the US and our developers are in India. Currently the developers have all source code stored locally in India office (huge risk for us), and I want to get access to the files and routinely back them up here in the US.

Is the risk that the information in the repo is potentially exposed where you cannot control access or that you cannot access the repo to back it up?

Do you want version control access (co and ci) from US?

Cheers

Alec

The risk is that I cannot access the repo to back it up. I don't need version control access from the US as all of our developers are there in India.

I am very new to the networking side of computers and would love some help if you know a good way to back-up the India files from here in the US.

Have them give you access to the machine running the source control and get the backups...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.