Seeking source code management advice 

I'm in a situation where I have many multiple software repos. Some in git and some in svn. To build or work on a given project, I need to checkout or clone those various repos together in a working directory. Other than custom scripts, are there tools available that are VCS agnostic that could help with this task? I've been trying all sorts of search terms, but invariably end up with git submodules or git-repo.

Thanks in advance, fediverse!

Seeking source code management advice 

Seeking source code management advice 

@Greg Very interesting! It looks promising. I'll give it a closer look. Thanks!

Seeking source code management advice 

@cstanhope and at least it has a good list of alternative solutions that might help :)

@Greg @cstanhope

This looks useful enough!…

> wstool allows manipulation of a set of version-controlled folders as specified in a workspace definition file.

I looked at the alternatives and they all look either git-specific or tied to some specific project and project structure like yoctolinux (bitbake)(0) or ROS. Some want to own your layout and put things in some specific workspaces directory.

wstool, the one linked above, looks like it's rosinstall without the ROS dependency (just some vestigial config file naming).

I have a sudden urge to write a rosinstall2nix. Later! Not now!

(0) *shudder* bad memories from when I was battling bitbake 3 summers ago

@clacke Rosinstall seemed promising, but I wanted to avoid the dependency. I skimmed over wstool, but I should take a closer look.

(I'm still dealing with yocto and bitbake. Bitbake seems like clever idea taken too far: We'll just make everything a string combined with a framework that operates behind the scenes on those strings that does stuff. The relationship between the things in your strings and the actions they cause is not clear by inspection.)

@cstanhope Bitbake is a clever idea not taken far enough. The caching is broken, and bit me multiple times, and the bash-but-not-just-bash configuration language is horrible and yes, the abstraction levels are convoluted and disorienting -- there's no clear way to find out where all these settings are coming in from. By the time bitbake is taken far enough it becomes Nix, and at that point they should have just used Nix to begin with and saved a decade of effort.

A start at doing something like yoctolinux but Right is @telent 's NixWRT(0)(1), built using Nix and a lightly patched nixpkgs.

It does less than bitbake so far, but without even trying it out, I know that its caching is not broken, because it is using Nix.


@clacke @cstanhope @telent OMG, I'm very excited to see somebody building a NixWRT. I recently helped a client mangle NixOS into a static root file system builder for a different purpose, and while there are clearly some upstream changes that would help, it worked really nicely in a lot of ways. I'd love to see Nixpkgs/NixOS evolve into a Yocto replacement!

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!