Partial stage/unstage operations fail with cryptic error

When I try to stage or unstage part of a file using the Stage Hunk or Stage Selected Lines button I get the following error:

'git apply' failed with code 1:'error: (null): does not exist in index

'

The last single quote appears on its own line.

I have tried running 'git fsck' on the repo and didn't get anything unusual.

16 answers

1 accepted

Follow up, this is fixable by setting Show Whitespace to Ignore Whitespace. Then the apply works. It appears that some of the time the line numbers from whitespace changes affects things negatively. This doesn't always happen, but at least for me this time it fixed it. Hope it helps someone else! :)

Still have this issue in 2014, but "Ignore Whitespace" helped. Thank you!

Yep - this issue still exists, and this still seems to fix it. For those who aren't sure where the 'Show Whitespace' option is located - look for the small cog icon in the top right corner of the "File Status" view, to the right of the search box. The option is in there.

I found the reverse fixed my problem, setting from Ignore to Show. Whatever works I guess.

its 2016 and this is still an issue...

Where is "setting Show Whitespace to Ignore Whitespace"?

2017-01-27 16_50_08-SourceTree.png

OK, so that not helps.

You're right, that didn't. Not sure what happened there. Let's try again.

Luv4sko

The only way I could get around this was to stage all changes to file then unstage the chunks I didn't want to commit.

It fails on any file in any repo on my machine. Doing "git add --patch" works properly, as does using the equivalent feature in Tower.

Actually I just figured it out. This feature breaks if you have diff.mnemonicprefix set to true in your git config.

Switching to Ignore Whitespace fixed this for me.

How do you switch to Ignore Whitespace?

Above the diff view there is a cog icon, click that and you will see the option to show or ignore whitespace differences in the view.

Can you give some more details about the file you're trying to do this on? This functionality works in all my tests here.

I'm seeing the same error. Unfortunately, settng both my global and local diff.mnemonicprefix setting to false doesn't solve the problem for me.

I'm also having the same issue:

'git apply' failed with code 1:'error: attak_game.js: does not exist in index'

When trying to "Stage Selected Lines"

Just wanted to add that I too experience this occasionally. Got it now in a file with several different detected hunks, and none of then can work via apply hunk or apply selected lines, nor can they be un-applied. Only fully staging the file as a whole works.

I see this when end-of-line characters are messed up in a file.

I'm getting this same problem when trying to "Stage Hunk". I don't know how to do the suggested fixes. Will somebody please enlighten me?

Despite the workaround, this is very annoying. Hope it get's fix really soon.

I see this with "Ignore Whitespace" AND "Show Whitespace". I don't have "diff.mnemonicprefix" set in my gitconfig. As far as I can tell, my file just has UNIX style line endings. What's the cause and fix?

This thread is quite old, but I just wanted to stop in and say I still see this issue.

Gotta be line-ending-related; I'm attempting to stage hunks/selected lines on a Windows machine after the source files were last modified on a Unix machine.

Very irritating issue, and none of the fixes in this thread worked for me.

Might also be the character encoding. If you set encoding to e.g. UTF-8 in SourceTree, but save the file in ANSI and have e.g. german Umlaut characters in it. Make sure to use consistent whitespace, character encoding and line-end handling.

I can confirm this. I merely changed the encoding for a file from ANSI to UTF-8 and now it works. Also I noticed that in ANSI, umlauts weren't shown correctly, merely as the question mark placeholder glyph.

Problem still presents.(

Still... 5.5 years later.

Try adding the following to your ~/.gitconfig

[apply]
    whitespace = nowarn

Does this allow merges to complete successfully, or just suppress the error and cause the merge to mess your file up? :)

I tried the above, restarted my machine, and got this slightly different error...Skærmbillede 2017-09-27 kl. 09.11.59.png

Suggest an answer

Log in or Join to answer
Community showcase
Brian Ganninger
Published Jan 23, 2018 in Sourcetree

Tip from the team: workflow and keyboard shortcuts

Supported Platforms macOS Sourcetree has a lot to offer and, like many developer tools, finding and using it all can be a challenge, especially for a new user. Everyone might not love ...

244 views 0 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot