summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoey Hess2018-01-04 14:48:26 -0400
committerJoey Hess2018-01-04 14:48:26 -0400
commitadc4e56b4e745bf93b17537a777f60e3113a878c (patch)
treefb5e0a218f66466d113c3a0483591e2ccb8553ea /src
parent8fd00d35f6d6691da6fabd37d1f3a88d588239d3 (diff)
skip update warning when there's a remote named "upstream"
Diffstat (limited to 'src')
-rw-r--r--src/Propellor/DotDir.hs9
-rw-r--r--src/Propellor/Git.hs7
2 files changed, 10 insertions, 6 deletions
diff --git a/src/Propellor/DotDir.hs b/src/Propellor/DotDir.hs
index 200625e8..f62b38f8 100644
--- a/src/Propellor/DotDir.hs
+++ b/src/Propellor/DotDir.hs
@@ -379,8 +379,8 @@ checkRepoUpToDate = whenM (gitbundleavail <&&> dotpropellorpopulated) $ do
-- 1 commit. So, trying to merge with it will result in lots of merge
-- conflicts, since git cannot find a common parent commit.
--
--- Instead, the upstream/master branch is updated by taking the
--- upstream/master branch (which must be an old version of propellor,
+-- Instead, the new upstream/master branch is updated by taking the
+-- current upstream/master branch (which must be an old version of propellor,
-- as distributed), and diffing from it to the current origin/master,
-- and committing the result. This is done in a temporary clone of the
-- repository, giving it a new master branch. That new branch is fetched
@@ -388,9 +388,10 @@ checkRepoUpToDate = whenM (gitbundleavail <&&> dotpropellorpopulated) $ do
-- yielding a new upstream/master branch.
--
-- If there's no upstream/master, the user is not using the distrepo,
--- so does nothing.
+-- so do nothing. And, if there's a remote named "upstream", the user
+-- must have set that up is not using the distrepo, so do nothing.
updateUpstreamMaster :: String -> IO ()
-updateUpstreamMaster newref = do
+updateUpstreamMaster newref = unlessM (hasRemote "upstream") $ do
changeWorkingDirectory =<< dotPropellor
go =<< catchMaybeIO getoldrev
where
diff --git a/src/Propellor/Git.hs b/src/Propellor/Git.hs
index 1d81c157..10b88ddd 100644
--- a/src/Propellor/Git.hs
+++ b/src/Propellor/Git.hs
@@ -23,9 +23,12 @@ getCurrentGitSha1 branchref = takeWhile (/= '\n')
<$> readProcess "git" ["show-ref", "--hash", branchref]
hasOrigin :: IO Bool
-hasOrigin = catchDefaultIO False $ do
+hasOrigin = hasRemote "origin"
+
+hasRemote :: String -> IO Bool
+hasRemote remotename = catchDefaultIO False $ do
rs <- lines <$> readProcess "git" ["remote"]
- return $ "origin" `elem` rs
+ return $ remotename `elem` rs
hasGitRepo :: IO Bool
hasGitRepo = doesFileExist ".git/HEAD"