The sound distributed version control system

#707 [CONSISTENCY] Conflict appeared in the channel I did not touch

Closed on February 27, 2023
tankf33der on August 16, 2022
# part 1
$ pijul init p3
$ cd p3
$ touch a
$ pijul add a
$ pijul rec -am"."
Hash: VCMVSSSMETLOQLUOVTDUZ6DWSP273VLK6DY4VUEPA4NPK62MKJVAC
$ pijul channel new m1
$ pijul channel switch m1
$ cp /bin/date a
$ pijul add a
$ pijul rec -am"."
Hash: 7LZ72VPCBKNPG6K6GTW5FAIR6I7YJ4LJPX5ZCFUBJ4ABFUYQFOGAC
$ pijul apply 7L --channel main
$ pijul chann switch main
Outputting repository ↖

There were conflicts:

  - Name conflict on "a.7LZ72VPCBKNPG"
$ pijul remove a.7LZ72VPCBKNPG
$ mv a.7LZ72VPCBKNPG a
$ pijul rec -am"."
Hash: OYDY3WKRWO5HGWBR4L76EJC7UECZVQDN3PLHP4GBZMZUULQQPPWAC
$ pijul channel delete m1
# end of part 1
# start part 2
$ pijul fork m1
$ pijul channel switch m1
$ cp /bin/date b
$ pijul add b
$ pijul rec -am"."
Hash: YYQBKIEAKIAZU2U5SLWTZDMTRCZHWEWDGV2YDTL522XHLETEAC4AC
$ pijul apply YY --channel main
$ pijul channel switch main
$ xz b
$ pijul add b.xz
$ pijul rec -am"."
Hash: YND3OH44WR77NPYE7Y7F73EJMLGY5OH5XFN3EZR5DSWUSBBY343AC
$ xz -d b.xz
$ pijul add b
$ pijul rec -am"."
Hash: QVBXYE3N6IB2T55ZVFWEOURJYYVC2ULDJOWQH34Q4XQ2PZFJ4HLQC
$ pijul channel switch m1
Outputting repository ↖

There were conflicts:

  - Name conflict on "b.YYQBKIEAKIAZU"
# end of part 2
$
tankf33der on August 16, 2022

If I do part 2 after init new repo conflict does not appear.

pmeunier on February 27, 2023

I can’t reproduce, I believe this has been fixed by #YK7EBTF6LAPMYEHPPOUKHO3IQTA4MTKOEI77I4UWXTM4T475QKRAC

I.e. the conflict was caused by the presence of two different roots in the repo. The fact that it didn’t appear with part2 and part1 swapped is because part2 starts with pijul fork instead of pijul channel new, but these two commands now work with the same root.

pmeunier closed this discussion on February 27, 2023