@@ -31,6 +31,7 @@ import qualified Data.ByteString.Lazy as BSL
3131import qualified Data.ByteString.Search as BSS
3232import Data.Char (isSpace )
3333import Data.Foldable (toList )
34+ import Data.Function.Compat (applyWhen )
3435import qualified Data.List as List
3536import Data.Maybe
3637import Data.Time.Clock.POSIX (getPOSIXTime )
@@ -735,18 +736,18 @@ mainWithOptions Options {..} = do
735736 putStrLn $ " Using Hackage credentials for username " ++ show username
736737
737738 forM_ optPsCFiles $ \ fn -> do
738- (pkgn,pkgv,xrev) <- pkgDescToPkgIdXrev <$> C. readGenericPackageDescription C. deafening fn
739+ (pkgn, pkgv, xrev0) <- pkgDescToPkgIdXrev <$> C. readGenericPackageDescription C. deafening fn
740+ let xrev = applyWhen optPsCIncrRev (+ 1 ) xrev0
741+
739742 putStrLn $ concat [ " Pushing " , show fn
740743 , " (" , BS8. unpack pkgn, " -" , BS8. unpack pkgv, " ~" , show xrev, " )"
741744 , if not optPsCPublish then " [review-mode]" else " " , " ..."
742745 ]
743746
744- let editCab | optPsCIncrRev = cabalEditXRev (xrev+ 1 )
745- | otherwise = id
746-
747- rawcab <- editCab <$> BS. readFile fn
748- (dt,tmp) <- timeIt $ runHConn (hackagePostCabal (username,password) (pkgn,pkgv) rawcab
749- (if optPsCPublish then WetRun else DryRun ))
747+ rawcab <- applyWhen optPsCIncrRev (cabalEditXRev xrev) <$> BS. readFile fn
748+ (dt, tmp) <- timeIt $ runHConn $
749+ hackagePostCabal (username, password) (pkgn, pkgv) rawcab $
750+ if optPsCPublish then WetRun else DryRun
750751
751752 printf " Hackage response was (after %.3f secs):\n " dt
752753 putStrLn (replicate 80 ' =' )
0 commit comments