object directory does not exist - Git operations fail after upgrade or BITBUCKET_HOME update

Still need help?

The Atlassian Community is here for you.

Ask the community

Problem

After upgrading Bitbucket Server to version 3.2+ (from a version prior to 3.2) or having moved BITBUCKET_HOME to a different location, git operations (e.g. git push) fail:

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin branchname:branchname
POST git-receive-pack (700 bytes)
remote: error: object directory C:/Bitbucket ServerData/data/repositories/26/objects does not exist; check .git/objects/info/alternates. [K
remote: fatal: unresolved deltas left after unpacking [K
error: unpack failed: unpack-objects abnormal exit

Pushing to https://username@bitbucket.server/scm/projectkey/reponame.git
To https://username@bitbucket.server/scm/projectkey/reponame.git
! [remote rejected] branchname -> branchname (unpacker error)
error: failed to push some refs to 'https://username@bitbucket.server/scm/projectkey/reponame.git'

Completed with errors, see above."

You could also be getting the following screen upon browsing forks:

'/usr/bin/git cat-file -t refs/heads/master:' exited with code 128 saying: error: object directory /abdera/user0/atlass/application-data/bitbucket/data/repositories/292/objects does not exist; check .git/objects/info/alternates.

Cause

The forked repository (e.g. ID 292) of the upstream repository (e.g. ID 45) still refers to the old path in the alternates file which Bitbucket Server uses to implement the fork functionality

This is tracked as  BSERV-9625 - Getting issue details... STATUS .

In the past we saw this happening when during the upgrade to a version higher than 3.2 (which included a data directory migration).

Another possible cause is described in  BSERV-9761 - Getting issue details... STATUS .

Workaround

  1. Stop Bitbucket Server.
  2. Correct the path in the alternates file leaving the repoID unchanged:
    1. For versions 3.2+

      BITBUCKET_HOME/shared/data/repositories/<repoID>/objects/info/alternates
    2. For versions prior to 3.2

      BITBUCKET_HOME/data/repositories/<repoID>/objects/info/alternates
  3. Start Bitbucket Server.

Last modified on Nov 12, 2018

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.