diff options
| author | Joey Hess <joeyh@joeyh.name> | 2018-01-04 14:48:26 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2018-01-04 14:48:26 -0400 |
| commit | adc4e56b4e745bf93b17537a777f60e3113a878c (patch) | |
| tree | fb5e0a218f66466d113c3a0483591e2ccb8553ea | |
| parent | 8fd00d35f6d6691da6fabd37d1f3a88d588239d3 (diff) | |
skip update warning when there's a remote named "upstream"
| -rw-r--r-- | src/Propellor/DotDir.hs | 9 | ||||
| -rw-r--r-- | src/Propellor/Git.hs | 7 |
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" |
