A few "linked checkout" niggles
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 15, 2015, 23:13 UTC
- Message-ID
- <xmqqoajdui8w.fsf@gitster.dls.corp.google.com>
I've tried to set up a non-bare clone of git.git at ~/w/src and attached one of its branches to a separate work tree at ~/w/rerere
~/w/src$ git worktree add ../rerere jc/rerere
Then I tried the "multiple checkout not allowed".
~/w/src$ git checkout jc/rerere fatal: 'jc/rerere' is already checked out at '/home/gitster/w/rerere/.git'
You see the first "niggle" above. Do we need "/.git" at the end? That is hopefully merely cosmetic and I am guessing that we can unconditionally drop "/.git" from the end, but maybe there are subtle reasons why it may not be a good idea (e.g. introduces some ambiguities?)
There is another, a more serious one.
~/w/src$ git fetch ../git.git jc/rerere:jc/rerere
This succeeds, without checking if there is a work tree that has it checked out. I think the safety in "git fetch" that can be disabled by "--update-head-ok" option should be updated to reuse the same protection used by the updated "git checkout".
Something to work on for 2.5.x maintenance track, aiming for 2.5.1.
Thanks.