git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: "Kerry, Richard" <richard.kerry@atos.net>
Cc: Philip Oakley <philipoakley@iee.email>,
	Elijah Newren <newren@gmail.com>,
	"git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: git-filter-repo For Windows (possibly a request for a bash for Windows primer)
Date: Sat, 25 Apr 2020 16:15:07 +0200 (CEST)	[thread overview]
Message-ID: <nycvar.QRO.7.76.6.2004251610300.18039@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <AM0PR02MB37150CFFDD7A3871DB43DFBD9CD50@AM0PR02MB3715.eurprd02.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 5568 bytes --]

Hi Richard,

On Tue, 21 Apr 2020, Kerry, Richard wrote:

> Thanks for everyone's advice and assistance.
> I had a look at all the links provided and wasn't convinced any of them
> quite covered my requirement, but I have now made some progress using
> Scoop.
>
> I had hoped that all I would need to do would be:
> 1. Install latest Python for Windows (3.8). Install for All Users means it's in C:\Program Files\Python38, and that's in the Path.

I installed it via the Microsoft Store. This put it into my user-specific
AppData, and it added two items to the PATH.

Unfortunately, even calling `python3.exe` from the PATH does not work: it
is apparently some placeholder that MSYS2 (and therefore Git Bash and
`env.exe`) have no idea what to do with.

What did work for me was `env python`. Of course, I don't have Python 2.x
installed, so that might not be an option for you.

> 2. Clone git-filter-repo.
> 3. Point Path at git-filter-repo.  (Alternative was to copy it into "exec-path" folder under Git, but that was protected.)

For the record, Git for Windows also adds the `bin` folder in your home
directory to the PATH. That is where you are supposed to put additional
things.

Git for Windows considers C:\Program Files\Git its own home, and
it might remove your files without prior warning during an upgrade.

It will leave `~/bin/` alone, of course.

Hopefully these two hints prove useful to you.

Ciao,
Johannes

> 4. Run it.
>
> That didn't work: /usr/bin/env: 'python3': No such file or directory.
> That string pointed me at the shebang line of git-filter-repo, so I set about trying anything that I thought might point at my Python installation.  Nothing I tried worked.  Some things, like "/bin/sh", did indicate that the right file was being found and executed, but gave errors that it was being executed as a shell script, which of course it isn't.  Any attempt to point at the python exe seemed to say things along the lines of "git can find it but not understand it" (sorry I can't now copy in the real error message as I had to close the Bash shell in order to update GfW.)
>
> So I gave up on getting it to run using raw Windows - well not entirely raw Windows as it's going to be run from Bash-for-git-for-windows (or so I thought).
> Installed Scoop.  Got Scoop to install git-filter-repo and python.  At last that lets me run it and have it do something useful.
> Though actually as Scoop gives its instructions for being run from PowerShell I'm not in the end running from bash at all.
>
> First attempt at running it was using:
>
> git filter-repo --analyze --source=core_system_archive
> which responded "not a git repository" even though core_system_archive does contain a ".git".
> But then 
> git filter-repo --analyze --source=core_system_archive/.git
> or
> git filter-repo --analyze --source=./core_system_archive/.git
> didn't work either, same error, although it looks to me like core_system_archive/.git is a git repo.  So would I need some different syntax to make that work?  (And I've since noticed that examples use space rather than '=' to separate keyword from param, so I've tried that, with the same failures)
> So next option was to "cd .\core_system_archive", then just
> git filter-repo --analyze 
> Which has worked.
> Though it isn't clear what was wrong with the parameter I used for --source.  How am I supposed to reference a source repo without cd-ing into it?
>
> So thanks everyone for a lot of hints, but for me, under Windows, only the Scoop package manager managed to get all the right settings for filter-repo to work.
> And only now, having been rather rushing to get this to work due to other priorities, have I seen the comment about using pip to install it, so maybe that would also have worked.
>
> Regards,
> Richard.
>
> Oh, and having also seen Philip's reply (below) I don't think I would have recognized it as relating to my issue.
> What is winpty?  Should that have gone in the shebang line of git-filter-repo in some form?
>
>
> From: Philip Oakley <philipoakley@iee.email>
>
> with a reply by dscho reminding that:
>
> This issue is listed specifically in the Known Issues in our Release Notes:
>
>         Some console programs, most notably non-MSYS2 Python, PHP, Node
> and OpenSSL, interact correctly with MinTTY only when called through
> winpty (e.g. the Python console needs to be started as winpty python
> instead of just python).
>
> The installer even suggests (on the page titled "Configuring the
> terminal emulator to use with Git Bash") to
>     Use Windows' default console window
>     [...] which works well with Win32 console programs such as
> interactive Python or node.js [...]
>
>
> Regards
> Richard Kerry
>
> BNCS Engineer, SI SOL Telco & Media Vertical Practice
> M: +44 (0)7812 325518
> 2nd Floor, MidCity Place, 71 High Holborn, London, WC1V 6EA
> richard.kerry@atos.net
>
> This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy
>  it. As its integrity cannot be secured on the Internet, the Atos group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free
>  and will not be liable for any damages resulting from any virus transmitted.
>
>
>

      reply	other threads:[~2020-04-25 14:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-20 14:03 git-filter-repo For Windows (possibly a request for a bash for Windows primer) Kerry, Richard
2020-04-20 16:53 ` Elijah Newren
2020-04-20 17:24   ` Elijah Newren
2020-04-20 18:46     ` Philip Oakley
2020-04-21 14:52       ` Kerry, Richard
2020-04-25 14:15         ` Johannes Schindelin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=nycvar.QRO.7.76.6.2004251610300.18039@tvgsbejvaqbjf.bet \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=newren@gmail.com \
    --cc=philipoakley@iee.email \
    --cc=richard.kerry@atos.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).