Pijul

How to clone and get all channels?

https://nest.pijul.com/pijul/thrussh has two channels: main and tokio-0.2
When I clone with pijul clone https://nest.pijul.com/pijul/thrussh, I only get the main channel

$ pijul channel
* main
$ pijul channel switch tokio-0.2
Error: No such channel: tokio-0.2

If you do pijul clone --help, you get the answer: --channel tokio-0.2.

Right, I’m aware of the --channel flag, but it seems it supports only one channel at a time. What if I wanted multiple or all channels available from the remote? What if I’ve already cloned? I tried pijul pull --channel tokio-0.2 --from-channel tokio-0.2 but that polluted the main channel.

Then I tried pijul channel switch tokio-0.2 which of course didn’t work Error: Cannot reset, because there are unrecorded changes, and then pijul reset

Well, this is embarrassing.

pijul had a problem and crashed. To help us diagnose the problem you can send us a crash report.

We have generated a report file at "/tmp/report-be53975a-02f3-4b65-921e-b7174e3ae08a.toml". Submit an issue or email with the subject of "pijul Crash Report" and include the report as an attachment.

- Authors: Pierre-Étienne Meunier <pe@pijul.org>

We take privacy seriously, and do not perform any automated error collection. In order to improve the software, we rely on people to submit reports.

Thank you kindly!

contents are here, if it’s relevant

name = 'pijul'
operating_system = 'unix:Debian'
crate_version = '1.0.0-alpha.11'
explanation = '''
Panic occurred in file '/root/.cargo/registry/src/github.com-1ecc6299db9ec823/libpijul-1.0.0-alpha.7/src/output/output.rs' at line 370
'''
cause = 'assertion failed: txn.del_revinodes(vertex, Some(*inode))?'
method = 'Panic'
backtrace = '''

   0: 0x7f350fa0be5e - libpijul::output::output::output_repository::h61ecda52d05b41f1
   1: 0x7f350f8bdcb4 - pijul::commands::reset::Reset::reset::h8fd1fe46314f2545
   2: 0x7f350f91a071 - pijul::run::{{closure}}::h846d8ab87c31b93a
   3: 0x7f350f8fb2be - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he35c0f5964e239e0
   4: 0x7f350f8d338e - tokio::runtime::enter::Enter::block_on::hfd1016997f0d122f
   5: 0x7f350fa59e61 - tokio::runtime::thread_pool::ThreadPool::block_on::h2da057d0935e8ea9
   6: 0x7f350f89d16c - tokio::runtime::context::enter::hf40dcb77ace15e92
   7: 0x7f350f926d45 - pijul::main::h2dc3930cad9a0679
   8: 0x7f350f888aa3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h8cd943d86ad741ea
   9: 0x7f350f888ab9 - std::rt::lang_start::{{closure}}::h4f10c4921dc17a2f
  10: 0x7f35100886d1 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h6a3209f124be2235
                at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/core/src/ops/function.rs:259
                 - std::panicking::try::do_call::h88ce358792b64df0
                at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:373
                 - std::panicking::try::h6311c259678e50fc
                at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:337
                 - std::panic::catch_unwind::h56c5716807d659a1
                at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panic.rs:379
                 - std::rt::lang_start_internal::h73711f37ecfcb277
                at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/rt.rs:51
  11: 0x7f350f926ef2 - main
  12: 0x7f350f0c6cca - __libc_start_main
  13: 0x7f350f8702ba - _start
  14:        0x0 - <unresolved>'''

Alright, I misunderstood your question. I don’t think there’s a way to do that for now. We should provide a pijul channel create to create empty channels, but it doesn’t exist for now.

I’d like to ask you to do two things:

Wait, I just tested this: pijul pull --channel tokio-0.2 creates another channel.


am I doing something wrong?

No. Do you have the latest Pijul?
I really want to see the repository you get, can you send a tarball to pe@pijul.org?

edit: I don’t see that result at all.

Something is not quite right here as well. pijul log matches https://nest.pijul.com/pijul/thrussh:main/changes, but pijul log --channel tokio-0.2 has some bizarre output. I’ll email you the tarball. I’m using 1.0.0 alpha 11