Re: Git 2 force commits but Git 1 doesn't

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is assuming that the repository is completely empty to start. Setup:

git clone [repository] repo1
git clone [repository] repo2
cd repo1
echo "test1" > testfile
git add testfile
git commit -m 'initializing test from 1'
git push
cd ../repo2
git pull
cd ../repo1

Now for the issue:

echo "test1 update" >> testfile
git add testfile
git commit -m 'update test from 1'
git push
cd ../repo2
echo "test2" >> testfile
git commit -m 'update test from 2'
git push

At this point using the git 2.26 client if I pull in repo1, the commit with comment "update test from 1" is gone and the head is now the commit from 2 with "update test from 2" as the comment along with a borked tree. Using the 1.18 client, the push from 2 will prompt to pull first.

Michael

On 6/22/20 4:09 PM, brian m. carlson wrote:
On 2020-06-22 at 20:52:50, Michael Ward wrote:
Using the steps from my original email for how I had the repository set up
(any user authentication scheme works), clone 2 copies from that repository
(call them A and B). Make, commit, and push a change in A. Then make,
commit, and push a change in B (without first pulling). With the 1.8 client,
B will prompt that you're out of date and need to update. With the 2.26
client, B's commit will be pushed and be forced.
I think we're going to need a more specific set of reproduction steps,
because adding the following to t5540 succeeds (starting on branch
"dev"):

test_expect_success 'non-force push fails if not up to date' '
	git push origin dev &&
	git reset --hard HEAD^ &&
	: >path3 &&
	git add path3 &&
	test_tick &&
	git commit -m dev &&
	test_must_fail git push origin dev &&
	git push origin +dev
'

That means that this is working in at least some cases.  If you're still
seeing this, can you provide a set of commands (e.g., a shell script) to
initialize and create a new repository that triggers this, provided that
"origin" refers to a suitable remote?



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux