Skip to content
New issue

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

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

Graph seemingly disconnected when it shouldn't be #17

Closed
claybridges opened this issue Jan 14, 2017 · 3 comments
Closed

Graph seemingly disconnected when it shouldn't be #17

claybridges opened this issue Jan 14, 2017 · 3 comments
Labels

Comments

@claybridges
Copy link
Member

I start in this state:

unknown

When I git checkout 1d4e8c1, GitX suddenly shows me in a strange disconnected state:

unknown2

This is built against commit SHA 8b1aa1562504d182130e94f31dda2ee07d10a649. I'd be happy to step in Xcode and test out theories against this repo, if you have any.

@tiennou
Copy link
Contributor

tiennou commented Jan 14, 2017

I've seen it happen too. I think it's caused a rebase (which changes commit-dates), which I think confuses our lane-builder. I've also seen a degenerate case where (in your example) you'd get only the 3 leftmost-lane commits, and the rest would be gone, but I think it's when the branch is filtered.

@turbolent
Copy link

Bisecting it, it looks like it's broken since 71b598b

@tiennou tiennou added the bug label Jan 26, 2017
@tiennou
Copy link
Contributor

tiennou commented Jan 26, 2017

That 71b598b commit is me trying to fix some other issue there was with the code "the other way around". It seems this instance of the bug can be traced back to the switch to libgit2, because it can order commits differently than what git does, and the lane-wrangling code sometimes doesn't like it.

IIRC I was trying to fix an issue where sometime, the topological sort starts with unrelated, old branches instead of recently-changed ones, which makes for a messy graph. Having it time-sorted fix that issues, but it can confuse the lane grapher, hence this issue.

See #19 for a (WIP) tentative fix.

tiennou added a commit to tiennou/gitx that referenced this issue Mar 31, 2017
While investigating gitx#17, I found that code pretty hard to understand.

For the record, it built a set of OIDs while extracting the meaning of the `PBGitRevSpecifier`, which (since sets have no order) I suspected could cause the out-of-order behavior we had. Turns out the fix was much easier, but since I find this one cleaner, and less "loopy", here it is.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants