notmuch/devel
W. Trevor King 0a1558471f nmbug: Accept failures to unset core.worktree in clone
Since 6311cfaf (init: do not set unnecessary core.worktree,
2016-09-25, 2.11.0 [1]), Git has no longer set core.worktree when
--separate-git-dir is used.  This broke clone with:

  $ nmbug clone http://nmbug.notmuchmail.org/git/nmbug-tags.git
  Cloning into '/tmp/nmbug-clone.33gg442e'...
  Checking connectivity: 16674, done.
  ['git', '--git-dir', '/home/wking/.nmbug', 'config', '--unset', 'core.worktree'] exited with 5
  $ echo $?
  1

The initial discussion that lead to the Git change is in [2], and
there is some more discussion around this specific change in [3].
There is some useful background on working trees in this 2009 message
[4].  There is also a git-worktree(1) since df0b6cfb (worktree: new
place for "git prune --worktrees", 2015-06-29, 2.5.0 [5]) which grew
the ability to add new worktrees in 799767cc (Merge branch
'es/worktree-add', 2015-07-13, 2.5.0 [6]).  Folks relying on
core.worktree in the --separate-git-dir case fall into the "former
case" in [4], and as Junio pointed out in that message, Git
operations like 'add' don't really work there.

In nmbug we don't want core.worktree, because our effective working
tree is the notmuch database.  By accepting failed core.worktree
unsets, clone will work with Gits older and younger than 2.11.0.

[1]: 6311cfaf93
[2]: https://public-inbox.org/git/CALqjkKZO_y0DNcRJjooyZ7Eso7yBMGhvZ6fE92oO4Su7JeCeng@mail.gmail.com/
[3]: https://public-inbox.org/git/87h94d8cwi.fsf@kyleam.com/
[4]: https://public-inbox.org/git/7viqbsw2vn.fsf@alter.siamese.dyndns.org/
[5]: df0b6cfbda
[6]: 799767cc98

Reported-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2017-12-11 09:06:47 -04:00
..
nmbug nmbug: Accept failures to unset core.worktree in clone 2017-12-11 09:06:47 -04:00
check-out-of-tree-build.sh devel/check-out-of-tree-build.sh: consistent naming, consistent quoting 2017-10-05 07:40:36 -03:00
emacs-keybindings.org devel: Document emacs keybindings 2016-10-25 18:10:40 -03:00
gen-testdb.sh test: make script exit (1) if it "fails" to source (.) a file 2015-08-07 21:56:39 +02:00
man-to-mdwn.pl devel/man-to-mdwn.pl: portable locale environment variable setting 2016-06-11 13:01:30 -03:00
news2wiki.pl devel: news2wiki to recognize yyyy-mm-dd or UNRELEASED as release date 2014-07-13 12:35:37 -03:00
printmimestructure devel: add dkg's printmimestructure script to notmuch devel scripts 2013-05-23 08:01:37 -03:00
release-checks.sh devel/release-checks: added checking of copyright year in documentation 2015-11-19 07:34:29 -04:00
RELEASING Start devel directory for developer tools and documentation. 2012-01-17 22:53:31 -04:00
schemata devel/schemata: describe version 4 2017-07-04 08:32:37 -03:00
STYLE STYLE: suggest long names 2016-03-04 20:45:06 -04:00
TODO lib: make notmuch_query_count_messages explicitely exact 2015-03-13 07:58:55 +01:00
try-emacs-mua Use https instead of http where possible 2016-06-05 08:32:17 -03:00
uncrustify.cfg uncrustify.cfg: added 3 new types for uncrustify to know 2012-11-07 08:00:03 -04:00