Package: git-pijul
git-pijulupdate pijul from git.installpipinstallgit-pijulusageUsage: git-pijul [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  create            Create a new pijul repository and import a linear...
  plot              Display current changes as graphviz file (git pijul...
  set-diff          Difference between two sets of changes of channels.
  set-intersection  Intersection between two sets of changes of channels.
  set-union         Union changes of channels.
  shallow           create a new pijul repository from the current...
  update            Update a repository created with git-pijulgit-pijul createfinds an ancestry-path withgit rev-list --ancestry-path --no-merges --topo-order. It will then checkout each revision into a temp
directory and add it to pijul. Non-linear history is dropped. The last
revision/patchset will be forked into a channel.git-pijul updatefinds in git the shortest path from the current git-revision
to a existing channel and updates pijul from that channel.git-pijul shallowcreate a new pijul repository from the current revision without
history.git-pijul plotplots dependencies of all changes, with-iyou can exclude changes from a
channel, usually themainchannel that contains published changes. This allows
you to select the changes you want to publish.There are also set opertions on sets of changes in channels. Typical usage is
applying changes after agit pijul update:gitpijulset-diff-lwork_9189af5|xargspijulapplyexample$>gitclonehttps://github.com/ganwell/git-pijulCloning into 'git-pijul'...remote: Enumerating objects: .....$>cdgit-pijul$>gitpijulcreate--nameupsteam01Using head: e75db07f2b56b1a836f3841808b188ea8e642ba1 (HEAD)Using base: b215e32b5d60eb19a0676a2b9072ac7a352e1c50 ('--root')100%|█████████████████████████████████████| 40/40 [00:03<00:00, 12.40it/s]Please do not modify the in_* channelsTo get the latest changes call:git pijul set-diff -l upstream01 | xargs pijul apply$>gitpijulset-diff-lupstream01|xargspijulapplyOutputting repository ↖$>pijulchannelin_e75db07f2b56b1a836f3841808b188ea8e642ba1* mainupstream01$>gitpullUpdating 3bc7b1e..7ec741dFast-forwardREADME.md      |  2 +-git_pijul.py   | 50 ++++++++++++++++++++++++++++++++++++++------------pyproject.toml |  2 +-3 files changed, 40 insertions(+), 14 deletions(-)$>gitpijulupdate--nameupstream02Using head: 2386120d310e65ea38110059fc427c106a75a58a (master)Using base from previous update: e75db07f2b56b1a836f3841808b188ea8e642ba1100%|█████████████████████████████████████| 7/7 [00:00<00:00,  7.62it/s]Please do not modify the in_* channelsTo get the latest changes call:git pijul set-diff -l upstream02 | xargs pijul apply$>gitpijulset-diff-lupstream02|xargspijulapplyOutputting repository ↖$>pijulchannelin_e75db07f2b56b1a836f3841808b188ea8e642ba1in_2386120d310e65ea38110059fc427c106a75a58a* mainupstream01upstream02From 0.9.0 on you can also use:gitpijulapplyupstream02changes0.3.00.3.0 git-pijul now creates a work and an internal channel. The internal
channel should not be used by the user. I think this is the first step to allow
back-sync.0.4.0stop using .ignore, instead add root directory items one by one, ignoring .git0.5.0allow to plot changes withgit pijul plot | dot -Txlib0.6.0git-pijul plotplots dependencies of all changes, with-iyou can exclude changes from a
channel, usually themainchannel that contains published changes. This allows
you to select the changes you want to publish.0.7.0add set operations on changes in channels0.8.0do not switch channels, use --channel for all operations0.9.0add command to apply changes from channel iteratively