The sound distributed version control system

#738 Named remote

Closed on February 28, 2023
irevoire on December 3, 2022

Currently I hate the way the remote works, maybe it’s because I’m accustomed to git but I would really like the ability to create and access remotes without having to remember their full url / ssh addr.

If I want to contribute to pijul for example, I would like to have one;

  • default remote that represents my personal pijul fork
  • upstream remote that represents this repository
  • pmeunier if I wants to pull changes from the pmeunier fork
  • you get the idea

And then be able to run;

  • pijul push default --to-channel something
  • pijul delete tamo
  • pijul pull upstream
  • etc

I also find the fact that we need to push through the url, but we delete with the id quite cumbersome and inconsistent.

Is this the kind of features you would be interested in?

joyously on December 18, 2022

I vote Yes for consistency and ease of use.

But pijul push default could easily be interpreted as a local folder, so it needs something to indicate that it’s remote.

pmeunier on February 28, 2023

“Hating” is a bit strong here, especially for a feature which has been around for many years ;-)

In .pijul/config, I’ve had something like the following since early prototypes of the Nest back in 2016:

default_remote = "nest"

[[remotes]]
name = "nest"
ssh = "pmeunier@ssh.pijul.com:pijul/pijul"

For your particular request, you could have:

default_remote = "/my/personal/fork"

[[remotes]]
name = "pmeunier"
http = "https://nest.pijul.com/pmeunier/pijul"

[[remotes]]
name = "upstream"
ssh = "irevoire@ssh.pijul.com:pijul/pijul"

Note that the main model for contributing isn’t forking, and that’s on purpose. There used to be a “fork” button in early versions of the Nest, it has been replaced with pushing patches to discussions. This might feel a little different when coming from Git, but I believe this is more convenient, lighter, faster…

pmeunier closed this discussion on February 28, 2023