Как известно, явные зависимости патчей могут быть записаны darcs record --ask-deps
. (Использование, которое я вижу для этого, предотвращает ситуации, когда «It's easy to move a patch that uses a feature to a point before the feature is introduced.».)Как проверить явные зависимости патча в darcs?
Итак, имея репо, где я должен был делать такие отпечатки, я хочу проверить, правда ли это. Как проверить записанные явные зависимости выбранного патча?
Google может найти мне код в Darcs/UI/Commands/Rebase.hs
, который печатает предупреждение, если у патча были такие отпечатки, но я еще не знаю, есть ли автономная команда, которая просто предоставила бы эту информацию (не связанная с действием):
where doAdd :: (RepoPatch p, ApplyState p ~ Tree)
=> Repository (Rebasing p) wR wU wT
-> FL (WDDNamed p) wT wT2
-> HijackT IO (Repository (Rebasing p) wR wU wT2, FL (RebaseName p) wT2 wT2)
doAdd repo NilFL = return (repo, NilFL)
doAdd repo ((p :: WDDNamed p wT wU) :>:ps) = do
case wddDependedOn p of
[] -> return()
deps -> liftIO $ do
-- It might make sense to only print out this message once, but we might find
-- that the dropped dependencies are interspersed with other output,
-- e.g. if running with --ask-deps
putStr $ "Warning: dropping the following explicit "
++ englishNum (length deps) (Noun "dependency") ":\n\n"
let printIndented n =
mapM_ (putStrLn . (replicate n ' '++)) . lines .
renderString Encode . showPatchInfo
putStrLn . renderString Encode . showPatchInfo .
patch2patchinfo $ wddPatch p
putStr " depended on:\n"
mapM_ (printIndented 2) deps
putStr "\n"
...
Может быть, это команда, которая выводит .dpatch
будет включать эту информацию в dpatch. Я должен проверить это сейчас.
Ни darcs log -v
(http://bugs.darcs.net/issue959) ни darcs diff
выводит эту информацию в соответствии с моими экспериментами.
Обратите внимание, что в darcs 2.12 по май 2016 года есть 'darcs show dependencies' – IARI