caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* RE: [Caml-list] [OT] Rant about VCS
@ 2004-12-17 18:42 Ennals, Robert
  2004-12-17 20:01 ` Alex Baretta
  0 siblings, 1 reply; 24+ messages in thread
From: Ennals, Robert @ 2004-12-17 18:42 UTC (permalink / raw)
  To: Alex Baretta, Ocaml

What is wrong with the solution to the executable bit problem suggested
in the Darcs FAQ?

Include a line in the makefile that sets the executable bit for any
scripts that should be executable. If you wanted to be more "make-like"
you could even copy the script, and then set the executable bit in the
copy.


DISCLAIMER: I have never used Darcs or subversion, so may be missing
something.


-Rob

> -----Original Message-----
> From: caml-list-admin@yquem.inria.fr [mailto:caml-list-
> admin@yquem.inria.fr] On Behalf Of Alex Baretta
> Sent: 17 December 2004 17:08
> To: Ocaml
> Subject: [Caml-list] [OT] Rant about VCS
> 
> Please forgive me for ranting about source code Version Control
Systems
> on the list, but I can't help it. Besides, I would like to know what
the
> gurus on the list use to manage their own projects.
> 
> My company handles close to 100kloc of Ocaml and ocaml related files
> under CVS. We have gotten sick and tired of having to reconstruct CVS
> repositories from scratch every once in a while because we need to
move
> files or delete directories.
> 
> It appeared to us that Darcs might solve the problem: it seems based
on
> a reasonably sound algebraic model and is written in Haskell, which
> supposedly should be a bonus compared to other VCSs written in C.
> 
> Yet, darcs lacks some of the most basic features of a VCS, such as
> handling metadata (the executable bit, essentially). The darcs
> developers say that this is a "planned feature" but nothing really
> urgent. Actually, we think this is a critical feature in a big project
> which relies on scripts and other executables distributed together
with
> the source for bootstrapping purposes. Ocaml itself ships with a full
> compiler to be able to bootstrap, albeit this does not depend on the
> executable bit being set anywhere since ocamlrun is generated by the C
> compiler.
> 
> Other VCSs such as subversion seem to be so unstable as to severely
> discourage their use in an industrial project.
> 
> ***
> 
> What is the Ocaml way to solve this problem? What VCS do caml breeders
> and riders use?
> 
> I definitely hope I must not write YAVCS in Ocaml...
> 
> Alex
> 
> --
> *********************************************************************
> http://www.barettadeit.com/
> Baretta DE&IT
> A division of Baretta SRL
> 
> tel. +39 02 370 111 55
> fax. +39 02 370 111 54
> 
> Our technology:
> 
> The Application System/Xcaml (AS/Xcaml)
> <http://www.asxcaml.org/>
> 
> The FreerP Project
> <http://www.freerp.org/>
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 18:42 [Caml-list] [OT] Rant about VCS Ennals, Robert
@ 2004-12-17 20:01 ` Alex Baretta
  2004-12-17 20:27   ` Paul Snively
  2004-12-17 20:36   ` Erik de Castro Lopo
  0 siblings, 2 replies; 24+ messages in thread
From: Alex Baretta @ 2004-12-17 20:01 UTC (permalink / raw)
  To: Ennals, Robert; +Cc: Ocaml

Ennals, Robert wrote:
> What is wrong with the solution to the executable bit problem suggested
> in the Darcs FAQ?
> 
> Include a line in the makefile that sets the executable bit for any
> scripts that should be executable. If you wanted to be more "make-like"
> you could even copy the script, and then set the executable bit in the
> copy.

My problem is that the project is so extensive that we use an ocaml 
program to generate the Makefiles and a bash script to appropriately 
configure findlib before anything gets done.

I think we'll manage with darcs, but really I begin to understand why 
Linus went proprietary with Bitkeeper.

Alex

-- 
*********************************************************************
http://www.barettadeit.com/
Baretta DE&IT
A division of Baretta SRL

tel. +39 02 370 111 55
fax. +39 02 370 111 54

Our technology:

The Application System/Xcaml (AS/Xcaml)
<http://www.asxcaml.org/>

The FreerP Project
<http://www.freerp.org/>


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 20:01 ` Alex Baretta
@ 2004-12-17 20:27   ` Paul Snively
  2004-12-20  8:27     ` Peter Busser
  2004-12-17 20:36   ` Erik de Castro Lopo
  1 sibling, 1 reply; 24+ messages in thread
From: Paul Snively @ 2004-12-17 20:27 UTC (permalink / raw)
  To: Alex Baretta; +Cc: Ennals, Robert, Ocaml

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Dec 17, 2004, at 12:01 PM, Alex Baretta wrote:

> My problem is that the project is so extensive that we use an ocaml  
> program to generate the Makefiles and a bash script to appropriately  
> configure findlib before anything gets done.
>
> I think we'll manage with darcs, but really I begin to understand why  
> Linus went proprietary with Bitkeeper.
>
It really does sound as though you're edging from "version control"  
into "configuration management." If that's the case, you may want to  
look at Arch and its surrounding tools. In particular, the  
documentation at  
<http://www.gnu.org/software/gnu-arch/tutorial/multi-tree- 
projects.html>, "Multi-tree Projects and Configuration Management,"  
might be helpful to you.

Yaron Minsky pointed out that raw command-line tla can be a bit  
painful, and my experience reflects that as well. OTOH, tla is very  
granular, by which I mean that it's a relatively simple matter to  
concoct aliases that combine tla commands/options into useful  
aggregates. And I have to say that XTLA in EMACS is pretty wonderful.

> Alex
>
> -- 
> *********************************************************************
> http://www.barettadeit.com/
> Baretta DE&IT
> A division of Baretta SRL
>
> tel. +39 02 370 111 55
> fax. +39 02 370 111 54
>
> Our technology:
>
> The Application System/Xcaml (AS/Xcaml)
> <http://www.asxcaml.org/>
>
> The FreerP Project
> <http://www.freerp.org/>
>
Oooooh, yes, you do have a lot of complex, interrelated stuff to keep  
track of. Please consider Arch.

Best regards,
Paul Snively

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (Darwin)

iEYEARECAAYFAkHDQScACgkQbot1wzHBQBVYZgCgoI3Uy5kBpsON1zFtjamRZY3q
+SgAoJaT80YqeeivliQDKsXipEv5m4vQ
=2OFB
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 20:01 ` Alex Baretta
  2004-12-17 20:27   ` Paul Snively
@ 2004-12-17 20:36   ` Erik de Castro Lopo
  1 sibling, 0 replies; 24+ messages in thread
From: Erik de Castro Lopo @ 2004-12-17 20:36 UTC (permalink / raw)
  To: caml-list

On Fri, 17 Dec 2004 21:01:17 +0100
Alex Baretta <alex@barettadeit.com> wrote:

> I think we'll manage with darcs, but really I begin to understand why 
> Linus went proprietary with Bitkeeper.

I haven't tried Bitkeeper [0], but I do use another commercial source 
control system at work, Perforce. Perforce at about US$500/seat
compares very poorly incomparison to Arch. Perforce does however 
play nicely with windows.

Erik

[0] Because I supplied two patches and a feature enhancement to GNU Arch
    I am not able to use Bitkeeper. The license for Bitkeeper disallows
    its use by anyone who has worked on a competing source control 
    system.
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam@mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
" ... new TV ad for Microsoft's Internet Explorer e-mail program which
uses the musical theme of the "Confutatis Maledictis" from Mozart's
Requiem. "Where do you want to go today?" is the cheery line on the
screen, while the chorus sings "Confutatis maledictis, flammis acribus
addictis,". This translates to "The damned and accursed are convicted
to the flames of hell."


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 20:27   ` Paul Snively
@ 2004-12-20  8:27     ` Peter Busser
  0 siblings, 0 replies; 24+ messages in thread
From: Peter Busser @ 2004-12-20  8:27 UTC (permalink / raw)
  To: caml-list

On Friday 17 December 2004 21:27, Paul Snively wrote:
> On Dec 17, 2004, at 12:01 PM, Alex Baretta wrote:
> > My problem is that the project is so extensive that we use an ocaml
> > program to generate the Makefiles and a bash script to appropriately
> > configure findlib before anything gets done.
> >
> > I think we'll manage with darcs, but really I begin to understand why
> > Linus went proprietary with Bitkeeper.
>
> It really does sound as though you're edging from "version control"
> into "configuration management." If that's the case, you may want to
> look at Arch and its surrounding tools. In particular, the
> documentation at
> <http://www.gnu.org/software/gnu-arch/tutorial/multi-tree-
> projects.html>, "Multi-tree Projects and Configuration Management,"
> might be helpful to you.

If you're talking about Software Configuration Management, then in my (not 
so?) humble opinion there is no better freeware tool than Aegis 
(aegis.sourceforge.net) at the moment. I've been using Aegis to manage a  
1.5MLOC project with 8 developers and it worked really well. But of course 
your mileage may vary.

Groetjes,
Peter.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18 14:45         ` Sven Luther
@ 2004-12-18 20:03           ` Erik de Castro Lopo
  0 siblings, 0 replies; 24+ messages in thread
From: Erik de Castro Lopo @ 2004-12-18 20:03 UTC (permalink / raw)
  To: caml-list

On Sat, 18 Dec 2004 15:45:58 +0100
Sven Luther <sven.luther@wanadoo.fr> wrote:

> I was told that to do what i wanted to do, you would need to use arch's
> configs or whatever they where named,

I've never needed the config stuff so I haven't looked into it.

> and that the tag stuff was not really
> upto it. I don't remember the details, it was aroudn january or so.

Tag was working perfectly when I started using Arch in October of
2003.


Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam@mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
"The growing and dangerous intrusion of this new technology,
threatens an entire industry's economic vitality and future
security." -- Jack Valenti (MPAA president) on the video
cassette recorder, 1982.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18 15:22           ` Richard W.M. Jones
  2004-12-18 15:35             ` Richard W.M. Jones
@ 2004-12-18 15:39             ` Sven Luther
  1 sibling, 0 replies; 24+ messages in thread
