Closed flybyray closed 2 years ago
With --manual
merge. I debugged with a loop like this to break on merges or loop when the lfs file appears.
while true
do
git log files/yq_linux_amd64.tar.gz || git imerge continue || break
sleep 1
done
When I received a point when the file exists in git log
hit Ctrl-C.
Then i debugged with python trace module and found that this command returns error 1
.
'git' 'diff-index' '--cached' '--quiet' '--ignore-submodules' 'HEAD' '--'
When executed manually without --quiet
I see this output:
:100644 000000 36fabf0fed23a65d043807e75e161f6072f3b15a 0000000000000000000000000000000000000000 D files/yq_linux_amd64.tar.gz
I think this is correct and a bug in git imerge
because this is a staged file ( deleted ) and I would expect git imerge continue
would operate as normal.
$ git status --verbose
On branch imerge/feature/OPS-587
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: files/yq_linux_amd64.tar.gz
diff --git a/files/yq_linux_amd64.tar.gz b/files/yq_linux_amd64.tar.gz
deleted file mode 100644
index 36fabf0f..00000000
Binary files a/files/yq_linux_amd64.tar.gz and /dev/null differ
I think I had an usage error here. Started from beginning again.
And i think the essential thing was to just remove the file from index ( git rm --cached files/yq_linux_amd64.tar.gz
) and put it into .gitignore
file than stage them. afterwards git imerge continue
worked as expected.
I am in the middle of git-imerge with GOAL merge
git imerge start --name=imerge_ops_587 --goal=merge --first-parent feature/OPS-587
And somehow it looks like a dead lock no way to proceed with the merge. The file which appears bygit status
sometimes and produces git imerge outputunstaged changes
oruncommitted changes
is from git lfs. The goal besides the merge would be to completly remove/replace(maybe 0-bytes) alllfs
related files at the end ofgit imerge finish
.Is this possible with git imerge?
here some relevant details from the shell: