The UNIX system has been in wide use for over 20 years, and has helped to define many areas of computing.
the partitioning paper throwing the deepest shade on xerox parc lmao:
Disk Toting: In this approach, employed at Xerox Parc and other installations where very intelligent terminals are linked via a network
oh wow i was about to criticize the idea of "version history" of a shared resource but this is very obviously a fascinating case study for a version control system. they're calling it a "version conflict" for mutually inconsistent changes. @SRAZKVT https://www.cs.purdue.edu/homes/bb/cs542-11Spr/Parker_TSE83.pdf
example given of a bank account balance being simultaneously withdrawn, and if the result runs below 0 we have a conflict. i have no clue how to characterize correctness for a file conflict outside of heuristics (and i'm curious if we can say something meaningful without them)
YESSSSSS WE GOT A GRAPH THEORIST OVER HERE!!!!!
easily the least understandable definition of a graph i've ever read. deciding to move on
i do not believe anyone would decide not to label the edges with the specific change each edge induced and instead stuff it into "node labels" but whatever i'm over it
oh and there's just more info not written in the graph and then the author says the graph doesn't actually represent conflicts correctly. ok stop wasting my time? anyway now we get to version vectors
wtf first off why does he keep mentioning timestamps second off he raised a strawman about update logs for some reason. he dies if this vector thing isn't good
oh that's it ok waste of time
the LOCUS paper likes it but i don't rly care about version history in this case. i'm glad i remembered version control systems are cool though because that's another way i can defeat linus
OOOH WOW OMG
The LOCUS recovery and merge philosophy is
hierarchically organized. The basic system is responsible for detecting all conflicts.
this is kind of why i like the idea of making data scoped by default, because i don't think most files need to know about each other or consider a generic conflict system. all of these seem to be solutions to a problem of "how can we ensure global coherence" when a computer generally isn't about global coherence? not the way i use it
For those data types that it manages, including internal system data as well as file system directories, automatic merge is done by the system.
i do absolutely fuck with having semantic understanding of the structures the filesystem/vcs manages
If the system is not responsible for a given file type, it reflects the problem up to a higher level; to a recovery/merge manager if one exists for the given file type.
a recovery manager, maybe? but knowledge of merging seems like an ahierarchical property. i still like the idea of "merge manager"
To develop a merge procedure for any data type,
including directories, it is necessary to evaluate the
operations which can be applied to that data type.
yes! this is why i'm infatuated with my fractal zip!
they mention doing directory merge in the background and i'm like yes!
Automatic reconciliation of user mailboxes is important in the LOCUS replication system, since notification of name conflicts in files is done by sending the user electronic mail.
this seems like a mistake. if name conflicts are associated with the user who owns them, imo they absolutely should have a separate structure to record name conflicts under review. email is super complex
love love this method of resolving conflicts by giving users tools to override or work around. sign of Giving A Shit About Users:
In any case, files with unresolved conflicts are marked so normal attempts to access them fail, although that control may be overridden.
could be annoying but seems like an effective compromise
A trivial tool is provided by which the user may
rename each version of the conflicted file and make
each one a normal file again.
LOVE keeping absolutely every version like this. it codifies the situation where "i can't fuck with this rn but i can't risk losing anything" which i SO relate to
Then the standard set of application programs can be used to compare and merge the files.
ediff bae !!