[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Erase cache, clean registry in Linux



>> when a config file has been changed locally, it's unable to merge the
>> local change with the upstream change:
> There is no general way to do this.  The system would have to fully
> understand the config file and know all the ways the changes could conflict
> and interfere.

Try to take the need to merge as a given, and instead of worrying "is it
possible?" think about "how are we going to do that?".  You'll see it's
not nearly as hard as it sounds.  E.g.:

- first step: don't do it automatically, just use diff3 rather than diff
  when showing differences between "your file" and "upstream file".
  This way, the end user can check the merge result.
  (of course, that presumes accesss to the previous upstream file, so
  it requires some changes to dpkg, but nothing terribly difficult).

- second cut: in order to combine file chunks from different packages,
  provide some standard ways to do that.  Basically equivalent to the
  "foo.d/NNfile" currently used, except the result is a single file
  jointly owned by several packages.

- with the experience gained using the above steps, we may find some
  cases where the above tricks aren't good enough, so we'll add some new
  ones to cover the probleamtic cases.

Nothing terribly difficult, really.  No need to fully understand the
config file syntaxes: just provide ways to combine chunks and let the
packages be responsible to use it correctly.


        Stefan


Reply to: