Hi
I use GitLab for 2 years already. One motnth ago I discovered weird situation on Graph of my project.
(I use tortoise git on Windows)
Example:
There are 2 branches "develop" and his child "front"
I made commit of my develop branch on local, then made pull from front to develop on local, after that i used "sync" to push changes to remote develop branch.
After that I see something like that
Lines going out of the graph field
When I try to merge branch front to develop on GitLab page there is no commits to merge.
When my friend make pull from remote/front to local/front then graph starts looking fine.
Why this happening ? I was using the same procedure many many times and everything Was allright. During last month every time I try but I have the same situation.
Can anyone help me to solve this ? Is this a bug or maybe I am doing something wrong?
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Is everyone here seeing this issue on GitLab.com or your own GitLab instances? Please could you add the GitLab version of your instance if this is the case? Thanks!
@markglenfletcher I use gitlab.com, version: GitLab Enterprise Edition 9.1.0-rc3-ee e3cefc2
Here I cant see the end place of graph, cant work using gitlab now. Is there any way to help you find this problem? I am glad to help and waiting for response.
Have the same issue after upgrade to 9.1.
Did not do any changes on backend or server just upgraded from repo and now graphs displaying incorrectly.
Server: ubuntu 16.04
@jschatz1 I honestly don't know, I couldn't see any changes that would cause it to look weird. I can look into it more to see what is actually happening!
@rudy.becarelli Are you running your own instance, and patched it by yourself? Or are you using GitLab.com? If you're using GitLab.com, we haven't deployed a new version yet. This is scheduled to be released with 9.1.2, which is scheduled on Monday.
I was able to reproduce this issue in my development environment. On a freshly seeded gitlab-development-kit installation, visit https://<gitlab_url>/twitter/flight/network/master?utf8=%E2%9C%93&extended_sha1=8a7b74b10ec5ed598b15e4d58bef24a33c75e694&filter_ref=1 to see this bug. This behavior is not present in v9.0.0.
I'm guessing this is a different issue than the previous fix (passing the wrong sort order to rugged). I'll investigate immediately.
I think I might have this figured out. There's one edge case here that !10936 (merged) doesn't fix.
Steps to Reproduce
Create a branch off master called dev
Make a number of commits in dev, with at least one second in between them (each "Commit Time" should be different)
Cherry pick all these commits into master with a single command (git cherry-pick master...dev)
All (or most) of the commits in master should all have the same "Commit Date" (but different "Author Date"s), since git doesn't record timestamps more accurate than one second.
Push this branch up to GitLab and view the network graph. I get something like this (commit names generated randomly from /usr/share/dict) for what should be a simple flat graph:
Solution
We need to order by commit time, but also disallow parents from appearing before children to avoid this edge case.
We can do this by combining SORT_TOPO and SORT_DATE for the rugged sorting strategy (the current strategy is simply SORT_DATE). From the rugged docstring for SORT_TOPO:
this sorting mode can be combined with time sorting to produce git's "time-order"
Changing our sorting strategy to Rugged::SORT_DATE | Rugged::SORT_TOPO, we get a graph like this:
Thanks for the report, @smokarz. I'll take a look.
Edit: What version of GitLab are you running?
Edit 2: I see from your first screenshot that you're running GitLab.com. The most recent fix (!11057 (merged)) has been merged into master, but has not made it into a tagged release yet. I'll close this issue back up for now - please feel free to reopen if the issue persists when GitLab.com is updated to either 9.1.4 or 9.2 - which should contain the fix.