Bug 725593
Summary: | git push --quiet isn't actually quiet | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jesse Keating <jkeating> |
Component: | git | Assignee: | Todd Zullinger <tmz> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 14 | CC: | atkac, bkearney, chrisw, dcantrell, npajkovs, tmz |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | git-1.7.9.1-1.fc17 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-03-02 01:30:31 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Jesse Keating
2011-07-26 00:25:06 UTC
I just tested git-1.7.6-1.fc15 and the --quiet option works fine there. Do you really need this fixed in F14 or F15 and later is enough. Really? I tested git-1.7.6-1 on f15 and found that it prints the "Unpacking objects" just as Jesse reported. I looked for a while at the code the other day and could not come up with a fix. (At least for me, it's not trivial to follow the way things work in the push process.) [tmz@f15-64 git-test]$ mkdir /tmp/git-push-bug && cd /tmp/git-push-bug [tmz@f15-64 git-push-bug]$ git init --bare test.git Initialized empty Git repository in /tmp/git-push-bug/test.git/ [tmz@f15-64 git-push-bug]$ git clone test.git ... [tmz@f15-64 git-push-bug]$ cd test [tmz@f15-64 test]$ touch foo; git add foo; git commit -m testing ... [tmz@f15-64 test]$ git push --quiet origin master Unpacking objects: 100% (3/3), done. Running with GIT_TRACE=1, you can see a little more, but to really follow it, requires deeper debugging (I'm from the school of "add some printf's to follow the code" when it comes to C.) [tmz@f15-64 test]$ rm -rf ../test.git && git init --bare ../test.git Initialized empty Git repository in /tmp/git-push-bug/test.git/ [tmz@f15-64 test]$ GIT_TRACE=1 git push --quiet origin master trace: built-in: git 'push' '--quiet' 'origin' 'master' trace: run_command: 'git-receive-pack '\''/tmp/git-push-bug/test.git'\''' trace: exec: 'sh' '-c' 'git-receive-pack '\''/tmp/git-push-bug/test.git'\''' 'git-receive-pack '\''/tmp/git-push-bug/test.git'\''' trace: built-in: git 'receive-pack' '/tmp/git-push-bug/test.git' trace: run_command: 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' '-q' trace: exec: 'git' 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' '-q' trace: built-in: git 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' '-q' trace: run_command: 'unpack-objects' '--pack_header=2,3' trace: exec: 'git' 'unpack-objects' '--pack_header=2,3' trace: built-in: git 'unpack-objects' '--pack_header=2,3' Unpacking objects: 100% (3/3), done. trace: run_command: 'gc' '--auto' '--quiet' trace: exec: 'git' 'gc' '--auto' '--quiet' trace: built-in: git 'gc' '--auto' '--quiet' You can see that the -q option is not being passed to unpack-objects as it is to pack-objects and other subcommands. I was not able to determine where this was missing in the git code. Might be worth asking on the git list, as someone there may well know offhand. I tested git push when I pushed tigervnc changes earlier today so I might have pushed merged branch accidentally (i.e. git merge && git push --quiet) and this codepath is probably OK... Sorry for false information. I did some scratch builds with the patch that Clemens Buchacher so kindly sent to the git list¹. F15: http://koji.fedoraproject.org/koji/taskinfo?taskID=3240115 F16: http://koji.fedoraproject.org/koji/taskinfo?taskID=3240103 This fixes the issue for me, but it wouldn't hurt to have more testing to make sure it doesn't have any adverse side-effects. ¹ http://article.gmane.org/gmane.comp.version-control.git/178190 git-1.7.6-5.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/git-1.7.6-5.fc16 Package git-1.7.6-5.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing git-1.7.6-5.fc16' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/git-1.7.6-5.fc16 then log in and leave karma (feedback). git-1.7.6-5.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. Unfortunately, the fix had an unseen regression. When push --quiet was used and the remote end was an older version, the remote end hung up. This change was released upstream in 1.7.6.1 and reverted in 1.7.6.2. I've pushed 1.7.6.2 into testing. We'll have to revisit this when a more compatible fix makes it upstream. This is discussed in more detail on the git list: http://thread.gmane.org/gmane.comp.version-control.git/180652 git-1.7.9.1-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/git-1.7.9.1-1.fc17 Package git-1.7.9.1-1.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing git-1.7.9.1-1.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-1748/git-1.7.9.1-1.fc17 then log in and leave karma (feedback). git-1.7.9.1-1.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. |