Giter Club home page Giter Club logo

Comments (5)

newren avatar newren commented on July 18, 2024

Oh, cool, my first Windows user! I don't have Windows to test on, so this is great feedback. Was this the only change you needed?

It looks like I've got a little bit of inconsistency in how source and target directories are handled, with either potentially ending up as a cwd argument to subprocess.Popen. I suspect there are a few more that would be needed depending on the arguments you pass; I should probably go through and clean those up. But I believe I also mixed and matched regular strings and byte strings in command arguments; do those all work for you on windows despite it not liking a cwd that was a bytestring? E.g. does

subprocess.check_output(["git", b"--version"])

work?

from git-filter-repo.

rmanibus avatar rmanibus commented on July 18, 2024

No sorry I created this a bit too fast.

Each time you call check_output I replaced the argument by
repo_working_dir.decode('utf-8') if isinstance(repo_working_dir, bytes) else repo_working_dir

from git-filter-repo.

newren avatar newren commented on July 18, 2024

I created a branch called 'windows-workarounds' to address this issue, but I suspect it might just be the first issue that needs to be fixed on Windows and that there will be others you'll run into. Any chance you could try that branch and report what the next error you hit is?

from git-filter-repo.

rmanibus avatar rmanibus commented on July 18, 2024

Thank you, it's working perfectly (I tried --path and --path-rename).

The only thing is that by default the python binary is called python and not python3.

from git-filter-repo.

newren avatar newren commented on July 18, 2024

Wow, that's all that was necessary to get it to work on Windows? I'm a bit surprised, but I'll go ahead and merge that commit in. If you do run into further issues, go ahead and report them.

As far as "python" vs "python3" -- yeah, I kind of expect that. For years the python devs gave the advice that "python" should refer to python2, and the executable for python3 should be named differently. They are starting to relax that with the impending EOL of python2, which means we'll be stuck with some systems calling it "python" and some calling it "python3". However, it's safer for me to use "python3". If someone has "python" which is a python3 implementation, then they probably get a simple error message saying there is no "python3" executable. In contrast, if I were to use "python" assuming that meant python3, then those who have a "python3" will probably also have a "python" that refers to python2 -- and the error messages from attempting to run python3 code under python2 will be far less clear. So, because of that, it'll be a long time before I switch over the shebang.

from git-filter-repo.

Related Issues (20)

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.