Frequent [lock fail] on origin/master [message #1757985] |
Wed, 22 March 2017 10:39  |
Eclipse User |
|
|
|
Hi, recently switch to Git with Git LFS.
An EGit pull rebase from within Eclipse frequently fails with a lock fail. It still says update result OK and the repository ends up X commits ahead of master, where X is the number of commits the remote master is ahead of the remote head.
If I then repeat the pull rebase, it seems to fix itself.
I don't see anything printed in the Eclipse error log.
I've disabled the virus scanner, so EGit should be the only program working the Git repository and as I understand it the [lock fail] means something is reading a pack file EGit tries to read. Does EGit use multiple threads to access the repositories?
How would I investigate where the problem is? I feel I don't have enough information to create a bug report at this point.
Could the remote head being different from the master be the problem?
This is on Windows with BitBucket Server, but it looks like no case changes in the branch names as in https://bugs.eclipse.org/bugs/show_bug.cgi?id=360669
There is no pruning (I think) as in https://bugs.eclipse.org/bugs/show_bug.cgi?id=502334
I did upgrade to latest EGit (4.6.1) with Eclipse Neon.2 (4.6.2 IDE for Java developers) but it still happening.
Repository size (.git folder excluding lfs) is ~300MB with ~2.6k files.
Thanks for any assistance.
|
|
|
|
|
Re: Frequent [lock fail] on origin/master [message #1758094 is a reply to message #1757990] |
Thu, 23 March 2017 09:35  |
Eclipse User |
|
|
|
Here are the screenshots:

-I just made a local commit (one commit ahead of master)
-team -> pull... -> rebase
Shows first dialog with the [lock fail] for the master branch
-now show repository 181 commits ahead of master (which is how far the remote master is ahead of the the remote head)
-team -> pull... -> rebase
Show the second dialog: local master fast-forwarded 180 commits, so now correctly only 1 commit ahead
I'm new to Git, but is EGit incorrectly pulling (rebasing) my local head with the remote HEAD? And because HEAD is just a pointer to local master it tries to rebase it both the the origin/HEAD and origin/master (which do not point to the same commit), which leads to the conflict.
Is this supposed to happened? I'm not sure were supposed to have a remote HEAD.
Git command line does not show HEAD as a tracking branch (I think), removed most branches in output below, about ~10 stale ones total)
git branch -avv
feature/CE-20745 88dc381db3 [origin/feature/CE-20745] xxx
* master b07eddbb29 [origin/master: ahead 1] yyy
remotes/origin/HEAD -> origin/master
git remote show origin
* remote origin
Fetch URL: http://xxx/scm/yyy.git
Push URL: http://xxx/scm/yyy.git
HEAD branch: master
Remote branches:
1.0 tracked
2.0 tracked
bugfix/CE-20830 tracked
bugfix/CE-20831 tracked
feature/CE-20745 tracked
feature/CE-20803 tracked
master tracked
maven tracked
refs/remotes/origin/bugfix/CE-20373 stale (use 'git remote prune' to remove)
refs/remotes/origin/bugfix/CE-20395 stale (use 'git remote prune' to remove)
Local branches configured for 'git pull':
feature/CE-20745 rebases onto remote feature/CE-20745
master rebases onto remote master
Local refs configured for 'git push':
feature/CE-20745 pushes to feature/CE-20745 (up to date)
master pushes to master (fast-forwardable)
A pull rebase does not show HEAD and does not end up X commits more ahead:
git pull --rebase
remote: Counting objects: 162, done.
remote: Compressing objects: 100% (150/150), done.
remote: Total 162 (delta 96), reused 0 (delta 0)
Receiving objects: 100% (162/162), 57.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (96/96), completed with 85 local objects.
From http://xxx/yyy
07507d7ab3..2163b33d6b master -> origin/master
8688f1a4b7..ab551fd017 CE-18418 -> origin/CE-18418
fc9d4511ec..4b60bfc8eb benchmark -> origin/benchmark
d1ef055564..5743dcfb04 bugfix/CE-20420 -> origin/bugfix/CE-20420
* [new branch] bugfix/CE-20741 -> origin/bugfix/CE-20741
d1ef055564..4fa8cc4024 bugfix/CE-20831 -> origin/bugfix/CE-20831
First, rewinding head to replay your work on top of it...
Applying: Added examples
git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
[Updated on: Fri, 24 March 2017 04:39] by Moderator
|
|
|
Powered by
FUDForum. Page generated in 0.04679 seconds