Comments (6)
I just tried this script and it works directly with BC3:
$ git config --global diff.tool bc3
(supposes BC3 is in the PATH).- Copy
git-diffall
somewhere on the PATH - Run
$ git-diffall
in the repository.
from git-diffall.
@wernight How do you have BeyondCompare set up in the gitconfig (the command string)? Because when I run the current git-diffall
with my BC configuration (which works totally fine for single files), I get the following error:
rm: cannot remove directory '/tmp/git-diffall-tmp': Permission denied
And the folder is deleted just when BC shows up, which makes every detail diff view inside BC not working.
from git-diffall.
I believe my /tmp is working fine but I remember some time ago having issues with it. Can you write in /tmp? I'm also using the Git defaut bc3
which calls BComp.com in modern msysgit and will wait until it exists.
from git-diffall.
It can write the directory, yes. It actually does its whole job, all files are copied correctly and the diff launches up correctly. It’s just that it deletes everything just when BC3 is started. And I guess it cannot delete the /tmp
directory itself (but the contents) because BC3 blocks its access.
So all that’s not working is that the script does not wait until BC3 is closed but directly deletes the files again. It however does work with the normal git difftool
.
from git-diffall.
The script requires that the external diff tool does not fork from the process where the script is running. The script is supposed to work this way:
- Call
git diffall
- Script copies the files it needs to
/tmp
- Script opens your external diff tool
- Script waits until your external diff tool exits
- Script deletes the files in
/tmp
If BeyondCompare is forking the process, then the script will assume it is done and immediately proceed to step 5.
I don't have BC installed right now, but their help docs show the following command-line executable choices:
Executable | Meaning |
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. |
BComp.com | This is a Win32 console program. It has to have a console; if you launch it from one (or a batch file) that console will wait for the comparison to complete before returning. If you launch it from a version control system interactively, it will show a console window while it's waiting. |
So this tells us that your setup must use BComp.com
(should be the default as noted by @poke above).
from git-diffall.
Installation and Setup instructions can now be found in the wiki:
https://github.com/thenigan/git-diffall/wiki/Installation-and-Setup
from git-diffall.
Related Issues (19)
- Fails when one of the diffs contain a deleted file HOT 1
- trap problem on msysgit shell HOT 9
- $ 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
- 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.