darcs

Issue 1955 user model documentation

Title user model documentation
Priority feature Status given-up
Milestone Resolved in
Superseder Nosy List dmitry.kurochkin, jaredj, kowey, mndrix, simonmar, simonpj, twb
Assigned To
Topics Documentation, ProbablyEasy

Created on 2010-09-10.15:44:00 by kowey, last changed 2017-07-31.00:37:30 by gh.

Messages
msg12522 (view) Author: kowey Date: 2010-09-10.15:43:58
Write documentation providing articulate description of the *user* model
(not the implementation model), what the user needs to know to be a
"good" darcs users.  Not the manual.

See Git for Computer Scientists
msg12523 (view) Author: kowey Date: 2010-09-10.15:45:53
Could be written in an afternoon, perhaps
msg12524 (view) Author: kowey Date: 2010-09-10.15:46:46
Note that if you do knock this out, you should (need-action) contact
Simon PJ with a URL so that he can give feedback
msg12544 (view) Author: simon Date: 2010-09-14.23:50:06
http://eagain.net/articles/git-for-computer-scientists/
msg12545 (view) Author: simon Date: 2010-09-14.23:57:17
Git for Computer Scientists documents the internals of git for computer 
scientists ("not scared by words like Directed Acyclic Graph"). You 
mention "what the user needs to know to be a good darcs user". Should 
these be two documents, or one ?
msg12548 (view) Author: kowey Date: 2010-09-15.09:38:02
Making it one document is fine.  I would consider the stuff presented in 
Git for Computer Scientists high level enough for this sort of document.  
It's not so much trying to be friendly as concise/comprehensive while 
eschewing unnecessary implementation and theoretical detail.  In other 
words, this is how you the user need to see your repository (even in 
data structure terms), not how Darcs sees it, nor how patch theory 
works.

My take on Simon PJ's comments anyway.  Adding Simon Marlow because he's 
the one who suggested Git for Computer Scientists to illustrate what 
Simon PJ meant when he talked about this.  Plus having three Simon's in 
a BTS ticket is always fun.
msg12549 (view) Author: simonmar Date: 2010-09-15.10:05:43
I think different people are comfortable with different kinds of
documentation.  In this instance I think the key difference is between
"procedural" documentation ("here's what you do to achieve X") vs.
"declarative" documentation ("a repository has the following properties,
and here are the operations you can perform on it").  I'm pretty sure
you want both, and it doesn't matter if there's overlap between the two.
msg12550 (view) Author: simonpj Date: 2010-09-15.11:13:15
What I'm after is a "user model".  By that I mean an understanding of
what state Darcs maintains, but in only enough detail for a user to make
sense of.  That's more like what Simon M calls "declarative properties".
Notice that this does *not* mean implementation detail.

Example of what I mean:
* A Darcs repository is a collection of patches
* When you 'record', you add a new patch to your local Darcs repo,
without changing your working files.
* A patch A "depends on" another patch B if (a) B modifies the same
lines as A does, and (b) B was in your repository when you recorded A. 
This is important if you, say, want to get patch A (because then you
must pull B too). Similarly unrecording B entails unrecording A.
* A patch A "conflicts with" a patch B if they both modify the same
lines of a file, but neither depends on the other.

etc
msg12573 (view) Author: kowey Date: 2010-09-16.09:25:44
http://en.wikibooks.org/wiki/Understanding_darcs tries to do a bit of 
this.

As a sort of experiment, I tried writing a section of how I understood 
Simons PJ and Marlow at http://wiki.darcs.net/Using/Model.  Is that the 
sort of idea?
msg15201 (view) Author: mndrix Date: 2012-03-02.22:09:57
I'm a darcs newbie and just finished reading 
http://wiki.darcs.net/Using/Model last night.  I thought it was excellent 
and complete enough for understanding most day-to-day darcs operations.  
I'd personally consider this issue resolved
msg15205 (view) Author: kowey Date: 2012-03-03.17:49:34
Thanks for the feedback! I think there are a coule of things that need 
to happen before we can mark this done:
- finish off the story on conflicts
- clean up some of the outstanding TODOs and fact-checks

Unfortunately, I don't see myself getting around to this for a while. 
Help always appreciated.
History
Date User Action Args
2010-09-10 15:44:00koweycreate
2010-09-10 15:45:55koweysettopic: + ProbablyEasy
nosy: + jaredj
messages: + msg12523
2010-09-10 15:46:47koweysetstatus: unknown -> needs-implementation
messages: + msg12524
2010-09-14 23:50:07simonsetmessages: + msg12544
2010-09-14 23:57:18simonsetmessages: + msg12545
2010-09-15 09:38:03koweysetnosy: + simonmar
messages: + msg12548
2010-09-15 10:05:44simonmarsetmessages: + msg12549
2010-09-15 11:13:16simonpjsetmessages: + msg12550
2010-09-16 09:25:45koweysetmessages: + msg12573
2012-03-02 22:07:57mndrixsetnosy: + mndrix
2012-03-02 22:09:58mndrixsetmessages: + msg15201
2012-03-03 17:49:35koweysetmessages: + msg15205
2017-07-31 00:37:30ghsetstatus: needs-implementation -> given-up