Re: [wiki] [sites] Revert "How to track config.(|def).h changes in git" || Hiltjo Posthuma

From: Jochen Sprickerhof <suckless_AT_jochen.sprickerhof.de>
Date: Wed, 27 Feb 2019 11:57:12 +0100

* Hiltjo Posthuma <hiltjo_AT_codemadness.org> [2019-02-24 18:10]:
>On Sun, Feb 24, 2019 at 05:54:03PM +0100, Jochen Sprickerhof wrote:
>> Hi Hiltjo,
>>
>> I just saw that you reverted my documentation on config.def.h in git in
>> 313a5dea. I got the idea from the patch_queue.md which was deleted in
>> 8c03f4bd and I find it really useful. The point is that you have your
>> default in git and it will track your changes and conflicts. Can we add
>> it again, or does it need more explanation or is there a different place
>> to put it?
>>
>
>No, like the commit message says it is wrong.
>
>config.def.h is the default config, which is copied to config.h if config.h
>does not exist. Users should not include config.def.h, atleast it should not
>be a recommended instruction on the wiki.

I talked to a friend about it:

| The default way of handling default-vs-custom configs is ok, but awful
| with respect to changes in the config syntax upstream. People get weird
| error messages every now and then after `git pull`/upgrade and sometimes
| spend quite a lot of time looking through the commits/ file diff to
| figure out which changes broke or send help requests to one of the
| mailing lists. Apparently that's what they want.

| The standard git-way of setting up custom branches for everything
| provides a neat mechanism to handle syntax changes, because users
| will have to merge/adapt their broken configuration incrementally.
| Sadly, ttbomk, git does not track file renaming well enough to do
| the same with renamed files, otherwise the same solution could
| work "cleaner" by first renaming def.h file in one commit
| - Please prove me wrong if this should be possible.
| Still, managing the config changes in git feels cleaner than working
| with diff/patch-combinations on top of the git that is supposed to
| track changes semantically.

>
>> Cheers Jochen
>>
>> P.S: Please Cc me, I'm not subscribed to this list.
>>
>> * git_AT_suckless.org <git_AT_suckless.org> [2019-02-16 17:54]:
>> > commit 313a5dea3d1d9d15b729c6839516a87f48f39bd1
>> > Author: Hiltjo Posthuma <hiltjo_AT_codemadness.org>
>> > Date: Sat Feb 16 17:53:47 2019 +0100
>> >
>> > Revert "How to track config.(|def).h changes in git"
>> >
>> > This reverts commit 13e1296e9772242ff869295a1081a77eae022434.
>> >
>> > This is wrong. config.def.h is the default.
>> >
>> > diff --git a/dwm.suckless.org/customisation/index.md b/dwm.suckless.org/customisation/index.md
>> > index c502064b..ee5cf802 100644
>> > --- a/dwm.suckless.org/customisation/index.md
>> > +++ b/dwm.suckless.org/customisation/index.md
>> > _AT_@ -40,11 +40,3 @@ Are there any example customisations to get me started?
>> > Various customisation options are illustrated in the sub-directories of this
>> > wiki page. Under each of the categories (customfuncs, fonts, etc.,) you will
>> > find example modifications that will get you started.
>> > -
>> > -How do I keep my customized dwm config up to date?
>> > ---------------------------------------------------
>> > -git clone the dwm repo and store all patches as git commits. If there are
>> > -changes in origin/master, simply git rebase your patches. For this it is
>> > -convenient to use the config.def.h directly. To do so you have to change
>> > -${OBJ}: config.h config.mk to ${OBJ}: config.def.h config.mk in the Makefile
>> > -and change #include "config.h" to #include "config.def.h" in dwm.c.
>> >
>> >
>
>
>
>--
>Kind regards,
>Hiltjo



Received on Wed Feb 27 2019 - 11:57:12 CET

This archive was generated by hypermail 2.3.0 : Wed Feb 27 2019 - 12:00:28 CET