Hi, 

I didn't know that this was a bigger problem and thus just pushed the 
previous commits again, in case of the jacoco-plugin repo it was easy as I 
just committed changes yesterday and thus could easily push the latest 
changes together with the missing commits. 

The really bad thing in my view is that as a user of the repo you do not 
see at all that it happened. Git and Github is all about history of 
changes, but in this case your repo looks like a month ago with no visible 
trace on github that something newer was there at some time... Quite 
dangerous....

Dominik.

On Sunday, November 10, 2013 10:40:28 PM UTC+1, lucamilanesio wrote:
>
> That's really pitty :-( ... force push are dangerous, especially if you 
> don't have control over the Git Server.
>
> Typically recovering a force push is straightforward:
> 1. git reflog > look at the SHA-1 before the forced push
> 2. git branch -f <name> <sha-1>
>
> But if you don't have control over the Git repo on the Server, that you 
> need to prevent force push to happen: unless they want everyone to buy GH 
> Enterprise !
>
> I still hope GitHub will do 1. and 2. for us :-)
>
> Luca.
>
> On 10 Nov 2013, at 19:52, Marcus Bauer <[email protected] <javascript:>> 
> wrote:
>
> Hi,
>
> I don't think GitHub.com has any possibilities for disabling force 
> pushes, this seems to be exclusive to GH 
> Enterprise<https://enterprise.github.com/help/articles/disable-force-pushes>
>  only.
>
> The JaCoCo repo where I initially noticed this was restored by Dominik 
> Stadler (centic9) few minutes ago.
>
> Marcus
>
> Am Sonntag, 10. November 2013 19:55:08 UTC+1 schrieb lucamilanesio:
>>
>> Hi all,
>> I have triggered an involuntary "forced push" last night on the list of 
>> Jenkins-CI plugins indicated below in this e-mail.
>>
>> *My apology *
>>
>> I did not realise that I actually had forced push permissions and I do 
>> apologise for the inconvenience caused.
>> The operations pushed back the all the branches to around 1 month. The 
>> history is not lost and is still on the GitHub server but on detached 
>> branches.
>>
>> *The solution*
>>
>> I can raise a request to GitHub to provide the "reflog" of those 
>> repositories and restore the branches to the point before my forced push.
>> *Alternatively the owners of those repositories can still perform a 
>> "forced push" to restore the correct position of the branches.*
>> (if you would like to do so, *please write to the mailing list so that 
>> we do not overlap the recovery operations*)
>>
>> *The full list*
>>
>> See below the full list of repositories impacted:
>>
>> antexec-plugin.git
>> artifactory-plugin.git
>> associated-files-plugin.git
>> audit2db-plugin.git
>> audit-trail-plugin.git
>> backend-pull-request-greeter.git
>> beaker-builder-plugin.git
>> branch-api-plugin.git
>> build-flow-plugin.git
>> buildgraph-view.git
>> build-pipeline-plugin.git
>> build-timeout-plugin.git
>> buildtriggerbadge-plugin.git
>> bytecode-compatibility-transformer.git
>> ci-game-plugin.git
>> clearcase-plugin.git
>> clearcase-ucm-plugin.git
>> cloudbees-folder-plugin.git
>> cloudbees-plugin-gateway.git
>> cloudtest-plugin.git
>> clover-plugin.git
>> cobertura-plugin.git
>> collabnet-plugin.git
>> collapsing-console-sections-plugin.git
>> compact-columns-plugin.git
>> compress-artifacts-plugin.git
>> conditional-buildstep-plugin.git
>> config-file-provider-plugin.git
>> configurationslicing-plugin.git
>> copyartifact-plugin.git
>> copy-project-link-plugin.git
>> copy-to-slave-plugin.git
>> cppcheck-plugin.git
>> credentials-plugin.git
>> crowd2-plugin.git
>> crowd-plugin.git
>> customtools-plugin.git
>> cvsclient.git
>> cvs-plugin.git
>> dashboard-view-plugin.git
>> datical-db-plugin.git
>> dependency-check-plugin.git
>> deploy-plugin.git
>> disable-failed-job-plugin.git
>> disk-usage-plugin.git
>> doclinks-plugin.git
>> dry-plugin.git
>> dynamic-axis-plugin.git
>> ec2-plugin.git
>> elastic-axis-plugin.git
>> email-ext-plugin.git
>> envinject-lib.git
>> envinject-plugin.git
>> extended-choice-parameter-plugin.git
>> extra-columns-plugin.git
>> extras-executable-war.git
>> extreme-feedback-plugin.git
>> gearman-plugin.git
>> gerrit-trigger-plugin.git
>> gitbucket-plugin.git
>> git-chooser-alternative-plugin.git
>> git-client-plugin.git
>> git-plugin.git
>> global-build-stats-plugin.git
>> global-variable-string-parameter-plugin.git
>> gradle-jpi-plugin.git
>> grails-plugin.git
>> greenballs-plugin.git
>> groovy-postbuild-plugin.git
>> heavy-job-plugin.git
>> hockeyapp-plugin.git
>> http-request-plugin.git
>> humbug-plugin.git
>> instant-messaging-plugin.git
>> integrity-plugin.git
>> ironmq-notifier-plugin.git
>> ivytrigger-plugin.git
>> jacoco-plugin.git
>> jclouds-plugin.git
>> jira-plugin.git
>> jobConfigHistory-plugin.git
>> job-dsl-plugin.git
>> job-import-plugin.git
>> job-poll-action-plugin.git
>> jquery-plugin.git
>> jquery-ui-plugin.git
>> json-lib.git
>> kiuwan-plugin.git
>> label-verifier-plugin.git
>> ldap-plugin.git
>> leiningen-plugin.git
>> lib-annotation-indexer.git
>> lib-task-reactor.git
>> lib-windows-remote-command.git
>> literate-cli.git
>> logfilesizechecker-plugin.git
>> m2release-plugin.git
>> m2-repo-reaper-plugin.git
>> mailer-plugin.git
>> matrix-auth-plugin.git
>> maven-hpi-plugin.git
>> maven-info-plugin.git
>> mercurial-plugin.git
>> mesos-plugin.git
>> metadata-plugin.git
>> mock-security-realm-plugin.git
>> msbuild-plugin.git
>> naginator-plugin.git
>> nerrvana-plugin.git
>> nested-view-plugin.git
>> next-build-number-plugin.git
>> next-executions-plugin.git
>> parameterized-trigger-plugin.git
>> perforce-plugin.git
>> performance-plugin.git
>> persona-plugin.git
>> pitmutation-plugin.git
>> plain-credentials-plugin.git
>> plugin-compat-tester.git
>> postbuildscript-plugin.git
>> promoted-builds-plugin.git
>> prqa-plugin.git
>> publish-over-cifs-plugin.git
>> puppet-jenkins.git
>> radiatorview-plugin.git
>> rapiddeploy-plugin.git
>> release-plugin.git
>> repo-plugin.git
>> rich-text-publisher-plugin.git
>> robot-plugin.git
>> run-condition-plugin.git
>> rvm-plugin.git
>> scm2job-plugin.git
>> scm-api-plugin.git
>> scoring-load-balancer-plugin.git
>> script-scm-plugin.git
>> selenium-axis-plugin.git
>> selenium-builder-plugin.git
>> selenium-tests.git
>> skype-im-plugin.git
>> skytap-cloud-plugin.git
>> smartfrog-plugin.git
>> sms-plugin.git
>> sounds-plugin.git
>> ssh-agent-plugin.git
>> ssh-credentials-plugin.git
>> sshd-module.git
>> ssh-slaves-plugin.git
>> starteam-plugin.git
>> stashnotifier-plugin.git
>> subversion-plugin.git
>> suppress-stack-trace-plugin.git
>> swarm-plugin.git
>> synergy_scm-plugin.git
>> tap-plugin.git
>> teamconcert-plugin.git
>> testlink-plugin.git
>> tfs-plugin.git
>> thin-backup-plugin.git
>> throttle-concurrent-builds-plugin.git
>> tikal-multijob-plugin.git
>> timestamper-plugin.git
>> token-macro-plugin.git
>> transifex-plugin.git
>> translation-plugin.git
>> trilead-ssh2.git
>> unity3d-plugin.git
>> veracode-scanner-plugin.git
>> view-job-filters-plugin.git
>> virtualbox-plugin.git
>> vsphere-cloud-plugin.git
>> vstestrunner-plugin.git
>> walldisplay-plugin.git
>> warnings-plugin.git
>> weblogic-deployer-plugin.git
>> winstone.git
>> wix-plugin.git
>> ws-cleanup-plugin.git
>> xcode-plugin.git
>> xstream.git
>> xtrigger-lib.git
>> xunit-plugin.git
>> xvfb-plugin.git
>> xvnc-plugin.git
>>
>> *The prevention*
>>
>> Can we prevent this to happen again ?
>> I personally do not work on any of those repositories but still have 
>> "forced push" permissions ... and so many other people have.
>> I don't see the value of having such power of "potential disruption" 
>> associated to my account :-( ... can we remove the forced push by default 
>> and enable on a case-by-case basis ?
>>
>> --- * ---
>>
>> If you would like to propose an alternative approach to resolve the 
>> problem, feel free to follow-up !
>>
>> ... and again ... accept my sincere apologies :-(
>>
>> Luca.
>>
>> On 10 Nov 2013, at 18:24, Arnaud Héritier <[email protected]> wrote:
>>
>> I confirm we lost many commits. damned github that doesn't allow to 
>> disable the history rewrite at least on master branch. 
>> Last commit on Xcode repo is referencing one done by Jerome Lacoste 5 
>> montages ago while KK worked on it recently. 
>> I don't know how we can restore everything easily. We need to find the 
>> recent hash and relative history in a clone we the push of yesterday was 
>> retrieved. 
>>
>>  —
>> Sent from Mailbox <https://www.dropbox.com/mailbox> for iPhone
>>
>>
>> On Sun, Nov 10, 2013 at 5:51 PM, domi <[email protected]> wrote:
>>
>>> As I don’t know if Luca is following this list too, I’m adding Lucas 
>>> mail on the to list… (got the email address from his GitHub account)
>>> Please Luca can you explain what you have done to all this repositories?
>>> regards Domi
>>>
>>>
>>> On 10.11.2013, at 17:25, ogondza <[email protected]> wrote:
>>>
>>>  Definitely related, selenium-tests repo lost 17+ commits after such 
>>> push.
>>>
>>>>  
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Jenkins Developers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>  
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Jenkins Developers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>
>>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to