Error: cannot pull with rebase: you have unstaged changes.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username Email AddressPassword

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unread,

Jan 12, 2016, 8:44:51 AM1/12/16

to julia-users

Hello all 

(first post)

I just now downloaded version 0.4.2 of Julia, and installed it on my W10x64pro machine. I was going to use it to run the optimization packages, so I did the Pkg.update() on the Julia cmd line, as instructed here //www.juliaopt.org/.

To my surprise, i get the following error message:

INFO: Updating METADATA...

error: Cannot pull with rebase: You have unstaged changes.

ERROR: failed process: Process(`git pull --rebase -q`, ProcessExited(1)) [1]

in pipeline_error at process.jl:555

I have not done any changes to any source, just DL'ed and installed the 64-bit binary for windows, and I have no clue what is going on... Does anyone have any ideas?

Thanks.

Stefan Karpinski

unread,

Jan 12, 2016, 8:48:22 AM1/12/16

to Julia Users

If you go into ~/.julia/v0.4/METADATA and do `git status` you should see what's going on there.

unread,

Jan 13, 2016, 8:36:51 AM1/13/16

to julia-users

Thanks for the reply. Unfortunately, I cannot find any such folder. This is the binary 64-bit version of Julia 0.4.2 on W10x64pro. I expected this to just install and run, but apparently this is not the case, at least not on W10...

Christopher Alexander

unread,

Jan 13, 2016, 8:48:42 AM1/13/16

to julia-users

In your user folder, you don't have a .julia folder?  It is hidden, so you might have to turn on hidden folders or access it via the command prompt.  If you are on a computer with a network drive, it might have put the folder in there.

Stefan Karpinski

unread,

Jan 13, 2016, 9:12:37 AM1/13/16

to Julia Users

What is the result of `Pkg.dir()`  in the Julia REPL? That's where your packages live and the METADATA repo.

unread,

Jan 14, 2016, 4:08:35 AM1/14/16

to julia-users

Oops...! Somehow Julia has created a rouge directory in my C:\Users\<myname>" which indeed contains a METADATA folder. I was under the impression that Julia was portable and could be dropped into any folder and would stick to that folder, just like any well-behaved portable app.

But ok... "git status" in the METADATA folder gives me:

On branch metadata-v2
Your branch is up-to-date with 'origin/metadata-v2'.Changes not staged for commit:
 
(use "git add <file>..." to update what will be committed)
 
(use "git checkout -- <file>..." to discard changes in working directory)

        modified

:   FixedEffectModels/versions/0.1.0/requires
        modified
:   FixedEffectModels/versions/0.1.1/requires
        modified
:   FixedEffectModels/versions/0.2.0/requires
        modified
:   FixedEffectModels/versions/0.2.1/requires
        modified
:   FixedEffectModels/versions/0.2.2/requiresno changes added to commit (use "git add" and/or "git commit -a")

