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

Commit-graph: Add option to always display first parent node in left-most column #5819

Closed
johndog opened this issue Nov 27, 2018 · 11 comments
Closed
Milestone

Comments

@johndog
Copy link

johndog commented Nov 27, 2018

Feature request.

Most of the time, the nodes of the graph that occupy the left-most column are part of the first-parent chain.

But occasionally I'll encounter a graph render like this:

image

In this case, the series of nodes highlighted pink (which do not have "Merged PR" in their description) are actually a second-parent sequence. The first parent of the highlighted commit is actually the green one further down.

It looks like the nodal position is either non-deterministic, or is using a strategy that optimizes for something else. It leaves horizontal positioning off the table as data. I think it would be a lot more valuable to use the horizontal position to communicate the specific relationship between merge nodes and their parents, specifically the ordering of the parents.

Clearly when there is a complex network of nodes on the screen, absolute position won't be useful, but between two parents, it would be useful to find that the leftmost parent is always the first parent.

  • GitExtensions version: 2.51.05
  • GIT version: 2.19.0
  • OS version: Windows 10
@spdr870
Copy link
Member

spdr870 commented Nov 27, 2018

Could you please try this in the 3.00 rc2?
https://github.com/gitextensions/gitextensions/releases

The revision graph code is rewritten in version 3.00.

@RussKie
Copy link
Member

RussKie commented Nov 27, 2018

Please try https://ci.appveyor.com/api/buildjobs/9uvt7cgl2v3e99om/artifacts/Setup%2FGitExtensions-Portable-3.00.00.4308.zip as well. This is the most up to date v3 artifact.

@johndog
Copy link
Author

johndog commented Nov 28, 2018

Could you please try this in the 3.00 rc2?
https://github.com/gitextensions/gitextensions/releases
The revision graph code is rewritten in version 3.00.

It works as I would hope in this build!

Specifically:

  • Git Extensions 3.00.00.03-RC2
  • 8cbcd2b (Dirty)

I have not tried the 4308 build, but I'd be happy declaring this request resolved with new default behavior.

@johndog
Copy link
Author

johndog commented Dec 4, 2018

Please try https://ci.appveyor.com/api/buildjobs/9uvt7cgl2v3e99om/artifacts/Setup%2FGitExtensions-Portable-3.00.00.4308.zip as well. This is the most up to date v3 artifact.

@RussKie: I was not able to run this build; it crashes opening a repo, trying to access the "Recent" folder from Program Files instead of user data. I don't know wheter there is just an xcopy install step I need to perform, or if it's just a bug in the build.

@RussKie
Copy link
Member

RussKie commented Dec 4, 2018 via email

@johndog
Copy link
Author

johndog commented Dec 4, 2018 via email

@gerhardol
Copy link
Member

I clicked “send report” when the dialog came up, does that go anywhere useful?

No

@johndog
Copy link
Author

johndog commented Dec 4, 2018

Alright, managed to find a way to get the stack from the dialog...

Message: Access to the path 'C:\Program Files (x86)\GitExtensions.bad\Recent\corebuild.gitext' is denied.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
   at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
   at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost)
   at GitUI.WindowsJumpListManager.AddToRecent(String workingDir) in C:\projects\gitextensions\GitUI\WindowsJumpListManager.cs:line 96
   at GitUI.CommandsDialogs.FormBrowse.InternalInitialize(Boolean hard) in C:\projects\gitextensions\GitUI\CommandsDialogs\FormBrowse.cs:line 797
   at GitUI.CommandsDialogs.FormBrowse.RefreshRevisions() in C:\projects\gitextensions\GitUI\CommandsDialogs\FormBrowse.cs:line 554
   at GitUI.GitUIExtensions.<InvokeAsync>d__11.MoveNext() in C:\projects\gitextensions\GitUI\GitUIExtensions.cs:line 208
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at GitUI.ThreadHelper.<>c__DisplayClass13_0.<<FileAndForget>b__0>d.MoveNext() in C:\projects\gitextensions\GitExtUtils\GitUI\ThreadHelper.cs:line 101

@johndog
Copy link
Author

johndog commented Dec 5, 2018

I see the problem, it is indeed an xcopy deployment issue.

I found that the config file has this setting in the zip file:

      <!--Set this setting to True to store settings with the application, False to  store settings in user's application data path.-->
      <setting name="IsPortable" serializeAs="String">
        <value>True</value>
      </setting>

I set it to false, and now it behaves like a normal installation. I suppose if I'm trying out a drop like this I'm not expected to put folder in a secured location like Program Files.

@RussKie
Copy link
Member

RussKie commented Dec 5, 2018 via email

@vbjay
Copy link
Contributor

vbjay commented Dec 5, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants