<story><title>Jujutsu: A Git-compatible DVCS that is both simple and powerful</title><url>https://github.com/martinvonz/jj</url></story><parent_chain><item><author>chaxor</author><text>Are you simply using it with GitHub repos?&lt;p&gt;It mentions that it can be used with backends like Dropbox, but it would be &lt;i&gt;wonderful&lt;/i&gt; if we &lt;i&gt;finally&lt;/i&gt; had a system that could easily be used with IPFS.  This is &lt;i&gt;especially&lt;/i&gt; important for large data, since you can&amp;#x27;t store 1TB on github (and no, I don&amp;#x27;t count lfs, since you have to pay for it).&lt;p&gt;IPFS is the natural solution here, since everyone that wants to use the dataset has it locally anyway, and having thousands of sources to download from is better than just one.&lt;p&gt;So if this uses IPFS for the data repo, I&amp;#x27;m switching immediately.  If it doesn&amp;#x27;t, it&amp;#x27;s not worth looking into.</text></item><item><author>ocharles</author><text>Nice to see this posted here. I switched over to it about 2-3 weeks ago, and I haven&amp;#x27;t looked back. It took a lot of mental rewiring, but I really enjoy the workflow `jj` provides. There&amp;#x27;s no longer a time to think about what&amp;#x27;s being committed, because all file changes automatically amend the working copy commit. Of course, sometimes you don&amp;#x27;t want this, so you have things like the ability to split a commit into two, moving commits, etc. But having _everything_ operate on commits is really nice! Other niceities that I like:&lt;p&gt;- `jj log` is awesome for getting an overview of all your branches. If, like me, you have a lot of work in progress at once, this provides a great map&lt;p&gt;- Conflict resolution is really cool, as you can partially resolve conflicts, and then switch branches. Conflicts are also tracked specially, but I haven&amp;#x27;t done too much with this yet.&lt;p&gt;- The abbreviated changeset ids are really handy. I often will just `jj log` (or in my case just `jj` as that&amp;#x27;s the default), notice a changeset I want to rebase, then run `jj rebase -s qr -d master`. `qr` here is an abbreviated changeset id for a branch&amp;#x2F;commit, and usually much quicker than typing the branch name out! This will probably change when clap gets updated to support dynamic tab-completion though.</text></item></parent_chain><comment><author>bastardoperator</author><text>If you&amp;#x27;re storing 1TB of binary files in git, you&amp;#x27;re just doing it wrong anyways. You have a bunch of other tools and capabilities for doing this in a way that doesn&amp;#x27;t make your repository nightmarishly stupid to deal with because of its size.</text></comment>
<story><title>Jujutsu: A Git-compatible DVCS that is both simple and powerful</title><url>https://github.com/martinvonz/jj</url></story><parent_chain><item><author>chaxor</author><text>Are you simply using it with GitHub repos?&lt;p&gt;It mentions that it can be used with backends like Dropbox, but it would be &lt;i&gt;wonderful&lt;/i&gt; if we &lt;i&gt;finally&lt;/i&gt; had a system that could easily be used with IPFS.  This is &lt;i&gt;especially&lt;/i&gt; important for large data, since you can&amp;#x27;t store 1TB on github (and no, I don&amp;#x27;t count lfs, since you have to pay for it).&lt;p&gt;IPFS is the natural solution here, since everyone that wants to use the dataset has it locally anyway, and having thousands of sources to download from is better than just one.&lt;p&gt;So if this uses IPFS for the data repo, I&amp;#x27;m switching immediately.  If it doesn&amp;#x27;t, it&amp;#x27;s not worth looking into.</text></item><item><author>ocharles</author><text>Nice to see this posted here. I switched over to it about 2-3 weeks ago, and I haven&amp;#x27;t looked back. It took a lot of mental rewiring, but I really enjoy the workflow `jj` provides. There&amp;#x27;s no longer a time to think about what&amp;#x27;s being committed, because all file changes automatically amend the working copy commit. Of course, sometimes you don&amp;#x27;t want this, so you have things like the ability to split a commit into two, moving commits, etc. But having _everything_ operate on commits is really nice! Other niceities that I like:&lt;p&gt;- `jj log` is awesome for getting an overview of all your branches. If, like me, you have a lot of work in progress at once, this provides a great map&lt;p&gt;- Conflict resolution is really cool, as you can partially resolve conflicts, and then switch branches. Conflicts are also tracked specially, but I haven&amp;#x27;t done too much with this yet.&lt;p&gt;- The abbreviated changeset ids are really handy. I often will just `jj log` (or in my case just `jj` as that&amp;#x27;s the default), notice a changeset I want to rebase, then run `jj rebase -s qr -d master`. `qr` here is an abbreviated changeset id for a branch&amp;#x2F;commit, and usually much quicker than typing the branch name out! This will probably change when clap gets updated to support dynamic tab-completion though.</text></item></parent_chain><comment><author>pbronez</author><text>In the author’s presentation [0], the Google roadmap includes “custom working copy implementation for our internal distributed VFS”. The related graphic shows a “working copy” block connected to a “distributed file system block”.&lt;p&gt;This work might be extensible to include IPFS and other distributed virtual file systems.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;docs.google.com&amp;#x2F;presentation&amp;#x2F;d&amp;#x2F;1F8j9_UOOSGUN9MvHxPZX_L4bQ9NMcYOp1isn17kTC_M&amp;#x2F;mobilepresent?slide=id.g152b1fb8869_0_1432&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;docs.google.com&amp;#x2F;presentation&amp;#x2F;d&amp;#x2F;1F8j9_UOOSGUN9MvHxPZX...&lt;/a&gt;</text></comment>