← Back to context

Comment by mvc

7 days ago

> there’s a whole generation of young engineers who don’t know how short their end of the stick actually is

I'm from a generation who had to use VSS for a few years. The sticks are pretty long these days, even the ones you get from github.

> VSS

I just had trauma!

I will say that SourceSafe had one advantage: You could create "composite" proxy workspaces.

You could add one or two files from one workspace, and a few from another, etc. The resulting "avatar" workspace would act like they were all in the same workspace. It was cool.

However, absolutely everything else sucked.

I don't miss it.

  • So it’s a workspace that includes changes from multiple branches at once, like `jj new revset-1 revset-2 revset-3 …` ?

    (Git has octopus merges, jj just calls them “merge commits” even though they may have more than two parents)

    • Don't remember exactly. If I think about it, it could be quite complex.

      Git has the concept of "atomic repos." Repos are a single unit, including all files, branches, tags, etc.

      Older systems basically had a single repo, with "lenses" into sections of the repo (usually called "workspaces," or somesuch. VSS called them something else, but I can't remember).

      I find the atomic repo thing awkward; especially wrt libraries. If I include a package, I get the whole kit & kaboodle; including test harnesses and whatnot. My libraries thend to have a lot more testing code than library code.

      Also, I would love to create a "dependency repo," that aggregates the exported parts of the libraries that I'm including into my project, pinned at the required versions. I guess you could say package managers are that, but they are kind of a blunt instrument. Since I eat my own dog food, I'd like to be able to write changes into the dependency, and have them propagate back to their home repo, which I can sort of do now, if I make it a point to find the dependency checkout, make a change, then push that change, but it's awkward.

      But that seems crazy complex (and dangerous), so I'm OK with the way things work now.

      4 replies →

    • No, it let you continue to follow the main branch for most files, while files you edited would have their changes saved to a different location. And was just about as horrible as you might imagine.

      We moved from VSS to SVN, and it took a little encouraging for the person who had set up our branching workflow using that VSS feature to be happy losing it if that freed us from VSS.