The sound distributed version control system

#700 [FEATURE?] why conflict returns automatically?

Opened by tankf33der on July 20, 2022
tankf33der on July 20, 2022

I am writing tricky test scenario to test conflict which fails.

  1. Why this conflict returns again and again?
  2. What is correct steps to resolve this type of conflict?
$ pijul init p1
$ cd p1
$ touch a
echo "1" >> a
$ pijul add a
$ pijul record -am"."
Hash: SUXHOIT3YGJOYDGZMHEXK3GBFOJUWOL4HNU7DZSISKYKJQ7GKCPQC
$ pijul channel new m1
$ pijul chann switch m1
$ echo "2" > a
$ pijul add a
$ pijul record -am"."
Hash: WVCVJFJ4BIF3MFRQAG52VOIKPJO2D2TF2HVGTJQPJXNGLQUUMJMQC
$ pijul apply WVC --channel main
$ pijul channel switch main
Outputting repository ↖                                                                                                                   

There were conflicts:

  - Name conflict on "a.WVCVJFJ4BIF3M"
# i have invent these steps to remove conflict
$ pijul remove a
$ pijul remove a.WVCVJFJ4BIF3M
$ rm a
$ mv a.WVCVJFJ4BIF3M a
$ pijul add -r .
$ pijul diff --short --untracked
A,D   a
$ pijul record -am"."
Hash: W4KLZ3W64GUR4HKAZSXLXCMJK3T7AARXANGYY3EUXBY4UKGNIJVQC
$ pijul channel switch m1
$ pijul channel switch main
# conflict push back
Outputting repository ↖                                                                                                                   

There were conflicts:

  - Name conflict on "a.W4KLZ3W64GUR4"
$
tankf33der on July 25, 2022

I found the correct (?) combinations of steps for conflict resolution, it does not return now.

$ pijul init p1
$ cd p1
$ touch a
$ pijul add a
$ pijul record -am"."
Hash: N2HLC222D5HURJT5DPZ7KXEFN6REV7GZF2UM62FNXJMZ7AAJ363QC
$ pijul channel new m1
$ pijul channel switch m1
$ echo "mike" >> a
$ pijul add a
$ pijul record -am"."
Hash: DZCZAWSUUGJCNXMUJNHNLSB4QKWX67LJH75NYDZTFHDRQAHKZEXQC
$ pijul apply DZ --channel main
$ pijul channel switch main
Outputting repository ↖                                                         

There were conflicts:

  - Name conflict on "a.DZCZAWSUUGJCM"
$ pijul remove a.DZCZAWSUUGJCM
$ rm a
$ mv a.DZCZAWSUUGJCM a
$ pijul record -am"."
Hash: LS2K3P2IIEYDJR6WGLFHW7WFTNDF5MCBPAS4K4ZAGVWTFHQRAXUQC
$ pijul channel switch m1
$ pijul channel switch main
# No any conflict(s).
$
tankf33der on July 25, 2022

Did not help, in my complex test scenario conflict returns anyway.