Skip to content

"401 Unauthorized" error when cloning repository with LFS and file smudging via HTTPS #268

@ptziegler

Description

@ptziegler

Version

7.5.0, but also with 7.7.0

Operating System

Windows

Bug description

When cloning a Git repository, where LFS is enabled and where one or more files are stored on the LFS server, a 401 is thrown when downloading the artifacts from the remote server.

This exception is thrown when using HTTPS, but not SSH, even though the credentials are set in the "Clone Repository" dialog and present in the Secure Storage. So it seems like they get lost somwhere during the checkout.

Actual behavior

The repository is not cloned.

Expected behavior

The repository, including all smudged files, should be present on the file system.

Relevant log output

java.io.IOException: When trying to open a connection to https://(...).git/info/lfs/objects/batch the server responded with an error code. rc=401
	at org.eclipse.jgit.lfs.SmudgeFilter.downloadLfsResource(SmudgeFilter.java:151)
	at org.eclipse.jgit.lfs.SmudgeFilter.<init>(SmudgeFilter.java:105)
	at org.eclipse.jgit.lfs.SmudgeFilter.<init>(SmudgeFilter.java:91)
	at org.eclipse.jgit.attributes.FilterCommandRegistry.createFilterCommand(FilterCommandRegistry.java:116)
	at org.eclipse.jgit.dircache.DirCacheCheckout.runBuiltinFilterCommand(DirCacheCheckout.java:1558)
	at org.eclipse.jgit.dircache.DirCacheCheckout.getContent(DirCacheCheckout.java:1496)
	at org.eclipse.jgit.dircache.DirCacheCheckout.getContent(DirCacheCheckout.java:1428)
	at org.eclipse.jgit.dircache.Checkout.checkout(Checkout.java:195)
	at org.eclipse.jgit.dircache.DirCacheCheckout.doCheckout(DirCacheCheckout.java:595)
	at org.eclipse.jgit.dircache.DirCacheCheckout.checkout(DirCacheCheckout.java:493)
	at org.eclipse.jgit.api.CloneCommand.checkout(CloneCommand.java:396)
	at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:216)
	at org.eclipse.egit.core.op.CloneOperation.run(CloneOperation.java:194)
	at org.eclipse.egit.ui.internal.clone.AbstractGitCloneWizard.executeCloneOperation(AbstractGitCloneWizard.java:490)
	at org.eclipse.egit.ui.internal.clone.AbstractGitCloneWizard$5.run(AbstractGitCloneWizard.java:446)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:123)

Other information

We use an internal BitBucket server. Cloning the same repository from the command line works.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions