# How to clone and get all channels?

**URL:** <https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650>\
**Category:** Uncategorized\
**Created:** [December 2, 2020, 4:56am UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650 "2020-12-02T04:56:17Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![boogerlad](https://avatars.discourse-cdn.com/v4/letter/b/b5a626/32.png) [@boogerlad](https://discourse.pijul.org/u/boogerlad)\
**Post date:** [December 2, 2020, 4:56am UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650/1 "2020-12-02T04:56:17Z")

</div>

[https://nest.pijul.com/pijul/thrussh](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

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

```

---

<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:** [December 2, 2020, 2:46pm UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650/2 "2020-12-02T14:46:21Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![boogerlad](https://avatars.discourse-cdn.com/v4/letter/b/b5a626/32.png) [@boogerlad](https://discourse.pijul.org/u/boogerlad)\
**Post date:** [December 2, 2020, 2:56pm UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650/3 "2020-12-02T14:56:07Z")

</div>

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`

```auto
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

```auto
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>'''

```

---

<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:** [December 2, 2020, 3:10pm UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650/4 "2020-12-02T15:10:00Z")

</div>

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:

- without changing anything, make a tarball of your repository _in its current state_ and send it to [pe@pijul.org](mailto:pe@pijul.org)

- report this on [nest.pijul.com/pijul/discussions](http://nest.pijul.com/pijul/discussions)

---

<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:** [December 2, 2020, 3:12pm UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650/5 "2020-12-02T15:12:38Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![boogerlad](https://avatars.discourse-cdn.com/v4/letter/b/b5a626/32.png) [@boogerlad](https://discourse.pijul.org/u/boogerlad)\
**Post date:** [December 2, 2020, 3:16pm UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650/6 "2020-12-02T15:16:44Z")

</div>

![image](https://canada1.discourse-cdn.com/flex031/uploads/pijul/original/1X/d02e7d96f1a3d00695e4da4239ffc71f6bcfda0d.png)  
am I doing something wrong?

---

<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:** [December 2, 2020, 3:30pm UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650/7 "2020-12-02T15:30:14Z")

</div>

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](mailto:pe@pijul.org)?

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

---

<div class="post-metadata">

**Author:** ![boogerlad](https://avatars.discourse-cdn.com/v4/letter/b/b5a626/32.png) [@boogerlad](https://discourse.pijul.org/u/boogerlad)\
**Post date:** [December 2, 2020, 3:31pm UTC](https://discourse.pijul.org/t/how-to-clone-and-get-all-channels/650/8 "2020-12-02T15:31:15Z")

</div>

Something is not quite right here as well. `pijul log` matches [https://nest.pijul.com/pijul/thrussh:main/changes](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
