# In search of a version control system

8 messages from 2012-10-08 to 2012-10-21. Participants: Maurice Francois, Ramkumar Ramachandra, Matthieu Moy, David Aguilar, Drew Northup, Nguyen Thai Ngoc Duy, Sitaram Chamarty.
Thread: https://gitlist.dev/t/31754

## Maurice Francois, 2012-10-08 18:06

Subject: In search of a version control system
Message-ID: <1349719581.76671.YahooMailNeo@web122505.mail.ne1.yahoo.com>
URL: https://gitlist.dev/e/1349719581.76671.YahooMailNeo%40web122505.mail.ne1.yahoo.com

```
Hi,

My thesis supervisor asked me to find a VCS. He wants to version-controlled all his projects.


The needs are not that big, that is to say it is academic and research projects. A project can have dozens of 
Word, PDF and program files (Stata do-files, SAS programs, SPPS syntaxe 
files and R scripts) and their corresponding log files.

Like many people, I hesitate between Git and Subversion. I like the idea of distributed version control system. But is that such a system eliminates the need for a real server ? Can we just set up a repository on one of the computers in our workplace and give access to that repository via a local connection or via a remote VPN connection ? 

We do not need to work at the same time on a file. The work is not so intense. So, is it possible to lock a file while someone work on it ?

Thanks, 

François Maurice
Candidat à la maîtrise
Département de sociologie
Université de Montréal      

```

## Ramkumar Ramachandra, 2012-10-08 18:24

Subject: Re: In search of a version control system
Message-ID: <CALkWK0kCbLxPMbxh=CLAE8UkkNFNqDa1QbtdM_-Q+Qr3SRh46Q@mail.gmail.com>
URL: https://gitlist.dev/e/CALkWK0kCbLxPMbxh%3DCLAE8UkkNFNqDa1QbtdM_-Q%2BQr3SRh46Q%40mail.gmail.com
In-Reply-To: <1349719581.76671.YahooMailNeo@web122505.mail.ne1.yahoo.com>

```
Hi Maurice,

Maurice Francois wrote:
> The needs are not that big, that is to say it is academic and research projects. A project can have dozens of
> Word, PDF and program files (Stata do-files, SAS programs, SPPS syntaxe
> files and R scripts) and their corresponding log files.

Note that Git wasn't designed for big binary files, and doesn't
perform well between them.

> Like many people, I hesitate between Git and Subversion.

I honestly cannot comprehend why someone would choose Subversion over
Git for a fresh repository today.

> I like the idea of distributed version control system. But is that such a system eliminates the need for a real server ? Can we just set up a repository on one of the computers in our workplace and give access to that repository via a local connection or via a remote VPN connection ?

Yes, you can have a "blessed" server, just like in Subversion.  And
yes, you can access it over git://, http://, https://, or ssh://.

> So, is it possible to lock a file while someone work on it ?

No, and I honestly think it's a bad idea.  Read up more about Git, and
try to understand how people work with it.

Ram

```

## Matthieu Moy, 2012-10-08 18:30

Subject: Re: In search of a version control system
Message-ID: <vpqa9vwstp3.fsf@grenoble-inp.fr>
URL: https://gitlist.dev/e/vpqa9vwstp3.fsf%40grenoble-inp.fr
In-Reply-To: <CALkWK0kCbLxPMbxh=CLAE8UkkNFNqDa1QbtdM_-Q+Qr3SRh46Q@mail.gmail.com>

```
Ramkumar Ramachandra <artagnon@gmail.com> writes:

>> So, is it possible to lock a file while someone work on it ?
>
> No, and I honestly think it's a bad idea.

If you work on non-mergeable files (e.g. *.doc files. There are merge
tools for MS Word and LibreOffice, but my experience with them was not
really pleasant), then file locking is indeed not such a bad idea.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

```

## David Aguilar, 2012-10-09 03:19

Subject: Re: In search of a version control system
Message-ID: <CAJDDKr5PxM3a6TjfdVoCp1VzgCFBKQ6YGhpN-BO-D=CyVTQX3w@mail.gmail.com>
URL: https://gitlist.dev/e/CAJDDKr5PxM3a6TjfdVoCp1VzgCFBKQ6YGhpN-BO-D%3DCyVTQX3w%40mail.gmail.com
In-Reply-To: <vpqa9vwstp3.fsf@grenoble-inp.fr>

```
On Mon, Oct 8, 2012 at 11:30 AM, Matthieu Moy
<Matthieu.Moy@grenoble-inp.fr> wrote:
> Ramkumar Ramachandra <artagnon@gmail.com> writes:
>
>>> So, is it possible to lock a file while someone work on it ?
>>
>> No, and I honestly think it's a bad idea.
>
> If you work on non-mergeable files (e.g. *.doc files. There are merge
> tools for MS Word and LibreOffice, but my experience with them was not
> really pleasant), then file locking is indeed not such a bad idea.

gitolite to the rescue:

http://sitaramc.github.com/gitolite/locking.html

If you want to setup a git server, look at gitolite.
It's really easy and slick.

I would advise against the file locking, though.  You ain't gonna need it ;-)
-- 
David

```

## Matthieu Moy, 2012-10-09 05:58

Subject: Re: In search of a version control system
Message-ID: <vpq4nm4rxsy.fsf@grenoble-inp.fr>
URL: https://gitlist.dev/e/vpq4nm4rxsy.fsf%40grenoble-inp.fr
In-Reply-To: <CAJDDKr5PxM3a6TjfdVoCp1VzgCFBKQ6YGhpN-BO-D=CyVTQX3w@mail.gmail.com>

```
David Aguilar <davvid@gmail.com> writes:

> I would advise against the file locking, though. You ain't gonna need
> it ;-)

What do you suggest to merge Word files?

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

```

## Drew Northup, 2012-10-21 12:20

Subject: Re: In search of a version control system
Message-ID: <CAM9Z-nnQjhehJEpyhyTY=rsK_f=2gTOUMVTycn7-Lao8Gog0pA@mail.gmail.com>
URL: https://gitlist.dev/e/CAM9Z-nnQjhehJEpyhyTY%3DrsK_f%3D2gTOUMVTycn7-Lao8Gog0pA%40mail.gmail.com
In-Reply-To: <vpq4nm4rxsy.fsf@grenoble-inp.fr>

```
On Tue, Oct 9, 2012 at 1:58 AM, Matthieu Moy
<Matthieu.Moy@grenoble-inp.fr> wrote:
> David Aguilar <davvid@gmail.com> writes:
>
>> I would advise against the file locking, though. You ain't gonna need
>> it ;-)
>
> What do you suggest to merge Word files?

If the files are in the DOCX format you can just expand them as zip
archives and diff what's inside of them. The text in particular is
stored as XML.

-- 
-Drew Northup
--------------------------------------------------------------
"As opposed to vegetable or mineral error?"
-John Pescatore, SANS NewsBites Vol. 12 Num. 59

```

## Nguyen Thai Ngoc Duy, 2012-10-21 13:16

Subject: Re: In search of a version control system
Message-ID: <CACsJy8ASoaH40ScHwv1EB2kw8sxMh3oFb45s5shUPUmRUF7gRA@mail.gmail.com>
URL: https://gitlist.dev/e/CACsJy8ASoaH40ScHwv1EB2kw8sxMh3oFb45s5shUPUmRUF7gRA%40mail.gmail.com
In-Reply-To: <CAM9Z-nnQjhehJEpyhyTY=rsK_f=2gTOUMVTycn7-Lao8Gog0pA@mail.gmail.com>

```
On Sun, Oct 21, 2012 at 7:20 PM, Drew Northup <n1xim.email@gmail.com> wrote:
> On Tue, Oct 9, 2012 at 1:58 AM, Matthieu Moy
> <Matthieu.Moy@grenoble-inp.fr> wrote:
>> David Aguilar <davvid@gmail.com> writes:
>>
>>> I would advise against the file locking, though. You ain't gonna need
>>> it ;-)
>>
>> What do you suggest to merge Word files?
>
> If the files are in the DOCX format you can just expand them as zip
> archives and diff what's inside of them. The text in particular is
> stored as XML.

An XML diff means nothing to a regular user, and manually "merging"
this way can produce unreadable Words files. So no, it's still not an
answer.
-- 
Duy

```

## Sitaram Chamarty, 2012-10-21 13:25

Subject: Re: In search of a version control system
Message-ID: <CAMK1S_hz-N-5mJ3OOOXbsQ5V+EjpFBmM9WFHJ_p2cxLDhVf8Ow@mail.gmail.com>
URL: https://gitlist.dev/e/CAMK1S_hz-N-5mJ3OOOXbsQ5V%2BEjpFBmM9WFHJ_p2cxLDhVf8Ow%40mail.gmail.com
In-Reply-To: <CAM9Z-nnQjhehJEpyhyTY=rsK_f=2gTOUMVTycn7-Lao8Gog0pA@mail.gmail.com>

```
On Sun, Oct 21, 2012 at 5:50 PM, Drew Northup <n1xim.email@gmail.com> wrote:
> On Tue, Oct 9, 2012 at 1:58 AM, Matthieu Moy
> <Matthieu.Moy@grenoble-inp.fr> wrote:
>> David Aguilar <davvid@gmail.com> writes:
>>
>>> I would advise against the file locking, though. You ain't gonna need
>>> it ;-)
>>
>> What do you suggest to merge Word files?
>
> If the files are in the DOCX format you can just expand them as zip
> archives and diff what's inside of them. The text in particular is
> stored as XML.

You also need a merge driver that at least splits the "all in one
single very very long line" XML into different lines in some way.  I
don't think git can merge even text files if everything is on one line
in each file.  And even if you do this I don't think the result will
be a valid ODT etc file.

All in all, I prefer the locking that David mentioned [1].  And if
your users cannot be trained to check first (as that URL describes),
then you probably have to use a CVCS that supports some stronger form
of locking.

[1]: http://sitaramc.github.com/gitolite/locking.html

```
