Git issues with submodules #37528
Labels
No Label
legacy module
Rendering & Cycles
legacy module
User Interface
legacy project
Cycles
legacy project
Documentation
legacy project
Infrastructure: blender.org
legacy project
Infrastructure: Blender Web Assets
legacy project
Infrastructure: Websites
legacy project
User Interface
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Report
Type
To Do
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: infrastructure/blender-org#37528
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Somehow a master branch seems to have no changes but "arc patch" or "arc diff" can give this error message:
@mont29 found out that this command is used by arc and somehow lists the change:
a workaround was:
Changed status to: 'Open'
Added subscribers: @brecht, @mont29
So I did a simple checkout with the basic commands on the Git Usage page and immediately
git ls-files -m
shows the addons folder as modified, but none of the other submodules.I don't know if that is because they are configured different in some way or because it's just the first one alphabetically.
Some strange stuff with submodules happened in this commit as well blender/blender@000312ab51.
Arcanist gives message about unstaged changes in addons when it shouldn'tto Arcanist issues with submodulesMmmmh… I don’t think arcanist is the issue here, it’s not arcanist which generates that "ghost change" over /release/scripts/addons/ dir, I think. I would rather incriminate git and our (rather complex) sub-module setup?
Anyway, I got again a detached head in addons, which I fixed with (within addons dir):
… and git ls-files -m listed again /release/scripts/addons, which I fixed again with above command…
I still have to figure how those detached heads happen, too.
Yes, I don't think it's a bug in Arcanist, just that it's where we are seeing the end result of these problems.
I actually looked into the Git code to see where it happens, in
read_cache.c
this is what makes it skip checking if the folder was actually modified and relying on the index instead (which is outdated?):I'm not sure what to do with that information at the moment, but anyway.
Current mess with git submodules prevented me to use 'arc land', so I had to mimic it by hand - for the records, here are the commands executed by a default 'arc land':
Arcanist issues with submodulesto Git issues with submodulesI just did
git submodule deinit
for all of them now, changes to submodules keep sneaking into commits even when they don't show as changed with git status or during git commit message type, only afterwards with git show can you see it.Added subscriber: @JonathanWilliamson
Added subscriber: @FrnchFrgg
brecht, did you submit the bug to the Git Mailing list ? They are very friendly, competent and to the point; I'm often amazed at the quality of the anwers even to seemingly stupid questions from newbies. Very high signal-to-noise ratio overall there.
If you did, let's put a gmane link here.
Added subscribers: @Sergey, @ideasman42
We will contact git devs, there's kind of a parallel discussion over email going on with @Sergey and @ideasman42, we just need to summarize the issues we have in a nice reproducable way.
Added subscriber: @dfelinto
Some notes:
git ls-files -m
a well.git ls-files -m
to see whether there're uncommited unstaged changes. Workaround could be to replace it withgit diff-index --name-only HEAD --
. This seems to ignore submodules changes as it should be.HEAD
is totally fine. It is written in git submodule documentation then unless you use--rebase
argument togit submodule update
you'll have detachedHEAD
. This is kinda logical in fact from, just a bit annoying if you want to push from submodule. I've tweaked commands in documentation which makes it so submodules stays in master branch.@FrnchFrgg yes, i had experience with Git ML in the past and guys there are really great. I'm collecting some more details to fire up question/possible report to their mailing list.
Sent mail to git mailing list. Here's link to thread: http://article.gmane.org/gmane.comp.version-control.git/238173
Be welcome to provide more info there as we've got more :)
Nice coincidence, Arcanist just got a fix for this to use
git diff-index --name-only HEAD
instead ofgit ls-files -m
:https://secure.phabricator.com/rARCe62b23e67deacc24469525cc5dea2b297a5073fb
Maybe they follow git ML discussion? :)
Well, that nice but still doesn't solve issues with @ideasman42's commits to addons SHA. But since can not reproduce it by self would ask Cambo to investigate this a big and report to Git's ML.
Hold on, i only see changes to the comments. Command itself is still the same. Am i missing something?
Edit:
They only documented the issue with ls-files, no functional changes were made in fact.
Oh sorry, got excited too early.
That's not a coincidence :) The 'upstream bug' link is @Sergey 's email to git list.
And yes, no real code change yet . . . but at least the workaround works here too (OSX 10.8.5)
Seems it is in upstream already: https://secure.phabricator.com/rARC6033f1422144db95dee9003b58ed5198c2f5e372
Git pull and use new arcanist :) Workaround for remained issues i've posted to the ML.
can this be closed? things are working for me with latests arcanist
Changed status from 'Open' to: 'Resolved'
I think so. There's still a bug in git that the git developers are solving, but we now know how to avoid the problem by not doing "git add ." or "git commit release/scripts" for example, since those silently include submodule changes.
Added subscriber: @Lockal