[bug#75981,(WIP),v1.5,0/4] Add 'guix fork'.

Message ID cover.1738408683.git.45mg.writes@gmail.com
Headers
Series Add 'guix fork'. |

Message

45mg Feb. 1, 2025, 11:43 a.m. UTC
  Hi Guix,

This revision is the same as v1, with one difference - the procedure
'invoke/stdout' was moved from (guix build utils) to (guix utils). While it
probably belongs in the former file, the fact is that nearly every gexp starts
with `(with-imported-modules ((guix build utils)) #~(begin ...))` or something
similar, so changing that file will cause most derivations to change, which
will result in a world rebuild (I think that's what it's called? That term is
not in the manual...). So I moved it, added some TODO comments pointing out
where it should go, and didn't update the commit message changelogs.

This revision only exists so that I can apply it to my fork, `guix pull`, and
thereby have access to these commands in my CLI. So if anyone else wants to
use this patch - as opposed to just test it via pre-inst-env - then this is
what you should apply.

45mg (4):
  Add 'guix fork create'.
  Add 'guix fork authenticate'.
  Add 'guix fork update'.
  Document 'guix fork'.

 Makefile.am                        |   4 +
 doc/contributing.texi              |  50 +++++
 doc/guix.texi                      | 150 +++++++++++++
 guix/channels.scm                  |  13 ++
 guix/git-authenticate.scm          |  17 ++
 guix/git.scm                       |  10 +
 guix/scripts/fork.scm              |  71 +++++++
 guix/scripts/fork/authenticate.scm | 331 +++++++++++++++++++++++++++++
 guix/scripts/fork/create.scm       | 258 ++++++++++++++++++++++
 guix/scripts/fork/update.scm       | 182 ++++++++++++++++
 guix/scripts/git/authenticate.scm  |  45 +---
 guix/utils.scm                     |  61 ++++++
 12 files changed, 1151 insertions(+), 41 deletions(-)
 create mode 100644 guix/scripts/fork.scm
 create mode 100644 guix/scripts/fork/authenticate.scm
 create mode 100644 guix/scripts/fork/create.scm
 create mode 100644 guix/scripts/fork/update.scm


base-commit: b85d20e853192a92093cd8d6a5756ec80e94c658