I did not change any of those files (I didn't even know that they existed).

Thanks

// MVHMF

unread,

Jan 15, 2016, 7:54:42 AM1/15/16

to julia-users

"Pkg.dir()" give the same "Cannot pull with rebase..." error message.

Thanks.

Tony Kelman

unread,

Jan 17, 2016, 3:23:25 PM1/17/16

to julia-users

That doesn't make much sense...

How about ENV["HOMEPATH"] ?
That should tell you where your pkg folder is. Find .julia/v0.4/METADATA there and run `git diff` to see what the local changes are. If you don't remember making them you can probably do `git checkout -- filename` to undo all of them.

Joshua Duncan

unread,

Jan 29, 2016, 6:45:26 PM1/29/16

to julia-users

Have you resolved this problem?  I have the same errors as you.  Just installed v0.4.3 on Windows 10.

Thanks,

Josh

Joshua Duncan

unread,

Feb 3, 2016, 6:39:52 PM2/3/16

to julia-users

If anyone is interested, just deleting your v0.4 library folder and then running Pkg.update() will fix this problem.

Tony Kelman

unread,

Feb 17, 2016, 10:04:46 PM2/17/16

to Hua Chai,

Yes but a general question like this should be asked on the mailing list, please don't contact people directly for things that can be public.

You can either use the Julia REPL's shell mode (hit semicolon), or you can run git-bash from a separate Git installation. In Julia 0.4 we include a Git installation within the Julia binaries on Windows and Mac but this will not always be the case. If you're on Windows, navigate to where you have Julia installed (the variable JULIA_HOME in the Julia REPL will tell you where that is), then under the Git/ directory, run git-bash.exe. You can navigate around your METADATA folder and anywhere else in that prompt, and run git commands from there.

________________________________
> Date: Wed, 17 Feb 2016 20:59:11 -0800
> From:
> To:
> Subject: Private message regarding: [julia-users] Cannot pull with rebase...?
>
> May I ask where and how do you run commands like 'git diff'?

Hua Chai

unread,

Feb 17, 2016, 10:16:22 PM2/17/16

to julia-users

I had the same problem. Do you mean deleting the "v0.4" folder under C:\Users\Hua\.julia\lib or the C:\Users\Hua\.julia\v0.4 folder?

Tony Kelman

unread,

Feb 17, 2016, 11:37:46 PM2/17/16

to julia-users

Mostly the latter, that contains source which is what git is complaining about here. The former, the .julia\lib\v0.4 directory, will contain only precompiled .ji files, which are binaries and Julia will overwrite those when needed.

unread,

Feb 19, 2016, 1:52:26 AM2/19/16

to julia-users

It is not a matter about not "remember making them", I never did them! I just DL'ed and installed and then followed the instructions to update and then this git issue popped up.

Tony Kelman

unread,

Feb 19, 2016, 3:12:53 AM2/19/16

to julia-users

Which download, which instructions to update? Just the basic Julia for Windows installer exe? You didn't have any previous version of Julia installed? Do you have some other version of git on your path perhaps?

If these are permissions changes, it might be that git checkout -- foo doesn't have any effect since git on windows is an odd mix of posix-imitation and sort-of native executables. Try opening git bash and running chmod on the files that "git diff" says have changed, to put the permissions back the way git says they used to be to make "git diff" stop reporting any changes.

Hua Chai (Ken)

unread,

Feb 19, 2016, 7:27:49 AM2/19/16

to

Although these are not questions asked to me, since I'm having the same issues please allow me to respond so that we all understand the problem better.

I downloaded the 64-bit Julia + Juno IDE bundle to run on a windows 10 laptop. Since I'm a new user I don't have previous version of Julia installed. After running the installer all I ran was 'Pkg.status()' and 'Pkg.update()' and the error message pops up. Running 'Pkg.update()' in the Julia terminal gives the same result.

Also I was trying the chmod command, but didn't know what option to choose for 'chmod'.

Tony Kelman

unread,

Feb 19, 2016, 8:42:38 AM2/19/16

to julia-users

When you do "git diff" it should be showing something to the effect of "old mode," that's what you should try to use for chmod. Check git diff before and after, and aim to make git diff not say anything.

I don't know what's responsible for this but it seems like it may be specific to Juno somehow?

Hua Chai (Ken)

unread,

Feb 19, 2016, 10:56:29 AM2/19/16

to

You're right. 'git diff' does show old mode and new mode. But 'chmod' still didn't work with the old mode number.

Looks like the problem is rooted in the fact that Juno currently doesn't support Julia 0.4 (I noticed that from Junolab.org). I downloaded the bundle from Junolab.org instead of Julialang.org and also installed the command line version of Julia. The Pkg.update() problem didn't appear after installation. But now my Julia is only v0.3.

Hope the next Juno update will support Julia 0.4.

Alex Cooper

unread,

Mar 17, 2016, 6:17:28 AM3/17/16

to julia-users

I got the same issue on julia-0.4.3-win64. It's a problem with windows git not dealing with files that have unix file permissions set to 755.

First, you might need to switch to ~/.julia/v0.4/METADATA and abort the rebase (git rebase --abort). 

Then, the following patch applied to the METADATA git repo will do the trick.

diff --git a/FixedEffectModels/versions/0.1.0/requires b/FixedEffectModels/versions/0.1.0/requires

old mode 100755

new mode 100644

diff --git a/FixedEffectModels/versions/0.1.1/requires b/FixedEffectModels/versions/0.1.1/requires

old mode 100755

new mode 100644

diff --git a/FixedEffectModels/versions/0.2.0/requires b/FixedEffectModels/versions/0.2.0/requires

old mode 100755

new mode 100644

diff --git a/FixedEffectModels/versions/0.2.1/requires b/FixedEffectModels/versions/0.2.1/requires

old mode 100755

new mode 100644

diff --git a/FixedEffectModels/versions/0.2.2/requires b/FixedEffectModels/versions/0.2.2/requires

old mode 100755

new mode 100644

Cheers,

Alex

Andres Joaquin Calderon Vergara

unread,

May 10, 2016, 6:43:19 AM5/10/16

to julia-users

Hey Alex,

I dont have much experience with this, could you please point out the steps to add that patch to the METADATA git repo?

Many thanks,

Andres J.

Can I rebase with unstaged changes?

You'll often want to do two things: change the commit message, or change the actual content of the commit by adding, removing and modifying files. error: cannot rebase: You have unstaged changes.

Can you git pull with unstaged changes?

Cannot pull with rebase: You have unstaged changes. Please commit or stash them. Git stash command is kind of commit stored changes to temporary space and clean working copy. Then your working copy will be reverted to HEAD.It is a good place to store uncommitted changes.

What is git pull rebase?

Git pull rebase is a method of combining your local unpublished changes with the latest published changes on your remote. Let's say you have a local copy of your project's main branch with unpublished changes, and that branch is one commit behind the origin/main branch.

What is rebase error?

If you type git rebase --continue. you realize the error is because of a merge conflict that git cannot resolve by itself, and needs your help. To see what files have conflicts, type git status. Resolve the merge conflicts in your favorite editor/IDE (hint: this should start with i and end with ntelliJ)

Toplist

Latest post

TAGs