[darcs-users] packages + revision control: is that possible?

Mojca Miklavec mojca.miklavec.lists at gmail.com
Thu Sep 13 09:17:08 UTC 2007


On 9/13/07, Ketil Malde <ketil at ii.uib.no> wrote:
> On Thu, 2007-09-13 at 10:57 +0200, Mojca Miklavec wrote:
>
> > > > dir1/file1 (belongs to package 1)
> > > > dir1/file2 (belongs to package 1)
> > > > dir1/file3 (belongs to package 2)
> > > > dir2/file1 (belongs to package 1)
> > > > dir2/file2 (belongs to package 2)
> > >
> > > With darcs, I would set up two repositories (package1 and package2).
> > > I would then set up a combined repository:
> > >
> > >   darcs get package1 combined
> > >   cd combined
> > >   darcs pull ../package2
> > >
> > > I would then continue to make edits to 'package1' and 'package2', and keep
> > > 'combined' up-to-date by pulling from both source repositories.
>
> > This is what we have planned (and did with "svn copy" and "svn
> > merge"), but it's OK when there are two packages, and comes to a NP
> > problem when there are 10 packages present (i.e.: I cannot afford to
> > provide all possible combinations of ten packages).
>
> I don't understand why you would need to?  AFAIU, for n packages, you'd
> need n+1 repositories, surely that would be manageable?

I would need n repositories for packages (say, A, B, C and D), but
2^n-n-1 additional ones for all the possible combinations of them (AB,
AC, AD, BC, BD, CD, ABC, ABD, ACD, BCD, ABCD). Plus an additional
drawback, that if someone would like to install a new package, he
would have to switch to the other repository.

All those complications because of a single simple requirement: I
would like to update to the latest version of all "installed/selected"
packages with a single command (even if I need to write some simple
scripting around it, which would run "someing update packageX" n
times).

That should be easier in theory, but I don't know if that's already
implemented anywhere (I wish it was).

I've read that rPath uses revision control + packages combined in a
single system, but as far as I was able to figure out it can only be
used for packaging their own linux distribution, not for
general-purpose, multi-platform clients to access some random
repository.

Thanks a lot,
    Mojca


More information about the darcs-users mailing list