schacon / hg-git

mercurial to git bridge, pushed to directly from the hg-git plugin in Hg
GNU General Public License v2.0
621 stars 71 forks source link

Regular aborts with "access denied" by push into local git-repo #297

Closed sebres closed 9 years ago

sebres commented 9 years ago

Regular during push to git repository from hg occured aborts with "access denied" to lock files - any git/refs/tags/... (see bellow). Instant repeating again can bring success, but sometimes can produce an abort again, this time with access denied for another temp file.

platform: windows 7 x64
git: 1.9.5.msysgit.0;
hg: mercurial-3.4-rc (pure python)
hg-git: current github master
dulwich: current github master

Console output example (with 3 aborts):

[hg-repo-path]>hg push ../git-repo-path/.git
pushing to ../git-repo-path/.git
abort: Access is denied.: '[hg-repo-path]\.hg\git\refs\tags\release-0.9.2.lock.anm8uf.tmp'

[hg-repo-path]>hg push ../git-repo-path/
pushing to ../git-repo-path/
abort: Access is denied.: '[hg-repo-path]\.hg\git\refs\tags\release-0.7.32.lock.89lobq.tmp'

[hg-repo-path]>hg push ../git-repo-path/
pushing to ../git-repo-path/
abort: Access is denied.: '[hg-repo-path]\.hg\git\refs\tags\release-0.5.29.lock.tzbtje.tmp'

[hg-repo-path]>hg push ../git-repo-path/
pushing to ../git-repo-path/
searching for changes
no changes found
sebres commented 9 years ago

BTW: In addition to git is TortoiseGit installed, but I don't think, that TGitCache traverses over directory [hg-repo-path]\.hg\git (and locks something, because imho the folder name should be .git for this)...

sebres commented 9 years ago

TGitCache not involved (occured also on machine without TortoiseGit)

sebres commented 9 years ago

After this fix https://github.com/sebres/dulwich/commit/0b3067a111ef62cddd4cc61b75f7a7445359faf3 (within pull request https://github.com/jelmer/dulwich/issues/315) never more occurred.