Mon Jan  7 19:57:10 EST 2008  Mark Stosberg <[EMAIL PROTECTED]>
  * correct apparent typo in test.
      The fix made more sense than the former behavior of comparing a file to 
itself. 

Mon Jan  7 20:00:43 EST 2008  Mark Stosberg <[EMAIL PROTECTED]>
  * issue55: document that darcs handles some types of binary files 
automatically. 

Mon Jan  7 21:28:08 EST 2008  Mark Stosberg <[EMAIL PROTECTED]>
  * typo and bug fix in partial.sh.
  
  It turned out the call to "darcs optimize" was silently failing to create a 
checkpoint
  because there was no tag. This caused the remaining tests for --partial to 
run against 
  a full repo, not a partial one. 

Mon Jan  7 21:47:12 EST 2008  Mark Stosberg <[EMAIL PROTECTED]>
  * update partial.sh to show off improved darcs-2/partial functionality

Mon Jan  7 22:52:56 EST 2008  Mark Stosberg <[EMAIL PROTECTED]>
  * Quit defining inventory format options recursively. Provide user-oriented 
descriptions.

Mon Jan  7 23:09:41 EST 2008  Mark Stosberg <[EMAIL PROTECTED]>
  * improve the one-paragraph docs for "darcs init"

Mon Jan  7 23:10:24 EST 2008  Mark Stosberg <[EMAIL PROTECTED]>
  * document the three repo format flags for "darcs init"
New patches:

[correct apparent typo in test.
Mark Stosberg <[EMAIL PROTECTED]>**20080108005710
     The fix made more sense than the former behavior of comparing a file to itself. 
] {
hunk ./tests/send_apply.sh 25
-cmp temp2/bar temp2/bar
+cmp temp1/bar temp2/bar
hunk ./tests/send_apply.sh 33
-cmp temp2/bar temp2/bar
+cmp temp1/bar temp2/bar
}

[issue55: document that darcs handles some types of binary files automatically. 
Mark Stosberg <[EMAIL PROTECTED]>**20080108010043] {
hunk ./src/Darcs/Repository/Prefs.lhs 231
-than text files.  You probably will want to have the binaries file under
+than text files. Darcs automatically treats files containing ^Z or '\0' as binary.
+You probably will want to have the binaries file under
}

[typo and bug fix in partial.sh.
Mark Stosberg <[EMAIL PROTECTED]>**20080108022808
 
 It turned out the call to "darcs optimize" was silently failing to create a checkpoint
 because there was no tag. This caused the remaining tests for --partial to run against 
 a full repo, not a partial one. 
] {
hunk ./tests/partial.sh 12
-# Create a developement repo, do some work
+# Create a development repo, do some work
hunk ./tests/partial.sh 41
-$DARCS optimize --checkpoint
+$DARCS tag -A x --checkpoint first_checkpoint 
}

[update partial.sh to show off improved darcs-2/partial functionality
Mark Stosberg <[EMAIL PROTECTED]>**20080108024712] {
hunk ./tests/partial.sh 14
-$DARCS initialize
+$DARCS initialize --darcs-2
hunk ./tests/partial.sh 27
-$DARCS initialize
+$DARCS initialize --darcs-2 
hunk ./tests/partial.sh 52
+# With the darcs-2 format, doing a get on a partial repo succeeds.
+# With the darcs-1 format it would be required to add the --partial flag, or darcs would give an error. 
+$DARCS get _partial _second_partial
+
}

[Quit defining inventory format options recursively. Provide user-oriented descriptions.
Mark Stosberg <[EMAIL PROTECTED]>**20080108035256] {
hunk ./src/Darcs/Arguments.lhs 680
-                          "use the hashed format",
+                          "Some new features. Compatible with older repos",
hunk ./src/Darcs/Arguments.lhs 682
-                          "use (experimental!) darcs-2 format",
+                          "All features. Related repos must use same format [EXPERIMENTAL]",
hunk ./src/Darcs/Arguments.lhs 684
-                          "use old fashioned inventory"]
+                          "Minimal features. What older repos use. [DEFAULT]"]
}

