Skip "HEAD is now at HASH" messages
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
With a `source-repository-package`, it takes three `cabal build` cycles for the related messages to settle down and this can be a time drain to watch and wait for if some of those packages are big, like amazonka, or if a project has many source repository packages:
1. Verbose download
2. OK acknowledging the hash
3. All good
```
$ cabal build all --enable-tests --enable-benchmarks
Cloning into '/.../dist-newstyle/src/monad-log_-b6a715dfba45a322'...
remote: Enumerating objects: 1376, done.
remote: Counting objects: 100% (336/336), done.
remote: Compressing objects: 100% (130/130), done.
remote: Total 1376 (delta 167), reused 301 (delta 151), pack-reused 1040
Receiving objects: 100% (1376/1376), 187.04 KiB | 3.34 MiB/s, done.
Resolving deltas: 100% (701/701), done.
HEAD is now at bfaad47 monad-logger-aeson-0.4.0.2
...
$ cabal build all --enable-tests --enable-benchmarks
HEAD is now at bfaad47 monad-logger-aeson-0.4.0.2
Up to date
$ cabal build all --enable-tests --enable-benchmarks
Up to date
```
**Expected behavior**
I suggest that after step 1 we skip step and don't mention the hashes if they've not changed.
**Anxiety trigger**
As I'm watching the first verbose message, I see hashes that don't match. Should I care?
```diff
- monad-log_-b6a715dfba45a322
+ bfaad47 monad-logger-aeson-0.4.0.2
```
**Reproduction**
The `source-repository-package` of this example:
```cabal
source-repository-package
type: git
location: https://github.com/jship/monad-logger-aeson.git
tag: bfaad47420dc90e3237cffc718d0b0257cf7c807
subdir:
monad-logger-aeson
```
Contributor guide
Research direction
Use cabal build with the provided source-repository-package reproduction and inspect the source-repository-package checkout or update path that emits “HEAD is now at ...”. Confirm that an unchanged hash is not printed on later builds while the initial clone output and “Up to date” behavior remain correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, haskell
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100