[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5344: 23.1.91; bug/wish: vc does not honour GIT_DIR / GIT_WORK_TREE
From: |
Lars Ingebrigtsen |
Subject: |
bug#5344: 23.1.91; bug/wish: vc does not honour GIT_DIR / GIT_WORK_TREE environment variables |
Date: |
Sun, 24 Nov 2019 22:46:39 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
(Please keep the debbugs address in the Cc header -- otherwise the mail
doesn't reach the bug tracker.)
Gregor Zattler <grfz@gmx.de> writes:
> Actually git does it the other way around: It uses the values of
> the environment variables even if there is a .git directory
> further up in the file system hierarchy. So it's not a fall
> back but it overrides the default.
The vc functions in Emacs sets GIT_DIR to "" before calling git, so in
vc mode it would be a fallback.
> When I wrote this bug report and later the tiny patch, what I
> wanted was to edit dotfiles with emacsclient from the terminal
> command line in terminal frames. But in several terminals there
> are several shells with possibly different GIT_DIR/GIR_WORK_TREE
> environment variables.
>
> But working with emacsclient there is only one emacs server and
> therefore only one pair of GIT_DIR/GIR_WORK_TREE variables.
>
> To work with git from the command line with emacsclient the
> environment variables would have to be frame local.
>
> This is where I stuck.
>
> Therefore nowadays I'm back to a single ~/.git directory, not
> using the environment variables any more. And I'm working with
> magit nowadays. Magit also does not support the
> GIT_DIR/GIR_WORK_TREE environment variables.
>
> There are interesting discussions on this topic here:
> https://github.com/magit/magit/issues/2939#issuecomment-271186636
> and here: https://github.com/magit/magit/issues/460
>
> These are attempts to solve the pu:
> https://gitlab.com/stepnem/vcsh-el
> https://github.com/vanicat/magit-vcsh
It seems like providing a simple alist of directories/git repos would do
the trick in vc-dir, wouldn't it?