That's certainly seems like one good reason...

Another reason is that your unreleased snapshots are going to trash
your release repository... This, of course, depends on how you
build...

For example, on our project, I didn't at first care to use the
snapshots repository and just had everything pointed to the release
one. Well, we have a continuous build server which, among other
things, hourly builds and deploys the latest successfully tested
codebase into our archiva repository.

Long story short, our repository grew to 17GB. When I removed all the
unneeded shapshot builds from archiva, it went down to 250MB. (That's
after I had to wait a very long time for the 17GB to back up just so I
wouldn't mess anything up by deleting stuff).

If I had separated them to begin with, our snapshot repository would
become a simple "development workspace" repository, which is what
snapshots are... So, I guess, the moral of the story that it's bad to
mix your development workspace artifacts with artifacts that are to be
released to the client. It's like mixing your unreleased code with
releasable software in one directory (not a 100% parallel, but I think
the point comes across).

Yaakov.


On Sun, Oct 25, 2009 at 8:59 AM, Stephen Duncan Jr
<[email protected]> wrote:
> On Sat, Oct 24, 2009 at 9:36 PM, David Weintraub <[email protected]> wrote:
>
>> No one has answered the basic question: Why two repositories?
>>
>> I know the differences between a release and snapshot. but that doesn't
>> explain why the releases and snapshots are in two separate repositories.
>> Why
>> not keep both snapshots and releases in the same repository. We know
>> something is a snapshot simply because it has the word "SNAPSHOT" appended
>> to it.
>>
>> Because of the dual repository structure, I have to configure everything
>> with two separate repository names, two separate repository URLs, and two
>> sets of accounts and passwords. So, why not simply have a single repository
>> which can store both snapshots and releases?
>>
>> These are the only reasons I can think of:
>>
>> * Administration: Backing up a release repository is extremely important.
>> Backing up snapshots -- not so much. But, is this actually true?
>>
>> * Who can see what. I might want my snapshot repository available to my
>> developers, but not to the world. However, this would be more of something
>> my repository management software should be able to do.
>>
>> * Releases should only be added to the release repository by a release
>> manager, and not by any developer. However, snapshots would be added by
>> developers. Again, this seems better handled via my repository management
>> software.
>>
>> So, what is the reason to have two separate and distinct repositories for
>> snapshots and for releases?
>>
>> On Thu, Oct 22, 2009 at 4:43 AM, Costin Caraivan <[email protected]
>> >wrote:
>>
>>
>>
>> --
>> David Weintraub
>> [email protected]
>>
>
>
> I think both security and administration were the original reasons.  It's
> easier to say now "well, the repository manager can make the distinction
> between releases and snapshots", but you couldn't assume the existence of
> sophisticated repository managers when Maven 2 was initially
> designed/released.  At that time simple file-system repositories independent
> of Maven were used (scp/sftp/webdav).
>
> --
> Stephen Duncan Jr
> www.stephenduncanjr.com
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to