[improve the one-paragraph docs for "darcs init"
Mark Stosberg <[EMAIL PROTECTED]>**20080108040941] {
hunk ./src/Darcs/Commands/Init.lhs 49
-Generally you will only call initialize once for each project you work on,
-and calling it is just about the first thing you do.  Just make sure you
-are in the main directory of the project, and initialize will set up all the
-directories and files darcs needs in order to start keeping track of
-revisions for your project.
+Call \verb|initialize| once for each project you work on. Run it from the top
+level directory of the project, with the project files already there. 
+\verb|initialize| will set up all the directories and files darcs needs in order to
+start keeping track of revisions for your project.
hunk ./src/Darcs/Commands/Init.lhs 57
- "Generally you will only call initialize once for each project you work on,   \n"++
- "and calling it is just about the first thing you do.  Just make sure   \n"++
- "you are in the main directory of the project, and initialize will set up all \n"++
- "the directories and files darcs needs in order to start keeping track of   \n"++
- "revisions for your project.\n"
+ "Call 'initialize' once for each project you work on. Run it from the top  \n"++
+ "level directory of the project, with the project files already there.   \n"++
+ "'initialize' will set up all the directories and files darcs needs in order to \n"++
+ " start keeping track of revisions for your project.  \n"
}

[document the three repo format flags for "darcs init"
Mark Stosberg <[EMAIL PROTECTED]>**20080108041024] hunk ./src/Darcs/Commands/Init.lhs 79
-The \verb|initialize| follows the following procedure:
-It creates the directories \verb|_darcs|, \verb|_darcs/current| (or
-\verb|_darcs/pristine|), \verb'_darcs/inventories',
-\verb|_darcs/patches|, and \verb'_darcs/prefs',
-and then creates the
-empty files \verb'_darcs/prefs/motd' (see Section~\ref{motd})
-and \verb|_darcs/inventory|.
-It then fills the contents of
-\verb'boring' and \verb'binaries' in the \verb'_darcs/prefs'
-directory with useful default values as described in Sections \ref{boring} \emph{et seq.}
-It is strongly
-recommended that you use \verb|darcs initialize| to do this, as this
-procedure may change in a future version of darcs.
+\verb|initialize| creates a single directory named \verb|_darcs|, with contents
+for internal use. The one subdictory of interest to users is
+\verb'_darcs/prefs', which will include an empty file \verb'_darcs/prefs/motd'
+(see Section~\ref{motd}), as well as files named \verb'boring' and
+\verb'binaries', which contain useful defaults as described in Sections
+\ref{boring} \emph{et seq.}
+
+\begin{options}
+--old-fashioned-inventory
+--hashed
+--darcs-2
+\end{options}
+
+These options describe possible repository formats to use. 
+
+\verb'old-fashioned-inventory' is the default. While it has minimal features, it is the best tested and the limitations
+it does have are well known.
+
+\verb'hashed' Overs several features while still be compatible with old-fashioned repos. The specific features are:
+
+\begin{itemize}  
+
+\item The hashed format allows for greater atomicity of operations. This makes for greater safety and simultaneously greater efficiency. These benefits, however, have not been fully realized in this release. For instance, with a hashed repository, there is no need for darcs push to require a repository lock, so you could record patches while waiting for a push to finish (for instance, if it's waiting on the test suite).
+
+\item The _darcs/pristine directory no longer holds the pristine cache. This disallows certain hackish short-cuts, but also dramatically reduces the danger of third-party programs (e.g. DreamWeaver) recursing into the pristine cache and corrupting darcs repositories.
+
+\item Darcs get is now much faster, and always operates in a "lazy" fashion, meaning that patches are downloaded only when they are needed. This gives us much of the benefits of --partial repositories, without most of their disadvantages. This approach, however, does have several new dangers. First, some operations may unexpectedly require the download of large numbers of patches, which could be slow (but you could always interrupt with ^C). Secondly, if the source repository disappears, or you lose network connectivity, some operations may fail. 
+
+\item Darcs now supports caching of patches and file contents to reduce bandwidth and save disk space. It greatly speeds up a number of operations, and is essentially transparent. The only reason we don't enable it by default is because it creates a large directory in ~/.darcs/cache without the user's explicit consent.
+
+\end{itemize}
+
+\verb'darcs-2' Enables all available features, at the expense of still being experimental, and requiring that all repos for a project use the same format. In addition to the features of the \verb'hashed' format described above, the \verb'darcs-2' format also enables the following:
+
+\begin{itemize}
+
+\item It should no longer be possible to confuse darcs or freeze it indefinitely by merging conflicting changes. 
+
+\item Identical primitive changes no longer conflict. This is a long-requested feature, and has far-reaching implications. 
+
+\end{itemize}

Context:

[make indent slightly more concise using lines and unlines.
David Roundy <[EMAIL PROTECTED]>**20080104003953] 
[refactor: replace recursive indent with more concise find-and-replace syntax
Mark Stosberg <[EMAIL PROTECTED]>**20080101200447] 
[simplify (and debug) pending handling.
David Roundy <[EMAIL PROTECTED]>**20071227133618
 Note that this change could lead to performance regressions, but I believe
 that these regressions would be strongly bounded (never worse than a
 whatsnew), and this simplification makes the code much easier to safely
 modify.
] 
[make updating of pending on pull much more efficient.
David Roundy <[EMAIL PROTECTED]>**20071224131059] 
[simplify a bit of code.
David Roundy <[EMAIL PROTECTED]>**20071224131023] 
[fix type-witness bug in HopefullyPrivate.
David Roundy <[EMAIL PROTECTED]>**20071223141149] 
[simplify Get
David Roundy <[EMAIL PROTECTED]>**20071223025108] 
[simplify tentativelyAddPatch by removing unused return value.
David Roundy <[EMAIL PROTECTED]>**20071223024400] 
[simplify away np2prims and nps2prims.
David Roundy <[EMAIL PROTECTED]>**20071223022145] 
[try to avoid rewriting patches that we've just read.
David Roundy <[EMAIL PROTECTED]>**20071222190029] 
[generalize CommandsAux utility functions.
David Roundy <[EMAIL PROTECTED]>**20071222162952] 
[add new instances for PatchInfoAnd.
David Roundy <[EMAIL PROTECTED]>**20071222144439] 
[change tentativelyAddPatch to accept a PatchInfoAnd p.
David Roundy <[EMAIL PROTECTED]>**20071222140517] 
[internal prepration for optimization saving patch writing.
David Roundy <[EMAIL PROTECTED]>**20071222134834] 
[add changelog entry.
David Roundy <[EMAIL PROTECTED]>**20071219162646] 
[add fixme indicating where the code could be simplified.
David Roundy <[EMAIL PROTECTED]>**20071221135649] 
[make reading of hashed inventories lazier.
David Roundy <[EMAIL PROTECTED]>**20071221133453] 
[resolve conflicts in mv_and_remove_tests.sh.
David Roundy <[EMAIL PROTECTED]>**20071219144638] 
[Fix !(...|...) in mv_and_remove_tests.sh.
Dave Love <[EMAIL PROTECTED]>**20071218001826
 Assume the original construct should have been `! ... | ...' and
 replace with a portable version of that.
] 
[[issue571] Redo last HAVE_TERMIO_H fix.
Dave Love <[EMAIL PROTECTED]>**20071218140508
 Not the most direct fix, but simpler.
] 
[Fix configure test for gadt type witnesses.
Dave Love <[EMAIL PROTECTED]>**20071218120139] 
[use --ignore-times in all tests.
David Roundy <[EMAIL PROTECTED]>**20071217225159
 This is because the hashed repository is a bit pickier, in that
 it no longer checks file lengths when the file modification times
 match.
] 
[enable modification time checking on hashed repositories.
David Roundy <[EMAIL PROTECTED]>**20071217220237] 
[Pass two args to `cmp' in tests, following POSIX.
Dave Love <[EMAIL PROTECTED]>**20071216180503
 Fixes some failures on Solaris.
] 
[resolve silly conflict with myself.
David Roundy <[EMAIL PROTECTED]>**20071217200855] 
[clean up SelectChanges (eliminating Bools)
David Roundy <[EMAIL PROTECTED]>**20071217191809] 
[make a few more files compile with type witnesses.
David Roundy <[EMAIL PROTECTED]>**20071217183234] 
[fix bug in revert (in writing the unrevert file).
David Roundy <[EMAIL PROTECTED]>**20071216215225] 
[make a few more files compile with type witnesses.
David Roundy <[EMAIL PROTECTED]>**20071217164815] 
[remove tabs.
David Roundy <[EMAIL PROTECTED]>**20071216224617] 
[bump version number preemptively to 2.0.0pre3.
David Roundy <[EMAIL PROTECTED]>**20071216222823] 
[fix doc bug in show contents.
David Roundy <[EMAIL PROTECTED]>**20071216214002] 
[TAG 2.0.0pre2
David Roundy <[EMAIL PROTECTED]>**20071216201647] 
Patch bundle hash:
21103e27d8f62013e8edc04c5a9a2ed8c3ce386e
_______________________________________________
darcs-devel mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-devel

Reply via email to