Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

Re: Moving .git around

From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:45:00

On 7/24/08, Geoff Russell [off-list ref] wrote:
For reasons which would take a while to explain, I'm building a repository
 in a directory  using "--git-dir=xxxx/.git --work-tree=." and
 then doing an "mv  xxxx/.git ./.git"  and then trying to work with
 that repository  --- but can't

 Below is a sample script. The last line (git add) fails with

 fatal: unable to create
 '/usr/local/AusTop/AuPrograms/AuServer/testgit/aaa/bbb/.git/index.lock':
 No such file or directory

 git doesn't seem to realise that there is a .git back up the tree.
It's because when you did git --work-tree=. init, worktree is stored
in .git/config. The code that chdir() in setup_git_directory()
probably forgot to chdir() back to toplevel worktree. Workaround could
be just remove core.worktree in .git/config.
 I'm using 1.5.5.1

 Cheers,
 Geoff Russell

 ------------------------ sample script
 #!/bin/sh
 if [ -d "testgit" ] ; then
    echo "remove testgit"
    /bin/rm -rf testgit
 fi
 mkdir testgit && echo yyyy >testgit/sample.sh && cd testgit
 mkdir aaa && mkdir aaa/bbb
 echo xxxx > aaa/bbb/sample2.sh
 mkdir xxx
 git --git-dir=xxx/.git --work-tree=. init
 git --git-dir=xxx/.git --work-tree=. add *.sh
 git --git-dir=xxx/.git --work-tree=. commit  -m demo
 mv xxx/.git .
 cd aaa/bbb
 git add sample2.sh

--
 To unsubscribe from this list: send the line "unsubscribe git" in
 the body of a message to majordomo@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Duy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help