6 ms·
The new X-Men movie explained in Git
- potench 12y agoI think you should mention that 1973 wolverine enlists young punk Quicksilver (1000x developer) who force pushes a ton of undocumented, yet amazing, features with little to no commit messages, then sadly disappears.
- quiesce 12y agoAlternatively: Git/version control explained in terms of time travel.
- hpvic03 12y agoThat is also accurate.
- maurobaraldi 12y agoEasy to explain cronology of new X-Men movie. I want to see you do the same with Primer!
- progx 12y agoWrong title, "Git explained in the new X-Men movie" ;-)
- rog3r 12y agowibbly wobbly timey commit.
- mnw21cam 12y agoDo you mean timey wimey? <shudder>
- Roboprog 12y agoWhere did Torvalds get that screwdriver?!?
- stcredzero 12y agoSomeone should name a tool timey wimey.
- gghh 12y agoI was expecting the picture of a shiny directed acyclic graph, what a let down
- Roboprog 12y agoWhat, we didn't get to use git annotate? I guess we don't want to go assigning blame in such a complicated situation :-)
- smallegan 12y agoThis had the exact opposite effect on me of further explaining some Git features via the X-Men movie!
- stcredzero 12y agoEllen Page actually played Gitty Pryde.
- peterkelly 12y agoExcept you've thrown away everything that's happened since 1973, some of which you may still want. There's going to be a lot of awful lot of manual conflict resolution to handle - or is there a "world" script that can be run off the new HEAD that plays out the series of events that result from the sentinels being prevented?
- hpvic03 12y agoI suppose that's true. Maybe the desired commits could be cherry picked onto the branch before you make the branch into master.
- btown 12y agoThe problem is that the software architects didn't separate concerns very well in architecting the World system. So subtle bug fixes could have unexpected consequences if they were just cherry-picked in!
- stcredzero 12y agoThe world is made of unexpected consequences.
- rjvir 12y agoI think the idea is that you don't have access to the other timeline, because none of the characters should. All that's left of the dark timeline is in Wolverines's head, which is accounted for!
- pdmccormick 12y ago(SPOILER ALERT) To me, the beauty of the story is that, while we as viewers do not know what has transpired in the universe between 1973 and present, neither does Wolverine. Further, since he stills ends up at the School with his friends alive in the present day, we know that a lot of character development has necessarily happened, because we saw analogous stories in the earlier movies from the now lost timeline. So while the events of the previous movies are now no longer canonical history, they are as real to Logan as they were to us, and their emotional impact still affected Logan's life in a very real way. Meanwhile, going forward the script writers are no longer slaves to continuity, which, after the third film blew up everything, greatly restricted what they could do with the main cast of characters in the present day setting. In my opinion, so many "time reset" plots (think Star Trek Voyager's Year of Hell) leave the viewer empty because they truly have no lasting consequence on the character's we love. SF Debris (http://blip.tv/sf-debris-opinionated-reviews/voy-year-of-hell-review-part-1-6469092 http://blip.tv/sf-debris-opinionated-reviews/voy-year-of-hel...) made the incredible suggestion that, in that Star Trek story, imagine what if, due to some kind of quantum chronometric mumbo jumbo, one of the crew members (say, Harry Kim!) had survived the big reset with their memories and experiences of the year intact. But instead, apart from some shallow insights into the characters in a "what if" scenario, it was as though it never happened.
- nailer 12y agoAlso: apocalypse@eygpt$ git init touch README.md; git add README.md git commit -m 'Build Pyramids'
- kitwalker12 12y agoLOL... git remote add horseman1 git@github.horseman1/apocalypse.git git remote add horseman2 git@github.horseman2/apocalypse.git git remote add horseman3 git@github.horseman3/apocalypse.git git remote add horseman4 git@github.horseman4/apocalypse.git
- RVijay007 12y agoYou forgot the post-credit scene showing Apocalypse 5000 years ago in Egypt with his 4 horsemen! :-)
- nailer 12y agoAlso: the movie starts with a branch where nearly everyone dies, and Kitty Pride/Bishop reverts a few commits.
- hpvic03 12y agoThat's funny. My friend just told me this too -- I got to the theater about 5 minutes late.
- SergeyDruid 12y agoSo what about "Lost"?
- technoweenie 12y agoWhatever happened, happened. There's no rebasing involved. There's just a lot of jumping around to various tags at different points in time.
- lrgalego 12y agoThats the problem with Lost. They don't know how to use git.
- atommclain 12y agoI understand that this is just for fun, but wouldn't the rebase at the end require a force push to the remote?
- e12e 12y agoNice intro to (advanced) git :-) If anyone else was curious about the state of bisect in mercurial (it's been in standard mercurial for a while): http://mercurial.selenic.com/wiki/BisectExtension http://mercurial.selenic.com/wiki/BisectExtension As for git stash, the closest equivalent appear[1] to be the shelve extension (distributed with mercurial since 2.8, November 2013): http://mercurial.selenic.com/wiki/ShelveExtension http://mercurial.selenic.com/wiki/ShelveExtension However, as we'll be needing to do a bit of history editing, we might want to just go straight for the (also bundled with mercurial) queues extension: http://mercurial.selenic.com/wiki/MqExtension http://mercurial.selenic.com/wiki/MqExtension Also relevant: http://mercurial.selenic.com/wiki/EditingHistory http://mercurial.selenic.com/wiki/EditingHistory http://mercurial.selenic.com/wiki/MqTutorial http://mercurial.selenic.com/wiki/MqTutorial I'm a little tempted to redo this for mercurial, just to look at the differences -- but the first order would be to create an actual repo -- say just a file with timestamps and events: -479: Artaÿctes crucified (...) 1973: Wolverine wakes up in random bed 1973: Mystique kills Trask 1973: Mystique's DNA stolen xx: Last mutant killed by sentinel (With every commit appending one or more lines). That way we could use it as a nice way to compare work flows across scms... Who's up for doing RCS? Come to think of it, as the initial series of commits are linear, they could be specified in some linear fashion (yml maybe) -- and then replayed to create the initial "broken" state -- then one would only have to document the "fixing" part for different systems... Another alternative would be to convert (eg via mercurials git/svn plugins -- but I don't think they cover bzr, monotone and rcs...). [1] http://selenic.com/pipermail/mercurial/2011-December/041164.html http://selenic.com/pipermail/mercurial/2011-December/041164....
- collinjackson 12y agoWhy did Wolverine regain his memory in the future?
- kitwalker12 12y agoIt's probably to match with the way the comic book ends where kitty retains the memories
- EpicEng 12y agoWell, first and foremost I assume, to make for a better story. However, wolverine's consciousness was "sent back" into his alternate timeline body. At least, that's the idea.
- baddox 12y ago(In case it's not a given, spoilers for Days of Future Past below.) He didn't. He just has all his memories from the original timeline (e.g. previous X-Men and Wolverine films), plus the events he experienced during Days of Future Past. He has no memory of what happened to him between 1973 and the present in the new timeline (which he created). That's why he's surprised to see a few characters at the end of DoFP. He remembers them from the original timeline, but he also remembers them dying in the original timeline. What would be much stranger is if they had never met him in the new timelines (in which case he would remember them but they wouldn't know him), or if he had met someone in the new timeline but not the original timeline (in which case they would know him but he would have no memory of them).