{"thread":{"id":"21640","subject":"Manipulating existing revisions by push or pull?","startedAt":"2009-11-16T21:49:10Z","lastAt":"2009-11-16T21:53:19Z","messageCount":2,"participants":["Lasse Kliemann","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"127700","messageId":"hdshcm$c06$1@ger.gmane.org","threadId":"21640","inReplyTo":null,"subject":"Manipulating existing revisions by push or pull?","fromName":"Lasse Kliemann","fromEmail":"lasse-gmane-git-2009@mail.plastictree.net","sentAt":"2009-11-16T21:49:10Z","receivedAt":"2009-11-16T21:49:10Z","isPatch":false,"sender":{"key":"lasse-gmane-git-2009@mail.plastictree.net","avatar":null},"body":"I've got a conceptual question.\n\nI know that one can change history in a local repository with the \n'rebase' command, e.g., using the interactive mode. \n\nIs there any way to modify existing revisions in a local \nrepository by a pull (and merge, whatever) from a remote one? Or \nis there any way to modify existing revisions in a remote \nrepository by a push (or whatever) from a local one?\n\nPut a different way: consider there is a hostile entity from \nwhich I pull or which I allow to push to me. Can this entity \nfiddle with my history? Can it change the data in existing \nrevisions in my repository? Or can it only make new revisions \ngrow on my side?\n\nThank you\nLasse\n"},{"id":"127701","messageId":"7vd43innlc.fsf@alter.siamese.dyndns.org","threadId":"21640","inReplyTo":"hdshcm$c06$1@ger.gmane.org","subject":"Re: Manipulating existing revisions by push or pull?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-11-16T21:53:19Z","receivedAt":"2009-11-16T21:53:19Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Lasse Kliemann\" <lasse-gmane-git-2009@mail.plastictree.net> writes:\n\n> Put a different way: consider there is a hostile entity from \n> which I pull or which I allow to push to me. Can this entity \n> fiddle with my history? Can it change the data in existing \n> revisions in my repository? Or can it only make new revisions \n> grow on my side?\n\nIf you allow your ref to get updated to an arbitrary value, you are lost,\nunless you have signed tags that anchor things in place, in which case you\ncan trust the part of history that is reachable from them.\n"}]}