Comments (9)
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.
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:
- 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.
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:
git diffall <commit1>..<commit2>
- Wait for your diff tool to open
- 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.
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.
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.
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.
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.
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.
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)
- Fails when one of the diffs contain a deleted file HOT 1
- $ git diffall saving doesn't save changes made via DiffMerge HOT 2
- Use working tree directory instead of temp directory whenever it matches the right or left hand side of the diff. HOT 5
- Use with DeltaWalker in OS X HOT 3
- Create integration instructions HOT 6
- Git 1.7.7 upgrade causes custom merge tools to fail HOT 6
- quoting of paths breaks limiting diffs to multiple locations HOT 2
- Tag a stable release HOT 2
- [perl branch]: The --extcmd param shouldn't be passed to git plumbing HOT 1
- [perl branch]: submodule diff error HOT 9
- Problems with submodule support HOT 3
- license is missing HOT 6
- diff.tool or merge.tool should not be required when using --extcmd
- NM
- Not possible to use optional path limiter [-- <path>*] HOT 4
- Using it! HOT 3
- Add better names for temp folders (instead of 'a' and 'b') HOT 1
- Copying files back to working folder HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-diffall.