#542048 etckeeper: storing pristine conffiles in a separate branch

Package:
etckeeper
Source:
etckeeper
Submitter:
Frédéric Brière
Date:
2014-12-22 20:33:04 UTC
Severity:
wishlist
#542048#5
Date:
2009-08-17 14:17:59 UTC
From:
To:
(I'm probably begging for a wontfix tag, but here it goes.)

One feature I'd love to see in etckeeper is the ability for dpkg to
store a copy of the pristine conffiles in a separate branch, in a manner
similar to the familiar upstream/master Git setup.

This would make it easy to list the local changes applied to a file
without brining up the whole log.  But more importantly, it would
finally make it possible to do a 3-way merge on modified conffiles,
instead of dpkg's naive pick-one-or-the-other approach, while still
retaining backups of both versions.

Now, unless I'm mistaken, this would require some serious collaboration
from dpkg, since you can't just switch branches on /etc while services
are running.  I guess etckeeper would have to set up a temporary
checkout, have dpkg extract the conffiles there, and perform a
commit/push/merge afterwards (before calling postinst).

#542048#10
Date:
2012-10-29 21:49:57 UTC
From:
To:
I think the easiest way to implement this without swapping /etc is to
set up some extra per-process mounts of /etc of different versions.
So when you run dpkg, it has /etc mounted to a pristine copy of the repository
that isn't what is actually in /etc; then we do a merge and if the merge
goes through propagate the changes to /etc and reloads services.

Cheers,
Edward

#542048#15
Date:
2014-02-11 14:56:53 UTC
From:
To: