-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Gitk f5 filenametoolong #2053
Gitk f5 filenametoolong #2053
Conversation
7c75c5f
to
4287a7b
Compare
That's a pretty good start (and don't worry about the failed checks, that's a Homebrew bug for which I opened Homebrew/brew#5666). In the current version, I see a few limitations, still, that I think we can address before merging:
Now, the direction I would like this PR to follow is to move from Of course, a brief test revealed that the However, I think that this should be reasonably straight-forward to accommodate. And it would be the better fix for the issue, extending to all platforms supported by Git. |
I'll try to implement it as you described. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor punctuation suggestions if updated:
- perhaps add a comma ("them, the") to match the when clause to make comprehension simpler.
- Capitalise "Fix" in second paragraph.
Right. I thought that that patch would come back to haunt us. It is totally not upstreamable, not only because it uses that hard-coded approach that I don't think would be accepted by Paul Mackerras (who is still the gitk maintainer AFAICT), but also because of the intentionally fake author.
Good point, but I think that we would want the
Thank you! |
apparently |
I'm struggling to find a way to make 2-way redirection in tcl. It looks like combination of chan and exec could work, but manual for another way would be to use a real temporary file but it feels like a drawback. |
Redirection works in Linux and in Windows, but exec is very limited regarding this. You could try pipes using open "|...". If you refer to:
This is wrong. It is supported, but not visible until a console window is attached to the process. The process can do that using AttachConsole. Or you find a way to redirect the output to a text window. |
open with "|.." is what is used now, but now I need to redirect both stdin and stdout
it was rather this:
I tried this example, it seems working. Though maybe I should have tried also starting it as wish. Will see. |
I tried this fix locally and it doesn't fix the error I saw. Let me know if you need any logs. |
I don't think that it will work if you put the burden of driving your issue forward on others... |
/AzurePipelines run git-for-windows.git |
Azure Pipelines successfully started running 1 pipeline(s). |
It looks like there is a problem. Apparently |
well maybe the subsequent arguments may prepended with |
4287a7b
to
1b51f2a
Compare
@dscho it is rewritten now to use stdin as you have requested |
gitk excludes all known references calling "git log" at "Update" (F5). At windows, when there are too many of them the command fails because of command line length limitation. Maybe with some bigger number of references it would also fail at other platforms. Fix by using --stdin to pass the known references and file filtering. From testing it looks like no additional waiting is required, it is enough to close both input and output pipe to finalize the child process. Signed-off-by: Max Kirillov <max@max630.net>
1b51f2a
to
c1683d0
Compare
Fixed syntax error |
Hmm. I tried running this: set input "HEAD^\n--not\nHEAD^^^"
set fd [open [concat | git log -s --stdin <<$input]]
set data [read $fd]
puts "data: $data"
if {[catch {close $fd} err]} {
puts "ls command failed: $err"
} ... and it gave me the expected output: the first two of the latest three commits... |
Oh never mind, the |
Hah! If I construct Together with replacing the |
This should fix #1987