Giter Club home page Giter Club logo

Comments (9)

thenigan avatar thenigan commented on July 2, 2024

I have tested this with:

  • msysgit version 1.7.6-preview20110708
  • Windows 7 SP1 32-bit

With this configuration, the cleanup function executes as expected.

What versions are you using? Are you running the latest version of git-diffall (commit 07b4dec)?

from git-diffall.

HaveF avatar HaveF commented on July 2, 2024

Thanks for your prompt response!

I test it under:

  • git-diffall version SHA:07b4dec
  • msysgit version Git-1.7.4-preview20110204.exe
  • Windows 7 SP1 32-bit
    Sorry for my lacking of detail.

Here is my test procedure:

  1. git diffall commit1..commit2

the difftool appears as expected, and list the different file list on it.
2. click one file in the different file list, difftool shows nothing.
3. I check the temp dir /tmp/git-diffall-tmp,
seems nothing! in it.
4. I read the source of git-diffall, seems all right.
So I test again with the dir /tmp/git-diffall-tmp open in windows explorer.
run

git diffall commit1..commit2

and, the git-diffall-tmp did setup files and dirs just like...filelist, cmt-1a08ea1 and cmt-9247099.

but then they vanished into thin air!
5. I check the source again, and del the line

trap cleanup EXIT

and then, the step 2 seems all right.

So, I guess, maybe the "trap" does not work On msysgit shell?

from git-diffall.

thenigan avatar thenigan commented on July 2, 2024

I suspect this is a problem with your diff tool configuration.

The way you describe the problem, I suspect the cleanup trap is run prematurely. This could happen if your diff tool is forking the process and returning rather than suspending the process while your diff tool is running. To confirm this is the problem, you should:

  1. git diffall <commit1>..<commit2>
  2. Wait for your diff tool to open
  3. While it is still open, try typing commands into the git shell

If you are able to type commands into the git shell while the diff tool is open, then this is the problem.

Before trying anything else, I recommend you update to the latest version of msysgit. If that does not fix the problem, then you should review your diff tool configuration.

On Windows, I test with kdiff3. In my global .gitconfig, I use the following settings:

[diff]
[difftool "kdiff3"]
    path = c:/<path to kdiff>/kdiff3
[merge]
    tool = kdiff3

from git-diffall.

HaveF avatar HaveF commented on July 2, 2024

I suspect the cleanup trap is run prematurely too.

After doing what you suggest to me, I find I can type commands into the git shell while the diff tool is open.

BTW, I find when I use this command:

git difftool <commit1>..<commit2>

It's all right, and I can't type commands into the git shell while the diff tool is open.

So, I will update the version of msysgit tomorrow, and report later.

from git-diffall.

HaveF avatar HaveF commented on July 2, 2024

hi, thenigan, I still can't solve this problem on msysgit version 1.7.6-preview20110708.
I use beyond comapre as difftool,
but when I try diffall with kdiff3, it works fine.

Would it bother you if you install a trail version of Beyond Compare?

Because the new version of msysgit, the Beyond Compare's configure is changed compared with its official website.

Here is my config:

[diff]
tool = bc3

[difftool "bc3"]
path = c:/\<path to bc3\>/bcomp.exe

[merge]
tool = bc3

from git-diffall.

thenigan avatar thenigan commented on July 2, 2024

This description on StackOverflow sounds like your problem:

http://stackoverflow.com/questions/2069490/git-diff-with-beyond-compare

You should try the fixes recommended in the accepted answer.

from git-diffall.

HaveF avatar HaveF commented on July 2, 2024

It not suit for my situation. As I said before, git difftool works fine, everything loaded right on beyond-compare pane. But when diffall involved, the problem appears.

If I still can't solve this, I have to comment # trap cleanup EXIT to use diffall ;(

from git-diffall.

thenigan avatar thenigan commented on July 2, 2024

I downloaded a trial of Beyond Compare and tested with it. Here is the fix I found:

In your .gitconfig, you must specify bcompare.exe rather than bcomp.exe. The bcomp.exe exits from the console as soon as the GUI is launched, while bcompare.exe will lock the shell until it exits.

According to the Beyond Compare help system:

BCompare.exe
This is the main application.  Only one copy will run at a time, regardless of how
many windows you have open.  If you launch a second copy it will tell the existing
copy to start a comparison and exit immediately.

BComp.exe
This is a Win32 GUI program.  If launched from a version control system, it should
work just fine.  If launched from a console window, the console (or batch file) will
not wait for it.

from git-diffall.

HaveF avatar HaveF commented on July 2, 2024

Great, it works. The bcomp.exe confutation at official website mislead me.
Thanks, thenigan.

I could never find this solution without your help!
Thanks again!

from git-diffall.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.