On Thu, Sep 22, 2011 at 12:40 AM, Jens-Heiner Rechtien <jhrecht...@web.de>wrote:

> On 09/20/2011 05:26 PM, Rob Weir wrote:
>
>> Ai2011/9/20 Pavel Janík<pa...@janik.cz>:
>>
>>> Have we ever considered using version control to...uh...manage file
>>>> versions?
>>>>
>>>> Just an idea.
>>>>
>>>
>>>
>>> Maybe Heiner will say more, but in the past, we have had the external
>>> tarballs in the VCS, but then we moved them out and it worked very well.
>>> There never was a reason to track external.tar.gz files in VCS, because we
>>> do not change them.
>>> --
>>>
>>
>> That's fine.  If they don't change, then doing a "svn update" will not
>> bring them down each time.
>>
>> Aside from being useful for version control, SVN is useful also very
>> useful as an audit trail.  So in the rare occasions when one of these
>> files does change, we know who changed it and why.  This is important
>> for ensuring the IP cleanliness of the project.
>>
>> Is your main concern performance?  Even as individual tarballs,
>> ext-sources is 86 files, 250MB.  ooo/extras is 243 files and 822 MB.
>> And ooo/main is 76,295 files for over 900MB.  So ext-sources is not a
>> huge contributor to download time.
>>
>
> Placing all the external tarballs in the VCS is a real killer if using a
> distributed SCM like git or Mercurial, thats why we had moved them out. As
> Pavel said, it worked quite nice. As for the audit possibility, we
> referenced the external tar balls in the source tree by file name and a md5
> check sum, which works just as reliantly as putting them directly into the
> repository.
>
> Nowadays the DSCM have some alternative methods which deal with such blobs
> but in essence they also keep them separate.
>
> If AOOo ever plans to go back to a DSCM I would keep the source tree and
> the external blobs strictly separated.
>
> All in all the general SCM tooling community opinion trend seems to be that
> a S(ource)CM system is for, well, source and external dependencies are
> better handled with other mechanism, like Maven or so.
>
> With SVN all this is less of a concern, naturally.
>
> ok, we have several arguments for and against but no decision how we want
to move forward. Let us take again a look on it

1. we have a working mechanism to get the externals from somewhere, check
md5 sum, unpack, patch, build
1.1 "somewhere" is configurable during the configure step, initially the
externals are downloaded from http://hg.services.openoffice.org/binaries

2. having the externals in the repository (SVN) won't be a big issue because
in case of a checkout always the tip version is downloaded
2.1 the SCM can be used to track the used version of the externals for a
specific OO version -> simply checkout the version tag and everything is in
place ...

3. in a DSCM it would be a real problem over time because of the increasing
space of all versions

4. we need a replacement http://hg.services.openoffice.org/binaries asap
(who knows how long the server will be available)

5. many developers probably work with a local clone of the repository using
for example git svn or something else -> disadvantage of the increasing
space but probably acceptable if a clean local trunk will be kept and
updated

Proposed way to move forward

1. put the externals under .../trunk/ext_sources
.../trunk/ext_sources
.../trunk/main
.../trunk/extras
2. adapt configure to use this as default, disable the download (maybe
reactivate it later if we move to a DSCM)
3. keep the process with checking the md5 sum as it is (for potential later
use)

Any opinions or suggestions?

Juergen

Reply via email to