4

I can't get reset to work properly in JGit. Ie. i can add all files to the index, and i can remove/reset/unstage some of them from the index via the command below but it doesn't work for all files. What is the proper way to unstage files in JGit?

repository.getIndex().remove(getWorkignDirectoryAsFile(), new File(getWorkignDirectoryAsFile(), fileName));
repository.getIndex().write();

Also

Coder
  • 1,375
  • 2
  • 20
  • 45

2 Answers2

4

You can remove a file from the index using JGit ResetCommand class:

ResetCommand reset = new Git(repository).reset();
reset.setRef(Constants.HEAD);
reset.addPath("foo.txt");
reset.call();
Kevin Sawicki
  • 3,002
  • 1
  • 20
  • 18
3

The equivalent of a plain git reset command is

git.reset().setMode(ResetType.MIXED).call();

Where git is an instance of org.eclipse.jgit.api.Git and ResetType refers to org.eclipse.jgit.api.ResetCommand.ResetType

Ed I
  • 7,008
  • 3
  • 41
  • 50