2009/10/23 Ramon Ribó <ram...@compassis.com>

> >  Seriously, how hard
> > is it to make a build environment with a script that modifies what should
> be
> > modified on checkout?  I don't see the extreme problems here with "fossil
> > update" followed by "bin/convert" where the latter is a script specific
> to
> > your project that converts only the files that need to be converted for
> the
> > target platform.
> >
>
> This could be a solution for checking out and creating a release in the
> target
> platform but this is not a solution useful to develop in both, unix and
> windows.
> It is not enough to convert after checkout or update. What about commit,
> what
> about diff? It just does not work.
>

Now try going beyond a single example into the general point being
illustrated.  The general point is that there *is no automated solution to
this that will work on every project*.  Projects are too varied for this to
happen.  *Any* automated solution provided by Fossil will work for such a
small subset of projects, and for such a large expenditure of effort, that
it is utterly and completely pointless.

So.

If *you* have such a project with development working on multiple platforms
checking out and checking in willy-nilly, it is up to *you* to make the
build and development environment work appropriately, not Fossil.  Making
this development environment includes, but is not limited to, the following:

   1. Correct selection of tools (like editors) so that the impact of \n and
   \r\n is mitigated.
   2. The creation (and maintenance) of build and scm wrapper scripts such
   that your files which simply *must* be \r\n (MSVC build files, batch
   files, etc.) are always "cast" (so to speak) into the correct form before
   check-in and after check-out (and ditto for things which *must* be in \r
   or \n or even \x1e).
   3. For all other files a simple policy (perhaps enforced by wrapper
   scripts again) that chooses one format as the canonical format to be
   checked-in.
   4. <insert any other specific requirements your project has here>

There is no way for Fossil to know which files have to be in which format.
Short of embedding an AI more sophisticated than any ever built before
there's no way for Fossil to be built to know this.  Any actually plausible
solution built into Fossil will be wrong for a huge subset of projects
anyway so it's utterly wasted effort that could be better spent on features
that are actually useful.
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to