I think it's most realistic to go for Darcs 2.4.0.

Wed Sep 23 23:08:11 CEST 2009  Eric Kow <[email protected]>
  * Resolve issue1583: on darcs get, suggest upgrading source repo to hashed.

New patches:

[Resolve issue1583: on darcs get, suggest upgrading source repo to hashed.
Eric Kow <[email protected]>**20090923210811
 Ignore-this: a4b801876ff76674a110f5c63388d68a
] hunk ./src/Darcs/Commands/Get.lhs 194
   putInfo $ text "Finished getting."
       where copy_repo =
                 withRepository opts $- \repository -> do
-                  if format_has HashedInventory rf || format_has HashedInventory rfsource
-                     then do debugMessage "Identifying and copying repository..."
-                             identifyRepositoryFor repository repodir >>= copyRepository
-                             when (SetScriptsExecutable `elem` opts) setScriptsExecutable
-                     else copy_repo_old_fashioned repository opts repodir
+                  let hashUs   = format_has HashedInventory rf
+                      hashThem = format_has HashedInventory rfsource
+                  case () of _ | hashUs && hashThem -> do
+                                   debugMessage "Identifying and copying repository..."
+                                   copyRepoHashed repository
+                               | hashUs -> do
+                                   putInfo $  text "Converting old-fashioned repository to hashed format..."
+                                           $$ text "*******************************************************************************"
+                                           $$ text "Fetching a hashed repository would be faster.  Perhaps you could persuade"
+                                           $$ text "the maintainer to run darcs optimize --upgrade with darcs 2.4.0 or higher?"
+                                           $$ text "*******************************************************************************"
+                                   copyRepoHashed repository
+                               | hashThem -> do
+                                   putInfo $ text "Fetching a hashed repository as an old-fashioned one..."
+                                   copyRepoHashed repository
+                               | otherwise -> copy_repo_old_fashioned repository opts repodir
+            copyRepoHashed repository =
+              do identifyRepositoryFor repository repodir >>= copyRepository
+                 when (SetScriptsExecutable `elem` opts) setScriptsExecutable
 
 make_repo_name :: [DarcsFlag] -> FilePath -> IO String
 make_repo_name (NewRepo n:_) _ =

Context:

[Resolve issue1584: Provide optimize --upgrade command.
Eric Kow <[email protected]>**20090922201149
 Ignore-this: e72ddff8c879de637e6a7dcb824624d6
 This can be used for an inplace upgrade to the latest hashed format.
 Right now it only handles old-fashioned => hashed, but there may be
 future format changes for which this can be reused.
] 
[Test for issue1584, the optimize --upgrade feature.
Eric Kow <[email protected]>**20090902060031
 Ignore-this: 5c3032156f75f224f08fa19e5311a0d3
] 
[TAG 2.3.0
Petr Rockai <[email protected]>**20090723115125
 Ignore-this: e326d4ddff92c578e8fe8a3c23d00193
] 
Patch bundle hash:
b0158f2ca80583a4d7cb1848804f9f2f98da67ad
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to