Giter Club home page Giter Club logo

Comments (6)

wernight avatar wernight commented on July 21, 2024

I just tried this script and it works directly with BC3:

  1. $ git config --global diff.tool bc3 (supposes BC3 is in the PATH).
  2. Copy git-diffall somewhere on the PATH
  3. Run $ git-diffall in the repository.

from git-diffall.

poke avatar poke commented on July 21, 2024

@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.

wernight avatar wernight commented on July 21, 2024

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.

poke avatar poke commented on July 21, 2024

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.

thenigan avatar thenigan commented on July 21, 2024

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:

  1. Call git diffall
  2. Script copies the files it needs to /tmp
  3. Script opens your external diff tool
  4. Script waits until your external diff tool exits
  5. 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:

ExecutableMeaning
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.

thenigan avatar thenigan commented on July 21, 2024

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)

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.