# \\o/ CONFLICTS FIXED \\o/

**URL:** <https://discourse.pijul.org/t/o-conflicts-fixed-o/298>\
**Category:** Announcements\
**Created:** [February 23, 2019, 11:01pm UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298 "2019-02-23T23:01:00Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![pmeunier](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/pmeunier/32/4_2.png) [@pmeunier](https://discourse.pijul.org/u/pmeunier)\
**Post date:** [February 23, 2019, 11:01pm UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/1 "2019-02-23T23:01:00Z")

</div>

I am quite sorry I’ve not been very active in the community lately, that is because I was bothered with a more basic problem: Florent and I had created a conflict to which Pijul was not able to record a resolution.

**It is now fixed!** Obviously, the patch that fixes the conflict includes code that enabled Pijul to record this very patch.

The bug was in the new refactoring I did in December 2018, where I (1) moved the diff algorithm into its own crate, and (2) refactored the way files were output to the user. These have been in my experience the two hardest things to get right, partly because the problem is ill-defined, but also because any way to output a graph as a flat file editable in an editor will lose information, and defining what can be lost is hard.

I hear the comments about why Pijul should be developed on GitHub before being perfect, but (1) experience has shown that there is no real way to know when it is perfect before we actually use it and (2) writing Pijul has been relatively hard, I would probably lose a significant part of my motivation if I couldn’t use it on important projects.

---

<div class="post-metadata">

**Author:** ![pmeunier](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/pmeunier/32/4_2.png) [@pmeunier](https://discourse.pijul.org/u/pmeunier)\
**Post date:** [February 23, 2019, 11:08pm UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/2 "2019-02-23T23:08:05Z")

</div>



---

<div class="post-metadata">

**Author:** ![felix91gr](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/felix91gr/32/87_2.png) [@felix91gr](https://discourse.pijul.org/u/felix91gr)\
**Post date:** [February 24, 2019, 11:35pm UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/3 "2019-02-24T23:35:44Z")

</div>

That’s awesome!

Also, I feel like I now understand a lot more about why you’re using Pijul for Pijul 🙂

---

<div class="post-metadata">

**Author:** ![nivkner](https://avatars.discourse-cdn.com/v4/letter/n/3bc359/32.png) [@nivkner](https://discourse.pijul.org/u/nivkner)\
**Post date:** [February 25, 2019, 8:31pm UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/4 "2019-02-25T20:31:31Z")

</div>

tried cloning master branch with pijul from [crates.io](http://crates.io), got a conflict in `pijul/src/commands/status.rs`:

```auto
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
use libpijul::fs_representation::RepoRoot;
use libpijul::status::{unrecorded_changes, ChangeType};
================================
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
use libpijul::fs_representation::untracked_files;
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

```

tried fixing the conflict, building new pijul and cloning, same thing.  
conflict markers don’t show up in nest but `untracked_files` is still included even though it was removed.

---

<div class="post-metadata">

**Author:** ![pmeunier](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/pmeunier/32/4_2.png) [@pmeunier](https://discourse.pijul.org/u/pmeunier)\
**Post date:** [February 25, 2019, 9:49pm UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/5 "2019-02-25T21:49:27Z")

</div>

Oops, I totally forgot that you need the latest master to clone the latest master. Sorry about that, I’ll release 0.12 tomorrow.

---

<div class="post-metadata">

**Author:** ![flobec](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/flobec/32/23_2.png) [@flobec](https://discourse.pijul.org/u/flobec)\
**Post date:** [February 26, 2019, 8:53am UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/6 "2019-02-26T08:53:12Z")

</div>

I did pull master using the master, and I still got the conflict, does the nest have some extra-private patches 🤔?

---

<div class="post-metadata">

**Author:** ![pmeunier](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/pmeunier/32/4_2.png) [@pmeunier](https://discourse.pijul.org/u/pmeunier)\
**Post date:** [February 26, 2019, 11:00am UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/7 "2019-02-26T11:00:11Z")

</div>

I know what happened, and I just fixed it.

In order to test and solve the original problem, I had to copy (not clone) my work directory and try to record in that directory, until I could record a fix to the conflict in `pijul/src/commands/record.rs`. But because I was always compiling in debug mode, I only ever tried to record that file. When I finally succeeded, I pushed the patch to the Nest after just cloning a few times and checking that file.

The reason I was not cloning is that I wanted to keep the exact same repository that was causing the problem, and I didn’t want to unrecord or apply in a different way, because that could have solved the problem (by removing forward edges, for example).

---

<div class="post-metadata">

**Author:** ![lthms](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/lthms/32/124_2.png) [@lthms](https://discourse.pijul.org/u/lthms)\
**Post date:** [February 28, 2019, 9:42am UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/8 "2019-02-28T09:42:01Z")

</div>

I was not aware the conflicts were due to a bug in `libpijul` (although I guess I should have guessed). Great work, @pmeunier, for fixing it!

I was able to build an up-to-date pijul yesterday, so this is a great news! Unfortunately, I did a fresh clone of pijul today and a conflict is present in `libpijul/src/fs_representation.rs` ):,

On a related note: are you still planning to release a new version of pijul soon?

**Edit:** Okay, so with a fresh install of `pijul` from [crates.io](http://crates.io), it works like a charm.

---

<div class="post-metadata">

**Author:** ![pmeunier](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/pmeunier/32/4_2.png) [@pmeunier](https://discourse.pijul.org/u/pmeunier)\
**Post date:** [February 28, 2019, 3:46pm UTC](https://discourse.pijul.org/t/o-conflicts-fixed-o/298/9 "2019-02-28T15:46:45Z")

</div>

> [@lthms](#):
>
> On a related note: are you still planning to release a new version of pijul soon?

Yes, I think the current master has substantial improvements over the released versions, such as:

- Fast diff
- “Fixed” output, which is not super accurate in some bad cases but handles cases that are even worse just fine.
