The working version I have is with git 2.42.0.windows.2.
When I ran it on another pc with the latest git version 2.44.0 git-filter-repo is broken.
I did some digging to see if it was my problem, but I found the following issue between git-filter-repo and git.
git-filter-repo is calling git fast-export -h and parsing the output to determine which flags to enable, but the output format of git fast-export -h has changed into the output copied below.
The added [no-] part to every parameter probably breaks all of them.
In my case I needed --mark-tags, but it resulted in an error: fatal: Error: Cannot export nested tags unless --mark-tags is specified.
See line 2070: if b'--mark-tags' not in output: # pragma: no cover, the check is against exactly --mark-tags.
If this was the only problem I might have prepared a PR for you, but since all of them have to be updated I think it's better that somebody more involved in the project updates this.
p.s.: it also means that the published version of git-filter-repo on PyPI will not work on the latest git version anymore.
usage: git fast-export [<rev-list-opts>]
--[no-]progress <n> show progress after <n> objects
--[no-]signed-tags <mode>
select handling of signed tags
--[no-]tag-of-filtered-object <mode>
select handling of tags that tag filtered objects
--[no-]reencode <mode>
select handling of commit messages in an alternate encoding
--[no-]export-marks <file>
dump marks to this file
--[no-]import-marks <file>
import marks from this file
--[no-]import-marks-if-exists <file>
import marks from this file if it exists
--[no-]fake-missing-tagger
fake a tagger when tags lack one
--[no-]full-tree output full tree for each commit
--[no-]use-done-feature
use the done feature to terminate the stream
--no-data skip output of blob data
--data opposite of --no-data
--[no-]refspec <refspec>
apply refspec to exported refs
--[no-]anonymize anonymize output
--anonymize-map <from:to>
convert <from> to <to> in anonymized output
--[no-]reference-excluded-parents
reference parents which are not in fast-export stream by object id
--[no-]show-original-ids
show original object ids of blobs/commits
--[no-]mark-tags label tags with mark ids
The working version I have is with git
2.42.0.windows.2
. When I ran it on another pc with the latest git version2.44.0
git-filter-repo is broken.I did some digging to see if it was my problem, but I found the following issue between git-filter-repo and git. git-filter-repo is calling
git fast-export -h
and parsing the output to determine which flags to enable, but the output format ofgit fast-export -h
has changed into the output copied below. The added[no-]
part to every parameter probably breaks all of them.In my case I needed
--mark-tags
, but it resulted in an error:fatal: Error: Cannot export nested tags unless --mark-tags is specified.
See line2070: if b'--mark-tags' not in output: # pragma: no cover
, the check is against exactly--mark-tags
.If this was the only problem I might have prepared a PR for you, but since all of them have to be updated I think it's better that somebody more involved in the project updates this.
p.s.: it also means that the published version of git-filter-repo on PyPI will not work on the latest git version anymore.
update: added reference to line of code