From: Sven Luther @ 2004-12-18 15:39 UTC (permalink / raw)
  To: Richard W.M. Jones; +Cc: Sven Luther, caml-list

On Sat, Dec 18, 2004 at 03:22:44PM +0000, Richard W.M. Jones wrote:
> On Sat, Dec 18, 2004 at 04:01:51PM +0100, Sven Luther wrote:
> > On Sat, Dec 18, 2004 at 11:24:00AM +0000, Richard Jones wrote:
> > > If you're finding Arch too hard, have a look at Darcs.  This page
> > > describes how to create a repository:
> > > 
> > > http://abridgegame.org/darcs/manual/node4.html
> > 
> > Seems interesting. I wonder if there is a bitkeeper to darcs gateway, that
> > would make it perfect for kernel work.
> 
> There's a Darcs mirror of the Linux kernel, but I don't think it
> includes versions (ie. it's not a true export from BitKeeper).
> 
> http://darcs.net/linux.html
> 
> The problem that Darcs has on repositories of this size is that to do
> its branching and merging magic, it needs to hold the whole codebase
> in memory at once.  With the size of the Linux kernel, this reportedly
> requires about 300MB of real RAM and up to 700MB of virtual memory.
> [Source: http://lwn.net/Articles/110427/]

Main problem seems to be :

 The repository is converted from the bkcvs mirror, and is updated once a day.
 As a result, it doesn't contain any information about file renames.

Seems like a shame to me to go through CVS here, since you loose one of the
important features. And well, what we really need is to get access to any
arbitrary kernel bk trees, not only whichever one was used here.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18 15:22           ` Richard W.M. Jones
@ 2004-12-18 15:35             ` Richard W.M. Jones
  2004-12-18 15:39             ` Sven Luther
  1 sibling, 0 replies; 24+ messages in thread
From: Richard W.M. Jones @ 2004-12-18 15:35 UTC (permalink / raw)
  Cc: caml-list

[-- Attachment #1: Type: text/plain, Size: 647 bytes --]

On Sat, Dec 18, 2004 at 03:22:44PM +0000, Richard W.M. Jones wrote:
> There's a Darcs mirror of the Linux kernel, but I don't think it
> includes versions (ie. it's not a true export from BitKeeper).

Apologies - I should read my own web page.  It's an export from
BitKeeper, via CVS, and thus will have some shortcomings, but should
include some version info.

Rich.

-- 
Richard Jones.  http://www.annexia.org/  http://www.j-london.com/
>>>   http://www.team-notepad.com/ - collaboration tools for teams   <<<
Merjis Ltd. http://www.merjis.com/ - improving website return on investment
http://winwinsales.co.uk/ - CRM consultancy

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18 15:01         ` Sven Luther
@ 2004-12-18 15:22           ` Richard W.M. Jones
  2004-12-18 15:35             ` Richard W.M. Jones
  2004-12-18 15:39             ` Sven Luther
  0 siblings, 2 replies; 24+ messages in thread
From: Richard W.M. Jones @ 2004-12-18 15:22 UTC (permalink / raw)
  To: Sven Luther; +Cc: caml-list

[-- Attachment #1: Type: text/plain, Size: 1193 bytes --]

On Sat, Dec 18, 2004 at 04:01:51PM +0100, Sven Luther wrote:
> On Sat, Dec 18, 2004 at 11:24:00AM +0000, Richard Jones wrote:
> > If you're finding Arch too hard, have a look at Darcs.  This page
> > describes how to create a repository:
> > 
> > http://abridgegame.org/darcs/manual/node4.html
> 
> Seems interesting. I wonder if there is a bitkeeper to darcs gateway, that
> would make it perfect for kernel work.

There's a Darcs mirror of the Linux kernel, but I don't think it
includes versions (ie. it's not a true export from BitKeeper).

http://darcs.net/linux.html

The problem that Darcs has on repositories of this size is that to do
its branching and merging magic, it needs to hold the whole codebase
in memory at once.  With the size of the Linux kernel, this reportedly
requires about 300MB of real RAM and up to 700MB of virtual memory.
[Source: http://lwn.net/Articles/110427/]

Rich.

-- 
Richard Jones.  http://www.annexia.org/  http://www.j-london.com/
>>>   http://www.team-notepad.com/ - collaboration tools for teams   <<<
Merjis Ltd. http://www.merjis.com/ - improving website return on investment
http://winwinsales.co.uk/ - CRM consultancy

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18 11:25 ` henri dubois-ferriere
@ 2004-12-18 15:03   ` Sven Luther
  0 siblings, 0 replies; 24+ messages in thread
From: Sven Luther @ 2004-12-18 15:03 UTC (permalink / raw)
  To: henri dubois-ferriere; +Cc: Alex Baretta, Ocaml

On Sat, Dec 18, 2004 at 12:25:31PM +0100, henri dubois-ferriere wrote:
> > Other VCSs such as subversion seem to be so unstable as to severely
> > discourage their use in an industrial project.
> 
> never used it myself, but i've heard lots of positive things from
> people using subversion lately, in particular that it is reliable and
> stable.
> [to the point i'm finally considering switching over from cvs]
> 
> can you elaborate on the instability of subversion?

Well, most of the alternatives used to not be very stable a year or two ago.
There are some troubles in subversions web interface (i think debian used
webcvs or something such), which had the bad habit of locking the database,
but apart from that it is pretty stable, especially since the 1.0 version was
released.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18 11:24       ` Richard Jones
@ 2004-12-18 15:01         ` Sven Luther
  2004-12-18 15:22           ` Richard W.M. Jones
  0 siblings, 1 reply; 24+ messages in thread
From: Sven Luther @ 2004-12-18 15:01 UTC (permalink / raw)
  To: Richard Jones; +Cc: caml-list

On Sat, Dec 18, 2004 at 11:24:00AM +0000, Richard Jones wrote:
> If you're finding Arch too hard, have a look at Darcs.  This page
> describes how to create a repository:
> 
> http://abridgegame.org/darcs/manual/node4.html

Seems interesting. I wonder if there is a bitkeeper to darcs gateway, that
would make it perfect for kernel work.

I wonder about the wisdom of naming the commit record instead of commit
though.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18  9:49       ` Erik de Castro Lopo
@ 2004-12-18 14:45         ` Sven Luther
  2004-12-18 20:03           ` Erik de Castro Lopo
  0 siblings, 1 reply; 24+ messages in thread
From: Sven Luther @ 2004-12-18 14:45 UTC (permalink / raw)
  To: Erik de Castro Lopo; +Cc: caml-list

On Sat, Dec 18, 2004 at 08:49:15PM +1100, Erik de Castro Lopo wrote:
> On Sat, 18 Dec 2004 10:28:56 +0100
> Sven Luther <sven.luther@wanadoo.fr> wrote:
> 
> > Well, arch and subversion are different kind of system. subversion is a good
> > cvs replacement, while arch aims more at the bitkeeper category.
> 
> Yes, subversion aims to be a better CVS while Arch and Bitkeeper
> aim to be a better revision control system. If you want a better
> revision control system CVS is probably not a good place to
> start.
> 
> > That said, there is no real support for tagging in
> > arch, which is what makes subversion preferable for the debian-like usage,
> > where we tag each released version.
> 
> There is an arch way to do this:
> 
>     tla tag project--devel project--release--versionnumber
> 
> Its even called tag. What more could you want :-).

I was told that to do what i wanted to do, you would need to use arch's
configs or whatever they where named, and that the tag stuff was not really
upto it. I don't remember the details, it was aroudn january or so.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18  9:52       ` Erik de Castro Lopo
@ 2004-12-18 14:45         ` Sven Luther
  0 siblings, 0 replies; 24+ messages in thread
From: Sven Luther @ 2004-12-18 14:45 UTC (permalink / raw)
  To: Erik de Castro Lopo; +Cc: caml-list

On Sat, Dec 18, 2004 at 08:52:05PM +1100, Erik de Castro Lopo wrote:
> On Sat, 18 Dec 2004 10:28:56 +0100
> Sven Luther <sven.luther@wanadoo.fr> wrote:
> 
> > That said, there is no real support for tagging in
> > arch, which is what makes subversion preferable for the debian-like usage,
> > where we tag each released version.
> 
> BTW, of the three debian developers I know, all three use Arch
> to track their Debain projects.

Well, sure, which is the difference between individual developpers, and large
cooperative setups. Debian-installer being the biggest of such, and it uses
subversion. But hey, you chose what you want, i am only saying that arch's
syntax is somewhat obscure, while there is almost no barrier to entry for
subversion.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 17:07 Alex Baretta
                   ` (2 preceding siblings ...)
  2004-12-18  0:48 ` skaller
@ 2004-12-18 11:25 ` henri dubois-ferriere
  2004-12-18 15:03   ` Sven Luther
  3 siblings, 1 reply; 24+ messages in thread
From: henri dubois-ferriere @ 2004-12-18 11:25 UTC (permalink / raw)
  To: Alex Baretta; +Cc: Ocaml

> Other VCSs such as subversion seem to be so unstable as to severely
> discourage their use in an industrial project.

never used it myself, but i've heard lots of positive things from
people using subversion lately, in particular that it is reliable and
stable.
[to the point i'm finally considering switching over from cvs]

can you elaborate on the instability of subversion?

tx
henri


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18  9:28     ` Sven Luther
  2004-12-18  9:49       ` Erik de Castro Lopo
  2004-12-18  9:52       ` Erik de Castro Lopo
@ 2004-12-18 11:24       ` Richard Jones
  2004-12-18 15:01         ` Sven Luther
  2 siblings, 1 reply; 24+ messages in thread
From: Richard Jones @ 2004-12-18 11:24 UTC (permalink / raw)
  Cc: caml-list

[-- Attachment #1: Type: text/plain, Size: 453 bytes --]

If you're finding Arch too hard, have a look at Darcs.  This page
describes how to create a repository:

http://abridgegame.org/darcs/manual/node4.html

Rich.

-- 
Richard Jones.  http://www.annexia.org/  http://www.j-london.com/
>>>   http://www.team-notepad.com/ - collaboration tools for teams   <<<
Merjis Ltd. http://www.merjis.com/ - improving website return on investment
http://execellence.co.uk/ - Interim and executive recruitment

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18  9:28     ` Sven Luther
  2004-12-18  9:49       ` Erik de Castro Lopo
@ 2004-12-18  9:52       ` Erik de Castro Lopo
  2004-12-18 14:45         ` Sven Luther
  2004-12-18 11:24       ` Richard Jones
  2 siblings, 1 reply; 24+ messages in thread
From: Erik de Castro Lopo @ 2004-12-18  9:52 UTC (permalink / raw)
  To: caml-list

On Sat, 18 Dec 2004 10:28:56 +0100
Sven Luther <sven.luther@wanadoo.fr> wrote:

> That said, there is no real support for tagging in
> arch, which is what makes subversion preferable for the debian-like usage,
> where we tag each released version.

BTW, of the three debian developers I know, all three use Arch
to track their Debain projects.

Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam@mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
"The power of accurate observation is commonly called cynicism by those
who don't have it." -- George Bernard Shaw


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-18  9:28     ` Sven Luther
@ 2004-12-18  9:49       ` Erik de Castro Lopo
  2004-12-18 14:45         ` Sven Luther
  2004-12-18  9:52       ` Erik de Castro Lopo
  2004-12-18 11:24       ` Richard Jones
  2 siblings, 1 reply; 24+ messages in thread
From: Erik de Castro Lopo @ 2004-12-18  9:49 UTC (permalink / raw)
  To: caml-list

On Sat, 18 Dec 2004 10:28:56 +0100
Sven Luther <sven.luther@wanadoo.fr> wrote:

> Well, arch and subversion are different kind of system. subversion is a good
> cvs replacement, while arch aims more at the bitkeeper category.

Yes, subversion aims to be a better CVS while Arch and Bitkeeper
aim to be a better revision control system. If you want a better
revision control system CVS is probably not a good place to
start.

> That said, there is no real support for tagging in
> arch, which is what makes subversion preferable for the debian-like usage,
> where we tag each released version.

There is an arch way to do this:

    tla tag project--devel project--release--versionnumber

Its even called tag. What more could you want :-).

Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam@mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
"There is no satisfactory substitute for excellence."
-- Dr. Arnold O. Beckman


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 22:27   ` Erik de Castro Lopo
@ 2004-12-18  9:28     ` Sven Luther
  2004-12-18  9:49       ` Erik de Castro Lopo
                         ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: Sven Luther @ 2004-12-18  9:28 UTC (permalink / raw)
  To: Erik de Castro Lopo; +Cc: caml-list

On Sat, Dec 18, 2004 at 09:27:16AM +1100, Erik de Castro Lopo wrote:
> On Fri, 17 Dec 2004 22:37:53 +0100
> Sven Luther <sven.luther@wanadoo.fr> wrote:
> 
> > We have had good success with subversion, 
> 
> I looked at subversion before deciding on Arch. The main downside
> I saw to subversion was that merging across branches was as painful
> as wil CVS. Arch on the other hand has two powerful merging 
> methods and there is a thrid one on the way. This allows me to
> run a couple of parallel developement branches, share those that
> need to be with other external developers and merge acorss the
> branches pretty much at will. 
> 
> I have not seen another source contol system which handles
> branches as nicely as Arch.

Well, arch and subversion are different kind of system. subversion is a good
cvs replacement, while arch aims more at the bitkeeper category. I tried to
setup an arch repo for the parted project almost a year ago, and utterly
failed, since it was so complex to setup, and needed some kind of black magic
knowledge and hand intervention to setup right, but then this has hopefully
been fixed since then. That said, there is no real support for tagging in
arch, which is what makes subversion preferable for the debian-like usage,
where we tag each released version. The fact that each tag is indeed a branch
in subversion may be confusing though, and imposes some dicipline on the user.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 17:07 Alex Baretta
  2004-12-17 18:42 ` [Caml-list] " Paul Snively
  2004-12-17 21:37 ` Sven Luther
@ 2004-12-18  0:48 ` skaller
  2004-12-18 11:25 ` henri dubois-ferriere
  3 siblings, 0 replies; 24+ messages in thread
From: skaller @ 2004-12-18  0:48 UTC (permalink / raw)
  To: Alex Baretta; +Cc: Ocaml

On Sat, 2004-12-18 at 04:07, Alex Baretta wrote:
> Please forgive me for ranting about source code Version Control Systems 
> on the list, but I can't help it. Besides, I would like to know what the 
> gurus on the list use to manage their own projects.

Well, I solve the build complexities using interscript.

The principle packaging concept is a simple set of
subpackages, each of which is a plain text file.

One file is the main one. It is processed like

	iscr main.pak

This command builds the actual distribution file set.

Moving files around, adapting them for the platform,
etc, are all handled *within* this system.

For example I use Cil -- this is packaged up as two
files: flx_frontc.ipk and flx_cil.ipk (Cil is built
on top of frontc).

Most of my build scripts are packaged in flx_maker.ipk.
I have several sets of tests, eg: flx_tutorial.ipk
is the tutorial (which is also a test suite).

Using any version control system to manage detail
level files is really archaic. Interscript is a much
better solution.

Wc on my LP archive shows:

  93781  374389 2674323 total

which is 2 1/2 meg of pure source code, 370Kloc,
in 89 files. Of course the actual 'source' code is bigger,
since some is generated.

The package includes

(0) Interscript -- python tree containing the extract tool
(a) Felix (ocaml + C++)
(b) OCS scheme (ocaml) -- ONE file
(c) FISh 1.6 (Ocaml)  -- ONE file
(d) Frontc (Ocaml) -- ONE file
(e) CIL (Ocaml) -- ONE file
(f) Elkhound (C++) -- THREE files

and coming: 

(g) Lua


Now it happens that I am using CVS on Sourceforge.
On my network link this is a PAIN it is so slow.

But whilst there may still be a need to 'move directories'
around etc, I haven't run into it yet. When I reorganise
the 'source' code that reorganisation is entirely built
into the internal interscript LP structure -- CVS never
sees it. At worst I occasionally delete a file or add
a file.

Although originally designed as a Literate Programming tool,
I am not really using interscript for that much: I'm using
it as an advanced package manager instead. Just simple
things like this:

@h = tangler("src/flx_xxx.ml")
@select(h)
let f x = x
....

@h = tangler("src/flx_xxx.mli")
@select(h)
val f:int -> int
....

which allows you to group files is a major bonus.
The other is: lines starting with @ are arbitrary
Python script. For example:

...
@keywords = ['fred','joe']
@for i in keywords: tangle('(' + str i +',"' + str i+'")')
@# generates a nice table of pairs (fred,"fred") etc

This is *infintely* superior to rubbish like template files
which some script fills in (eg autoconf style rubbish):
it is universally available and arbitrary code can generate
any part of any file in any way -- code generation
is *local* not external.

You could probably implement your own tool to do this,
say in Scheme instead of Python: all you really need 
to do it is 'eval'.

The downside is: you MUST not edit 'source' code.
Instead you edit the source generators, which implies
after every change you have to re-extract your source tree.
[Interscript is smart, and only re-extracts changed subtrees]

This also means no syntax colouring or building inside
emacs (unless you extend it to handle the tool).

The upside is -- recent change to Elkhound, Scott used
'string' as a class name which isn't nice -- fixed
with 6 global search and replace in Vim. (3 files,
2 changes since '#include "string.h"' was screwed up
by the first replace). That is, systematic editing
is easier because all the related 'files' are in one file.

Also does nice things like copy '*.mli' files to '*.ml'
files when they're the same file .. etc etc.

To really understand how all this works, you could
just try it :)

http://felix.sf.net/download.html

You'll note even though I have a Python maker script,
I still generate a conventional Makefile and use
it to do the top level making, and also to bootstrap
the build process (the Makefile you get out of the
tarball is immediately clobbered by a generated one).

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net




^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 21:37 ` Sven Luther
@ 2004-12-17 22:27   ` Erik de Castro Lopo
  2004-12-18  9:28     ` Sven Luther
  0 siblings, 1 reply; 24+ messages in thread
From: Erik de Castro Lopo @ 2004-12-17 22:27 UTC (permalink / raw)
  To: caml-list

On Fri, 17 Dec 2004 22:37:53 +0100
Sven Luther <sven.luther@wanadoo.fr> wrote:

> We have had good success with subversion, 

I looked at subversion before deciding on Arch. The main downside
I saw to subversion was that merging across branches was as painful
as wil CVS. Arch on the other hand has two powerful merging 
methods and there is a thrid one on the way. This allows me to
run a couple of parallel developement branches, share those that
need to be with other external developers and merge acorss the
branches pretty much at will. 

I have not seen another source contol system which handles
branches as nicely as Arch.

Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam@mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
"When your hammer is C++, everything begins to look like a thumb."
-- Steve Haflich, in comp.lang.c++


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 17:07 Alex Baretta
  2004-12-17 18:42 ` [Caml-list] " Paul Snively
@ 2004-12-17 21:37 ` Sven Luther
  2004-12-17 22:27   ` Erik de Castro Lopo
  2004-12-18  0:48 ` skaller
  2004-12-18 11:25 ` henri dubois-ferriere
  3 siblings, 1 reply; 24+ messages in thread
From: Sven Luther @ 2004-12-17 21:37 UTC (permalink / raw)
  To: Alex Baretta; +Cc: Ocaml

On Fri, Dec 17, 2004 at 06:07:54PM +0100, Alex Baretta wrote:
> Please forgive me for ranting about source code Version Control Systems 
> on the list, but I can't help it. Besides, I would like to know what the 
> gurus on the list use to manage their own projects.
> 
> My company handles close to 100kloc of Ocaml and ocaml related files 
> under CVS. We have gotten sick and tired of having to reconstruct CVS 
> repositories from scratch every once in a while because we need to move 
> files or delete directories.
> 
> It appeared to us that Darcs might solve the problem: it seems based on 
> a reasonably sound algebraic model and is written in Haskell, which 
> supposedly should be a bonus compared to other VCSs written in C.

...

> What is the Ocaml way to solve this problem? What VCS do caml breeders 
> and riders use?

We have had good success with subversion, which has the added advantage of
being very very user friendly, and an almost immediate proficiency in it if
one has CVS knowledge. We are using it for the debian/ocaml package repository
(not upstream source, just the packages and the debian dir), and also for
larger projects, like the new debian-installer source repository, and the new
debian kernel packages (altough we don't keep the whole kernel source tree
there, just the debian patches).

Friendly,

Sven Luther



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 18:42 ` [Caml-list] " Paul Snively
  2004-12-17 19:28   ` Yaron Minsky
@ 2004-12-17 20:13   ` Erik de Castro Lopo
  1 sibling, 0 replies; 24+ messages in thread
From: Erik de Castro Lopo @ 2004-12-17 20:13 UTC (permalink / raw)
  To: caml-list

On Fri, 17 Dec 2004 10:42:51 -0800
Paul Snively <psnively@mac.com> wrote:

> If all of this is too much, consider GNU Arch in its tla incarnation, 
> which does version file flags on POSIX filesystems, and also has very 
> good EMACS integration in the form of XTLA.

I'm using GNU Arch for large amounts of C, C++, Python, Ocmal, plain 
text and LateX.

I think Arch is the best thing since sliced bread. The ony problem is
it doesn't like ms windows. It stores files in a really deep directory
structure and its really easy to run into the limit of how long
a pathname can be on windows.

If you are Unix only Arch is well worth a look. Its a bit difficult
to set up and get the hang of, but if you are not on windows, its
well worth it.

Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam@mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
"No Silicon Heaven?  Preposterous!  Where would
all the calculators go?" -- Kryten, Red Dwarf


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 18:42 ` [Caml-list] " Paul Snively
@ 2004-12-17 19:28   ` Yaron Minsky
  2004-12-17 20:13   ` Erik de Castro Lopo
  1 sibling, 0 replies; 24+ messages in thread
From: Yaron Minsky @ 2004-12-17 19:28 UTC (permalink / raw)
  To: Paul Snively; +Cc: Alex Baretta, Ocaml

We use Arch here for several projects, totaling about 100kloc.  Arch
works pretty well and reliably.  It's got a bit of a learning curve,
and the usability of the command line tool is pretty horrific.  Still,
it's underlying design is very good, and it gets the job done.

Yaron

On Fri, 17 Dec 2004 10:42:51 -0800, Paul Snively <psnively@mac.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 
> On Dec 17, 2004, at 9:07 AM, Alex Baretta wrote:
> 
> > It appeared to us that Darcs might solve the problem: it seems based
> > on a reasonably sound algebraic model and is written in Haskell, which
> > supposedly should be a bonus compared to other VCSs written in C.
> >
> > Yet, darcs lacks some of the most basic features of a VCS, such as
> > handling metadata (the executable bit, essentially). The darcs
> > developers say that this is a "planned feature" but nothing really
> > urgent. Actually, we think this is a critical feature in a big project
> > which relies on scripts and other executables distributed together
> > with the source for bootstrapping purposes. Ocaml itself ships with a
> > full compiler to be able to bootstrap, albeit this does not depend on
> > the executable bit being set anywhere since ocamlrun is generated by
> > the C compiler.
> >
> > Other VCSs such as subversion seem to be so unstable as to severely
> > discourage their use in an industrial project.
> >
> darcs is a great tool. 1.0.1 was just released. For your purposes
> you'll be interested in the "setprefs test" sub-command, which allows
> you to define a process to execute before some darcs commands--see the
> docs for details.
> 
> I use EMACS and Tuareg Mode for my O'Caml programming, so I also use
> darcsum.el to integrate EMACS and darcs. I find this quite nice.
> 
> If all of this is too much, consider GNU Arch in its tla incarnation,
> which does version file flags on POSIX filesystems, and also has very
> good EMACS integration in the form of XTLA.
> 
> Best regards,
> Paul Snively
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.6 (Darwin)
> 
> iEYEARECAAYFAkHDKLYACgkQbot1wzHBQBVAMgCbB2MTet7XB4AOzd9eyqdIT7Mj
> KO0An2ClbNs7G/ZkS7Hp7RXHKBje99gp
> =nrMe
> -----END PGP SIGNATURE-----
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Caml-list] [OT] Rant about VCS
  2004-12-17 17:07 Alex Baretta
@ 2004-12-17 18:42 ` Paul Snively
  2004-12-17 19:28   ` Yaron Minsky
  2004-12-17 20:13   ` Erik de Castro Lopo
  2004-12-17 21:37 ` Sven Luther
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 24+ messages in thread
From: Paul Snively @ 2004-12-17 18:42 UTC (permalink / raw)
  To: Alex Baretta; +Cc: Ocaml

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Dec 17, 2004, at 9:07 AM, Alex Baretta wrote:

> It appeared to us that Darcs might solve the problem: it seems based 
> on a reasonably sound algebraic model and is written in Haskell, which 
> supposedly should be a bonus compared to other VCSs written in C.
>
> Yet, darcs lacks some of the most basic features of a VCS, such as 
> handling metadata (the executable bit, essentially). The darcs 
> developers say that this is a "planned feature" but nothing really 
> urgent. Actually, we think this is a critical feature in a big project 
> which relies on scripts and other executables distributed together 
> with the source for bootstrapping purposes. Ocaml itself ships with a 
> full compiler to be able to bootstrap, albeit this does not depend on 
> the executable bit being set anywhere since ocamlrun is generated by 
> the C compiler.
>
> Other VCSs such as subversion seem to be so unstable as to severely 
> discourage their use in an industrial project.
>
darcs is a great tool. 1.0.1 was just released. For your purposes 
you'll be interested in the "setprefs test" sub-command, which allows 
you to define a process to execute before some darcs commands--see the 
docs for details.

I use EMACS and Tuareg Mode for my O'Caml programming, so I also use 
darcsum.el to integrate EMACS and darcs. I find this quite nice.

If all of this is too much, consider GNU Arch in its tla incarnation, 
which does version file flags on POSIX filesystems, and also has very 
good EMACS integration in the form of XTLA.

Best regards,
Paul Snively

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (Darwin)

iEYEARECAAYFAkHDKLYACgkQbot1wzHBQBVAMgCbB2MTet7XB4AOzd9eyqdIT7Mj
KO0An2ClbNs7G/ZkS7Hp7RXHKBje99gp
=nrMe
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2004-12-20  8:27 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-17 18:42 [Caml-list] [OT] Rant about VCS Ennals, Robert
2004-12-17 20:01 ` Alex Baretta
2004-12-17 20:27   ` Paul Snively
2004-12-20  8:27     ` Peter Busser
2004-12-17 20:36   ` Erik de Castro Lopo
  -- strict thread matches above, loose matches on Subject: below --
2004-12-17 17:07 Alex Baretta
2004-12-17 18:42 ` [Caml-list] " Paul Snively
2004-12-17 19:28   ` Yaron Minsky
2004-12-17 20:13   ` Erik de Castro Lopo
2004-12-17 21:37 ` Sven Luther
2004-12-17 22:27   ` Erik de Castro Lopo
2004-12-18  9:28     ` Sven Luther
2004-12-18  9:49       ` Erik de Castro Lopo
2004-12-18 14:45         ` Sven Luther
2004-12-18 20:03           ` Erik de Castro Lopo
2004-12-18  9:52       ` Erik de Castro Lopo
2004-12-18 14:45         ` Sven Luther
2004-12-18 11:24       ` Richard Jones
2004-12-18 15:01         ` Sven Luther
2004-12-18 15:22           ` Richard W.M. Jones
2004-12-18 15:35             ` Richard W.M. Jones
2004-12-18 15:39             ` Sven Luther
2004-12-18  0:48 ` skaller
2004-12-18 11:25 ` henri dubois-ferriere
2004-12-18 15:03   ` Sven Luther

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).