Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- This file: -- http://anggtwu.net/SUBTITLES/2024-eev-git.lua.html -- http://anggtwu.net/SUBTITLES/2024-eev-git.lua -- (find-angg "SUBTITLES/2024-eev-git.lua") -- Author: Eduardo Ochs <eduardoochs@gmail.com> -- -- (defun l () (interactive) (find-angg "SUBTITLES/2024-eev-git.lua")) -- (defun b () (interactive) (find-TH "2024-eev-git")) -- (defun p () (interactive) (find-TH "2023-eev-git")) -- (defun R () (interactive) (ee-recompile-SUBTITLES-0)) -- (defun r () (interactive) (ee-recompile-SUBTITLES-3)) -- (defun r () (interactive) (ee-recompile-SUBTITLES-1)) -- (define-key eev-mode-map (kbd "M-r") 'r) -- -- Skel: (find-subs-links "2024git") -- Old: (find-editeevsubtitles-links-1 "2024git") -- (find-efunction 'find-editeevsubtitles-links-1) -- Yttr: (find-yttranscript-links "2024git" "lsVvokjqMY0") -- Info: (find-1stclassvideo-links "2024git") -- Play: (find-2024gitvideo "0:00") -- -- I use the code below to generate the subtitles in .vtt. -- ee_dofile "~/LUA/Subtitles.lua" -- (find-angg "LUA/Subtitles.lua") --[[ -- (find-angg "LUA/Subtitles.lua") ** Run the .lua and tell it to ** write the .vtt - by default in /tmp/ * * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile "2024-eev-git.lua" sts = Subtitles.fromsexps(subs_bigstr):addtime("33:35") -- sts.lang = "pt-BR" = sts outfname = "$S/http/anggtwu.net/eev-videos/2024-eev-git.vtt" outfname = "/tmp/2024-eev-git.vtt" out = sts:vtt().."\n\n" ee_writefile(outfname, out) -- (find-fline "/tmp/2024-eev-git.vtt") ** Test the .vtt ** (find-2024gitvideo "0:00") ** Select /tmp/ or ee-eevvideosdir ** (find-eevvideosfile "") ** (find-eevvideosfile "" "2024-eev-git.mp4") ** (find-eevvideossh0 "cp -v 2024-eev-git.mp4 /tmp/") ** (code-video "2024gitvideo" "/tmp/2024-eev-git.mp4") ** (code-video "2024gitvideo" "$S/http/anggtwu.net/eev-videos/2024-eev-git.mp4") ** (find-2024gitvideo "0:00") ** Upload the 2024-eev-git.vtt ** to http://anggtwu.net/eev-videos/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/ scp 2024-eev-git.vtt $LINP/eev-videos/ scp 2024-eev-git.vtt $LINS/eev-videos/ Scp-np 2024-eev-git.vtt $TWUP/eev-videos/ Scp-np 2024-eev-git.vtt $TWUS/eev-videos/ ** Upload the subtitles to youtube ** http://www.youtube.com/watch?v=lsVvokjqMY0 ** Check that the "psne subtitles" thing works ** (find-1stclassvideo-links "2024git") --]] --[[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile "2024-eev-git.lua" for li in subs_bigstr:gmatch("([^\n]+)") do local time,text = li:match('^.-"(.-)".-"(.*)"%)$') text = text:gsub("\\(.)", "%1") if time then print(" "..time.." "..text) end end --]] subs_bigstr = [==[ Introduction % (find-2024gitvideo "00:00" "Hi! My name is Eduardo Ochs, and the title of this") % (find-2024gitvideo "00:03" "video is \"Learning git with `try it!'s (and eev)\".") % (find-2024gitvideo "00:07" "I'm the author of an Emacs package called") % (find-2024gitvideo "00:09" "eev, that most people find hard to") % (find-2024gitvideo "00:12" "understand, but its tutorials have") % (find-2024gitvideo "00:16" "lots of things to try, and") % (find-2024gitvideo "00:18" "lots of examples, and when people start") % (find-2024gitvideo "00:21" "running the examples they...") % (find-2024gitvideo "00:24" "sometimes they feel that everything") % (find-2024gitvideo "00:27" "makes sense. Whatever...") % (find-2024gitvideo "00:28" "Let me start with a bit of") % (find-2024gitvideo "00:31" "context. A few weeks ago, in December") % (find-2024gitvideo "00:34" "of 2023, something broke in the scripts") % (find-2024gitvideo "00:37" "that I use to update the") % (find-2024gitvideo "00:39" "git repository of eev, and the parts") % (find-2024gitvideo "00:42" "that kept the two branches of eev") % (find-2024gitvideo "00:44" "in sync stopped working - and I had to") % (find-2024gitvideo "00:47" "merge the two branches many times.") % (find-2024gitvideo "00:50" "I'm very bad with merging... each merge") % (find-2024gitvideo "00:53" "took me hours and put me in panic - I ") % (find-2024gitvideo "00:58" "was very afraid of doing wrong things") % (find-2024gitvideo "01:01" "that I wouldn't be able to undo later...") % (find-2024gitvideo "01:03" "by the way, I'm very bad with git...") % (find-2024gitvideo "01:07" "and I'm good with programs that") % (find-2024gitvideo "01:10" "let me do small reproducible tests...") % (find-2024gitvideo "01:13" "preferably in REPLs.") % (find-2024gitvideo "01:18" "A few years ago I tried to") % (find-2024gitvideo "01:20" "create a way to learn git using REPLs and") % (find-2024gitvideo "01:24" "reproducible tests, and I felt that it") % (find-2024gitvideo "01:27" "was time to work on that again.") The animation % (find-2024gitvideo "01:30" "And by the way, about this figure here...") % (find-2024gitvideo "01:34" "my presentation at the last EmacsConf, the") % (find-2024gitvideo "01:37" "EmacsConf 2023, was called \"REPLs in strange") % (find-2024gitvideo "01:41" "places: Lua, LaTeX, LPeg, LPegRex and TikZ\",") % (find-2024gitvideo "01:45" "and this figure here is part of an") % (find-2024gitvideo "01:48" "animation that I did using these") % (find-2024gitvideo "01:52" "techniques, and TikZ...") % (find-2024gitvideo "01:53" "and the full animation is here and") % (find-2024gitvideo "01:56" "it shows how we can create a complex git") % (find-2024gitvideo "01:59" "repository") % (find-2024gitvideo "02:00" "with several") % (find-2024gitvideo "02:02" "branches and with a merge here...") % (find-2024gitvideo "02:06" "step by step. So, these things show") % (find-2024gitvideo "02:10" "the names of the commits, the graph") % (find-2024gitvideo "02:13" "of the commits, the branches, how") % (find-2024gitvideo "02:17" "the branches move from one commit to") % (find-2024gitvideo "02:20" "another one... the red dot here is the HEAD...") % (find-2024gitvideo "02:28" "whatever. Anyway the focus of this") % (find-2024gitvideo "02:31" "presentation is on the \"try it!\"s.") % (find-2024gitvideo "02:34" "Let me run this thing here to") % (find-2024gitvideo "02:37" "activate screenkey... so now people") % (find-2024gitvideo "02:41" "can see the keys that I'm typing...") % (find-2024gitvideo "02:45" "and let me show the \"try it\"s. Note that I") % (find-2024gitvideo "02:48" "have eev installed, and I have this") % (find-2024gitvideo "02:51" "indication here that eev-mode is active...") % (find-2024gitvideo "02:54" "if we click on that with mouse-2 it") % (find-2024gitvideo "02:58" "shows the main keys of eev...") % (find-2024gitvideo "03:03" "let's go to this sandboxed tutorial,") % (find-2024gitvideo "03:08" "that is the tutorial about git, that") % (find-2024gitvideo "03:11" "is what I'm going to show today...") % (find-2024gitvideo "03:14" "it lists some prerequisites") % (find-2024gitvideo "03:18" "here, but whatever...") % (find-2024gitvideo "03:20" "the introduction starts with") % (find-2024gitvideo "03:24" "a mention of a tutorial on git") % (find-2024gitvideo "03:27" "with a free license.") % (find-2024gitvideo "03:28" "It suggests that we download this thing here") % (find-2024gitvideo "03:33" "using brep, and") % (find-2024gitvideo "03:37" "brep is explained") % (find-2024gitvideo "03:39" "here... the idea is that we can put the") % (find-2024gitvideo "03:42" "point here, type M-x brep, and then it") % (find-2024gitvideo "03:46" "will show a temporary buffer with") % (find-2024gitvideo "03:49" "a script for downloading a") % (find-2024gitvideo "03:51" "temporary copy of this") % (find-2024gitvideo "03:54" "PDF...") % (find-2024gitvideo "03:58" "done. And and now we can execute") % (find-2024gitvideo "04:02" "these two sexps here to define short") % (find-2024gitvideo "04:07" "hyperlinks to that PDF...") % (find-2024gitvideo "04:11" "let's take a look at that PDF... note") % (find-2024gitvideo "04:15" "that it has several figures here... for") % (find-2024gitvideo "04:18" "example, this figure here that") % (find-2024gitvideo "04:20" "shows the HEAD, the circles are commit") % (find-2024gitvideo "04:24" "objects, triangles are tree objects,") % (find-2024gitvideo "04:27" "squares are blob objects...") % (find-2024gitvideo "04:30" "and then it has diagrams with") % (find-2024gitvideo "04:34" "another shape and other") % (find-2024gitvideo "04:36" "conventions, then similar diagrams but") % (find-2024gitvideo "04:40" "with a more complex structure... then") % (find-2024gitvideo "04:43" "here's another thing... so several kinds of") % (find-2024gitvideo "04:47" "diagrams, and here they even have colors!") % (find-2024gitvideo "04:50" "Anyway, let me go back...") % (find-2024gitvideo "04:54" "this is a diagram that is going") % (find-2024gitvideo "04:58" "to be very important for us. This is a") % (find-2024gitvideo "05:00" "diagram that appears in one") % (find-2024gitvideo "05:03" "document that comes with git, it's called") % (find-2024gitvideo "05:05" "gitrevisions... if I open this manpage") % (find-2024gitvideo "05:10" "here, it is") % (find-2024gitvideo "05:13" "here... note that this link here not only") % (find-2024gitvideo "05:16" "opens this manpage but also searches") % (find-2024gitvideo "05:19" "for this string in that manpage, so it") % (find-2024gitvideo "05:21" "goes straight to the middle of the manpage...") % (find-2024gitvideo "05:24" "and here the man page says: \"here is") % (find-2024gitvideo "05:28" "an illustration by John Loeliger\" - and I'm going") % (find-2024gitvideo "05:31" "to refer to this kind of diagram here as") % (find-2024gitvideo "05:34" "a \"Loeliger diagram\". This is not the official") % (find-2024gitvideo "05:37" "name, of course...") % (find-2024gitvideo "05:39" "so this is THE Loeliger diagram -") % (find-2024gitvideo "05:43" "for me it's the canonical example") % (find-2024gitvideo "05:47" "of a Loeliger diagram... and") % (find-2024gitvideo "05:51" "things that are similar to this one I") % (find-2024gitvideo "05:53" "will also call them as Loeliger diagrams...") % (find-2024gitvideo "05:57" "we saw... sorry...") % (find-2024gitvideo "06:02" "we saw here how") % (find-2024gitvideo "06:05" "this Loeliger diagram with the names") % (find-2024gitvideo "06:09" "of the branches can") % (find-2024gitvideo "06:12" "be created step by step, so this is the") % (find-2024gitvideo "06:16" "the final Loeliger diagram of a certain git") % (find-2024gitvideo "06:20" "repository, and the other Loeliger diagrams") % (find-2024gitvideo "06:24" "show intermediate steps of how to create") % (find-2024gitvideo "06:27" "a git repository with that structure.") % (find-2024gitvideo "06:42" "And in this tutorial - in this") % (find-2024gitvideo "06:46" "intro here, find-git-intro,") % (find-2024gitvideo "06:48" "I will explain a way to create") % (find-2024gitvideo "06:51" "a git repository corresponding to this") % (find-2024gitvideo "06:54" "Loeliger diagram here, and a lot more.") Try it! (No prerequisites) % (find-2024gitvideo "06:57" "Let me first show something") % (find-2024gitvideo "07:00" "that doesn't have any prerequisites - I") % (find-2024gitvideo "07:03" "mean, if you have eev installed then") % (find-2024gitvideo "07:07" "you probably know how to turn on eev-mode,") % (find-2024gitvideo "07:11" "which is this thing here... if eev-mode is") % (find-2024gitvideo "07:14" "on") % (find-2024gitvideo "07:16" "then") % (find-2024gitvideo "07:18" "f8 is going to do this: it either sends") % (find-2024gitvideo "07:21" "the current line to another Emacs buffer or") % (find-2024gitvideo "07:24" "executes the current line if it starts") % (find-2024gitvideo "07:26" "with a red star...") % (find-2024gitvideo "07:28" "my example with no") % (find-2024gitvideo "07:32" "prerequisites is in this page here...") % (find-2024gitvideo "07:36" "so here we have an animation of how") % (find-2024gitvideo "07:40" "that git repository can be constructed,") % (find-2024gitvideo "07:42" "and we here we have this block here that") % (find-2024gitvideo "07:44" "is an eepitch block. You can just copy...") % (find-2024gitvideo "07:53" "we can just copy and paste this thing") % (find-2024gitvideo "07:57" "here to an Emacs buffer,") % (find-2024gitvideo "08:00" "and if") % (find-2024gitvideo "08:03" "we execute this") % (find-2024gitvideo "08:06" "thing these bullets here behave in") % (find-2024gitvideo "08:09" "exactly the same way as the red stars, so") % (find-2024gitvideo "08:13" "if I type f8 here three times it creates") % (find-2024gitvideo "08:16" "a target buffer here running bash... note") % (find-2024gitvideo "08:20" "that it says bash here, and it says bash") % (find-2024gitvideo "08:23" "here... and now if I type f8 on the other") % (find-2024gitvideo "08:26" "lines the lines will be sent to the") % (find-2024gitvideo "08:28" "target buffer as if a user were") % (find-2024gitvideo "08:34" "typing the lines one by one.") % (find-2024gitvideo "08:37" "So here at the beginning I define") % (find-2024gitvideo "08:41" "an environment variable called N and") % (find-2024gitvideo "08:45" "several shell functions... and then here I") % (find-2024gitvideo "08:48" "initialize a git repository and then I") % (find-2024gitvideo "08:51" "give these commmands here.") % (find-2024gitvideo "08:53" "Note that the commands... they") % (find-2024gitvideo "08:57" "modify the file1 several times,") % (find-2024gitvideo "09:01" "they have several \"Commit\"s, they create") % (find-2024gitvideo "09:02" "new branches, they switch branches in") % (find-2024gitvideo "09:05" "many points... and there's this obscure") % (find-2024gitvideo "09:10" "command here, that merges two branches...") % (find-2024gitvideo "09:15" "and if we execute this sexp") % (find-2024gitvideo "09:19" "here it will show the result. The result") % (find-2024gitvideo "09:21" "is in this directory here, /tmp/eevgit-test1/,") % (find-2024gitvideo "09:24" "and this will run gitk") % (find-2024gitvideo "09:28" "on that repository with certain") % (find-2024gitvideo "09:32" "command-line options. It will show that") % (find-2024gitvideo "09:35" "the contents of that repository is this...") % (find-2024gitvideo "09:38" "this is the same tree as") % (find-2024gitvideo "09:41" "before, but displayed in a") % (find-2024gitvideo "09:45" "slightly messier way...") % (find-2024gitvideo "09:48" "So, this was the first example -") % (find-2024gitvideo "09:51" "one in which we just had to") % (find-2024gitvideo "09:55" "copy this thing here to an Emacs buffer") % (find-2024gitvideo "09:59" "and then execute this thing with f8s.") (find-git-intro) % (find-2024gitvideo "10:02" "Now let's see the examples that are in...") % (find-2024gitvideo "10:06" "in find-git-intro.") % (find-2024gitvideo "10:19" "This section 1 shows some") % (find-2024gitvideo "10:22" "preparations that we need to run.") % (find-2024gitvideo "10:26" "We need to check that we have bash, git and") % (find-2024gitvideo "10:29" "gitk installed, then we have to run") % (find-2024gitvideo "10:32" "these things here just to make sure that") % (find-2024gitvideo "10:34" "we have copies") % (find-2024gitvideo "10:36" "of two files and that the") % (find-2024gitvideo "10:40" "copies in this machine are the same") % (find-2024gitvideo "10:45" "as the upstream copies...") % (find-2024gitvideo "10:47" "after getting these two things") % (find-2024gitvideo "10:50" "we can run these things here to access") % (find-2024gitvideo "10:55" "the PDF with a flipbook animation -") % (find-2024gitvideo "10:59" "in which each page is a frame of an") % (find-2024gitvideo "11:03" "animation...") % (find-2024gitvideo "11:07" "here - by the way, if you want to") % (find-2024gitvideo "11:10" "understand what these things do") % (find-2024gitvideo "11:12" "the trick is that you just have to duplicate") % (find-2024gitvideo "11:14" "these lines and add a \"find-\" at the") % (find-2024gitvideo "11:18" "beginning of each which function name here...") % (find-2024gitvideo "11:21" "so instead of code-pdf-page and code-pdf-text") % (find-2024gitvideo "11:24" "we will have find-code-pdf-page and") % (find-2024gitvideo "11:27" "find-code-pdf-text, and if we execute") % (find-2024gitvideo "11:32" "these things here... for example this") % (find-2024gitvideo "11:35" "one... it will show us a temporary buffer") % (find-2024gitvideo "11:38" "that") % (find-2024gitvideo "11:39" "explains what this version here would do.") % (find-2024gitvideo "11:43" "So this does something but does") % (find-2024gitvideo "11:46" "not show us what it is doing, and") % (find-2024gitvideo "11:49" "this explains what this thing here does.") % (find-2024gitvideo "11:54" "We also need to run this thing") % (find-2024gitvideo "11:57" "here to access") % (find-2024gitvideo "12:00" "a local copy of my library of shell") % (find-2024gitvideo "12:04" "functions... remember that here I defined") % (find-2024gitvideo "12:08" "several shell functions and then I") % (find-2024gitvideo "12:10" "used those shell functions") % (find-2024gitvideo "12:16" "to create a certain git repository...") % (find-2024gitvideo "12:20" "now this sexp here visits") % (find-2024gitvideo "12:24" "that library of shell functions - it is") % (find-2024gitvideo "12:27" "here... here we have an") % (find-2024gitvideo "12:31" "index... here we have those shell") % (find-2024gitvideo "12:34" "functions and a few others... here we have") % (find-2024gitvideo "12:38" "basic tests that explain what are these") % (find-2024gitvideo "12:41" "basic shell functions here...") % (find-2024gitvideo "12:44" "and by the way, this thing here is something") % (find-2024gitvideo "12:48" "that is very") % (find-2024gitvideo "12:49" "interesting. It's something that I") % (find-2024gitvideo "12:51" "call a \"test block\".") % (find-2024gitvideo "12:52" "If I type M-x eeit") % (find-2024gitvideo "12:59" "this will insert a test block at") % (find-2024gitvideo "13:03" "the current point, and the syntax of the") % (find-2024gitvideo "13:07" "test block depends on the") % (find-2024gitvideo "13:09" "language that I'm using, so here") % (find-2024gitvideo "13:13" "we are editing a shell script, and a test") % (find-2024gitvideo "13:16" "block has this funny format here...") % (find-2024gitvideo "13:20" "and this thing acts as a multi-line comment.") % (find-2024gitvideo "13:24" "So for the shell this thing is a") % (find-2024gitvideo "13:28" "multi-line comment, but for me this") % (find-2024gitvideo "13:31" "thing is executable with f8s... if I put the") % (find-2024gitvideo "13:35" "point here and type f8 several times it") % (find-2024gitvideo "13:39" "runs some tests that sort of") % (find-2024gitvideo "13:45" "explain these definitions here... so here") % (find-2024gitvideo "13:49" "we have a section with basic commands") % (find-2024gitvideo "13:52" "and the tests for these basic commands...") % (find-2024gitvideo "13:56" "and then we have a section with this big") % (find-2024gitvideo "13:59" "function here, MakeTree1, and then some") % (find-2024gitvideo "14:03" "tests for MakeTree1...") % (find-2024gitvideo "14:09" "this is this tree in an ugly format.") % (find-2024gitvideo "14:17" "And note that in this test here") % (find-2024gitvideo "14:22" "we created a tree with this") % (find-2024gitvideo "14:24" "shape here, and now we have some extra") % (find-2024gitvideo "14:29" "things here... these extra things here") % (find-2024gitvideo "14:32" "are some examples of how to") % (find-2024gitvideo "14:34" "query the data structures of that") % (find-2024gitvideo "14:36" "repository. For example, if I ask git to") % (find-2024gitvideo "14:39" "\"show\" what is the HEAD, in this case it") % (find-2024gitvideo "14:42" "will show me that the HEAD is this thing") % (find-2024gitvideo "14:45" "here... is a commit with this author, this") % (find-2024gitvideo "14:47" "date, and so on... this message... and the") % (find-2024gitvideo "14:51" "contents of the commit are this thing") % (find-2024gitvideo "14:52" "here, that is being displayed as a diff") % (find-2024gitvideo "14:56" "between the repository in a certain") % (find-2024gitvideo "14:59" "moment and the repository in another") % (find-2024gitvideo "15:01" "moment. If I run this thing here... if I ask") % (find-2024gitvideo "15:06" "git to show what is the file1 in HEAD") % (find-2024gitvideo "15:10" "it shows the file in another format") % (find-2024gitvideo "15:13" "that is totally different... it's not a") % (find-2024gitvideo "15:15" "diff it's just... it looks like a") % (find-2024gitvideo "15:18" "normal file, not a diff. And I can also") % (find-2024gitvideo "15:21" "run these things here to inspect all the") % (find-2024gitvideo "15:24" "data structures...") % (find-2024gitvideo "15:26" "and these things here in") % (find-2024gitvideo "15:29" "comments are ways of accessing") % (find-2024gitvideo "15:32" "the documentation of some things") % (find-2024gitvideo "15:34" "that are here. So, for example I used") % (find-2024gitvideo "15:38" "show-ref") % (find-2024gitvideo "15:39" "here... the docs of git that come") % (find-2024gitvideo "15:44" "with Debian come in many formats, so I") % (find-2024gitvideo "15:47" "usually prefer to be able to choose") % (find-2024gitvideo "15:50" "between all formats when I want to...") % (find-2024gitvideo "15:54" "for example, to get more") % (find-2024gitvideo "15:57" "information about show-ref") % (find-2024gitvideo "15:59" "I can run this thing here, and it shows") % (find-2024gitvideo "16:03" "me ways of accessing all these") % (find-2024gitvideo "16:07" "formats - for example this thing here") % (find-2024gitvideo "16:09" "opens the manpage converted to txt,") % (find-2024gitvideo "16:14" "this thing here opens the manpage") % (find-2024gitvideo "16:17" "itself, so it has boldface, underlined,") % (find-2024gitvideo "16:20" "and so on... this thing here shows the") % (find-2024gitvideo "16:24" "on page in") % (find-2024gitvideo "16:27" "HTML...") % (find-2024gitvideo "16:30" "and this thing") % (find-2024gitvideo "16:32" "here asks git help to show me the") % (find-2024gitvideo "16:37" "help about show-ref...") % (find-2024gitvideo "16:41" "so here we have a big") % (find-2024gitvideo "16:45" "shell function, and also an export...") % (find-2024gitvideo "16:49" "and here we have the tests for this big") % (find-2024gitvideo "16:53" "shell function, and some other") % (find-2024gitvideo "16:57" "tests that I decided that this was the") % (find-2024gitvideo "17:00" "best place to put them...") % (find-2024gitvideo "17:05" "Note that") % (find-2024gitvideo "17:12" "here we just saw how to run the tests") % (find-2024gitvideo "17:16" "that are in this file here, in test") % (find-2024gitvideo "17:19" "blocks... this test here in find-git-intro") % (find-2024gitvideo "17:24" "is essentially the same thing as") % (find-2024gitvideo "17:27" "before...") % (find-2024gitvideo "17:36" "sorry, I deleted") % (find-2024gitvideo "17:40" "this") % (find-2024gitvideo "17:43" "thing... I had deleted the the") % (find-2024gitvideo "17:48" "copy of eevgitlib1.sh in /tmp/, but now") % (find-2024gitvideo "17:53" "these things are going to") % (find-2024gitvideo "17:55" "work - I hope... yes.") % (find-2024gitvideo "17:59" "So, it created that big tree...") % (find-2024gitvideo "18:04" "it shows the tree in a certain") % (find-2024gitvideo "18:07" "ugly format... now I can ask gitk to") % (find-2024gitvideo "18:11" "display that tree in another ugly") % (find-2024gitvideo "18:14" "format, but with more colors...") % (find-2024gitvideo "18:17" "here it opens my flipbook") % (find-2024gitvideo "18:22" "animation in the final page, that shows") % (find-2024gitvideo "18:24" "the tree in another") % (find-2024gitvideo "18:27" "format...") % (find-2024gitvideo "18:29" "and so this explains the first") % (find-2024gitvideo "18:33" "test... and note") % (find-2024gitvideo "18:42" "that") % (find-2024gitvideo "18:46" "this thing has several pages, and") % (find-2024gitvideo "18:51" "the pages has some labels") % (find-2024gitvideo "18:54" "here... what are these labels? Let me") % (find-2024gitvideo "18:58" "explain that - because this is something") % (find-2024gitvideo "19:01" "that I wrote a few days ago and I found") % (find-2024gitvideo "19:03" "very interesting, very useful...") % (find-2024gitvideo "19:06" "Let's go back to this file") % (find-2024gitvideo "19:11" "here with my shell functions and") % (find-2024gitvideo "19:13" "tests... note that here we have the") % (find-2024gitvideo "19:17" "index, and at this moment the final") % (find-2024gitvideo "19:21" "block") % (find-2024gitvideo "19:23" "defines things about \"Time\" that are") % (find-2024gitvideo "19:25" "commands for recording how a repository") % (find-2024gitvideo "19:28" "changes through time, it has pointers to") % (find-2024gitvideo "19:31" "the to the flipbook animation...") % (find-2024gitvideo "19:33" "and the idea is that a") % (find-2024gitvideo "19:36" "command like this one, Time 4:20, in a") % (find-2024gitvideo "19:40" "script means \"it's 4:20 now\", or \"at this") % (find-2024gitvideo "19:44" "point of the script the timestamp") % (find-2024gitvideo "19:47" "is") % (find-2024gitvideo "19:48" "4:20\"... or if we think on that as an") % (find-2024gitvideo "19:52" "action, the action means: \"take a low") % (find-2024gitvideo "19:55" "resolution picture of the git repository") % (find-2024gitvideo "19:58" "and save it in the file /tmp/eevgit_4:20\"...") % (find-2024gitvideo "20:10" "so, in this test here I will run") % (find-2024gitvideo "20:14" "something very similar") % (find-2024gitvideo "20:18" "to this big function here, that") % (find-2024gitvideo "20:21" "created this tree here...") % (find-2024gitvideo "20:26" "but now my new version of that...") % (find-2024gitvideo "20:32" "let me open the old and and the new") % (find-2024gitvideo "20:35" "versions side to side...") % (find-2024gitvideo "20:39" "the new version has more columns,") % (find-2024gitvideo "20:43" "and it has timestamps at many points...") % (find-2024gitvideo "20:46" "for example, this point here is") % (find-2024gitvideo "20:48" "going to be the timestamp A0, this is the") % (find-2024gitvideo "20:51" "timestamp A1, timestamp A2, and so on...") % (find-2024gitvideo "20:57" "so each one of these things takes a") % (find-2024gitvideo "20:59" "low resolution picture of the repository") % (find-2024gitvideo "21:01" "at that point... the low resolution picture") % (find-2024gitvideo "21:03" "is just a tree") % (find-2024gitvideo "21:04" "generated by git log...") % (find-2024gitvideo "21:09" "and all these low resolution") % (find-2024gitvideo "21:12" "pictures are saved to files with certain") % (find-2024gitvideo "21:14" "names, and then at the end I can run") % (find-2024gitvideo "21:17" "this thing here,") % (find-2024gitvideo "21:19" "Timeline, that concatenates all these") % (find-2024gitvideo "21:23" "files... so let's run that...") % (find-2024gitvideo "21:30" "now if I run Timeline it generates") % (find-2024gitvideo "21:33" "all these trees here, and this line here") % (find-2024gitvideo "21:38" "does the same thing, but it") % (find-2024gitvideo "21:41" "also generates a file called /tmp/all.") % (find-2024gitvideo "21:50" "Now that we have that file we") % (find-2024gitvideo "21:54" "can use that file to see how the") % (find-2024gitvideo "21:56" "repository changes at each point... for") % (find-2024gitvideo "22:00" "example, now we can understand") % (find-2024gitvideo "22:04" "what happens when you create a new") % (find-2024gitvideo "22:06" "commit, in the sense that some tags") % (find-2024gitvideo "22:10" "are going to be moved to the new commit,") % (find-2024gitvideo "22:13" "some tags are not going to be moved...") % (find-2024gitvideo "22:15" "I found the rules very hard to") % (find-2024gitvideo "22:18" "understand... I mean, when I was") % (find-2024gitvideo "22:23" "able to draw the diagram then things") % (find-2024gitvideo "22:25" "became much simpler, but just by") % (find-2024gitvideo "22:28" "reading the rules and the manuals I") % (find-2024gitvideo "22:30" "found them very complex, but... so, when I") % (find-2024gitvideo "22:35" "started studying this diagram here the") % (find-2024gitvideo "22:38" "the rules started to become clear to me,") % (find-2024gitvideo "22:41" "and when I found a way to translate that") % (find-2024gitvideo "22:43" "diagram to the other format, that is") % (find-2024gitvideo "22:46" "much prettier, then things become much") % (find-2024gitvideo "22:50" "clearer. So these diagrams helped me a lot.") % (find-2024gitvideo "22:58" "So, this section here is about how to") % (find-2024gitvideo "23:01" "create timelines, and how to inspect all") % (find-2024gitvideo "23:04" "the files that were created... note that") % (find-2024gitvideo "23:07" "here we have the individual files, and") % (find-2024gitvideo "23:10" "then these files were concatenated into") % (find-2024gitvideo "23:12" "this thing here, called \"all\"...") % (find-2024gitvideo "23:18" "And here's one application.") % (find-2024gitvideo "23:23" "Now that we have reproducible tests") % (find-2024gitvideo "23:26" "it should be possible") % (find-2024gitvideo "23:28" "to use these reproducible tests to create") % (find-2024gitvideo "23:31" "a tutorial for") % (find-2024gitvideo "23:33" "magit...") % (find-2024gitvideo "23:38" "this eepitch block here creates a very") % (find-2024gitvideo "23:42" "simple repository in /tmp/eevgit-test2/, and") % (find-2024gitvideo "23:49" "this repository has two commits and then") % (find-2024gitvideo "23:53" "I modify one of its files, file1,") % (find-2024gitvideo "23:58" "and my shell functions do not") % (find-2024gitvideo "24:02" "create a third commit.") % (find-2024gitvideo "24:08" "And if we run magit on that repository...") % (find-2024gitvideo "24:11" "by the way, if you do not have") % (find-2024gitvideo "24:14" "magit installed then you can either") % (find-2024gitvideo "24:16" "install it in the usual way or you can") % (find-2024gitvideo "24:19" "use this thing here and install it in") % (find-2024gitvideo "24:22" "the eev way... you may need this thing here") % (find-2024gitvideo "24:27" "to configure MELPA,") % (find-2024gitvideo "24:30" "like running this and this...") % (find-2024gitvideo "24:35" "and then you can execute these") % (find-2024gitvideo "24:39" "things here: package-initialize,") % (find-2024gitvideo "24:42" "package-refresh-contents and package-install,") % (find-2024gitvideo "24:44" "and then you will have magit in") % (find-2024gitvideo "24:47" "your machine.") % (find-2024gitvideo "24:48" "Anyway, I do have magit here.") % (find-2024gitvideo "24:52" "Let me run this thing here... it runs magit") % (find-2024gitvideo "24:55" "on that repository that I just created,") % (find-2024gitvideo "24:58" "that has an uncommitted change.") % (find-2024gitvideo "25:01" "Magit will say that we have unstaged changes,") % (find-2024gitvideo "25:05" "then I can type uppercase S to stage") % (find-2024gitvideo "25:09" "all these changes then I can type") % (find-2024gitvideo "25:13" "lowercase c lowercase c to commit the") % (find-2024gitvideo "25:16" "new change...") % (find-2024gitvideo "25:17" "then magit will ask me to") % (find-2024gitvideo "25:21" "write a commit message here... let me write") % (find-2024gitvideo "25:25" "a very simple message, like Blah, here...") % (find-2024gitvideo "25:27" "and then I can type C-x #") % (find-2024gitvideo "25:31" "to save that commit...") % (find-2024gitvideo "25:33" "and now it says that the HEAD is in") % (find-2024gitvideo "25:37" "that commit here, whose message is Blah...") % (find-2024gitvideo "25:42" "So I'm changing styles here. Up to") % (find-2024gitvideo "25:46" "this point I was doing everything with") % (find-2024gitvideo "25:49" "just shell commmands, and now I'm") % (find-2024gitvideo "25:52" "using this thing here to create the") % (find-2024gitvideo "25:54" "basis for learning, or for practicing,") % (find-2024gitvideo "25:58" "magit commands...") % (find-2024gitvideo "26:03" "so instead of creating a commit by") % (find-2024gitvideo "26:06" "running \"Commit C\" or \"Commit Blah\"") % (find-2024gitvideo "26:09" "I did that from magit, and it should be") % (find-2024gitvideo "26:12" "possible to use that to create a") % (find-2024gitvideo "26:14" "tutorial for magit that will explain some") % (find-2024gitvideo "26:16" "operations that most people find difficult...") % (find-2024gitvideo "26:19" "or anyway, or at least the") % (find-2024gitvideo "26:23" "people like me find them difficult.") % (find-2024gitvideo "26:30" "By the way, these are links to the") % (find-2024gitvideo "26:35" "manual of") % (find-2024gitvideo "26:37" "magit... this is the part that") % (find-2024gitvideo "26:40" "explains how to use uppercase S to") % (find-2024gitvideo "26:44" "stage changes, and this is a link to the") % (find-2024gitvideo "26:47" "part that explains how to create new") % (find-2024gitvideo "26:50" "commits... and again, I found these things") % (find-2024gitvideo "26:53" "very hard to understand when I") % (find-2024gitvideo "26:56" "started to learn magit...") % (find-2024gitvideo "27:00" "and now here we have a section about") % (find-2024gitvideo "27:02" "\"Why this?\", and about... anyway, let me") % (find-2024gitvideo "27:07" "read this. I found git and magit both very") % (find-2024gitvideo "27:11" "hard to learn. To test most concepts we") % (find-2024gitvideo "27:14" "would need a repository with tags and") % (find-2024gitvideo "27:16" "branches, and a second repository that") % (find-2024gitvideo "27:18" "pulls from that...and even with that") % (find-2024gitvideo "27:21" "most tests would be very hard to undo") % (find-2024gitvideo "27:24" "and to reproduce...") % (find-2024gitvideo "27:26" "and when I was trying to learn git...") % (find-2024gitvideo "27:29" "more specifically, I was learning git") % (find-2024gitvideo "27:32" "to set up a git repository") % (find-2024gitvideo "27:35" "for eev, my package...") % (find-2024gitvideo "27:39" "When I was trying to set up a git") % (find-2024gitvideo "27:42" "repository for eev on GitHub for the") % (find-2024gitvideo "27:44" "first time I did several things wrong on") % (find-2024gitvideo "27:47" "the GitHub side, and I didn't know how to") % (find-2024gitvideo "27:50" "fix that... I didn't know how to undo these") % (find-2024gitvideo "27:53" "things... and after spending several") % (find-2024gitvideo "27:56" "days trying to fix that I gave up, I") % (find-2024gitvideo "27:59" "deleted that repository, I created a new") % (find-2024gitvideo "28:02" "one, and I decided that I would be very") % (find-2024gitvideo "28:05" "coward from that point on, because I") % (find-2024gitvideo "28:08" "didn't know how to undo certain things...") % (find-2024gitvideo "28:11" "and I decided I would always do lots") % (find-2024gitvideo "28:14" "of local tests before messing up my") % (find-2024gitvideo "28:16" "public repository again.") % (find-2024gitvideo "28:19" "So at that point I started playing") % (find-2024gitvideo "28:22" "with the idea of reproducible tests and") % (find-2024gitvideo "28:26" "not committing everything to a") % (find-2024gitvideo "28:29" "repository in GitHub, and this is my n-th") % (find-2024gitvideo "28:31" "version of my tools for doing lots of") % (find-2024gitvideo "28:34" "local tests. And, of course,") % (find-2024gitvideo "28:35" "if you like this approach") % (find-2024gitvideo "28:38" "then please get in contact!") % (find-2024gitvideo "28:43" "Let me show another example of") % (find-2024gitvideo "28:46" "something that the tutorials suppose") % (find-2024gitvideo "28:52" "that... no, sorry, let me explain it") % (find-2024gitvideo "28:55" "in another way. A typical use") % (find-2024gitvideo "28:58" "case for git is like this: there's a") % (find-2024gitvideo "29:00" "\"shared\" git repository in a \"server\",") % (find-2024gitvideo "29:03" "and there are several \"developers\",") % (find-2024gitvideo "29:05" "each one on a different") % (find-2024gitvideo "29:07" "machine, and the developers are working") % (find-2024gitvideo "29:09" "on copies of that shared repository, and") % (find-2024gitvideo "29:12" "they are making changes on that and they are") % (find-2024gitvideo "29:15" "trying to somehow synchronize their work.") % (find-2024gitvideo "29:17" "So they are going to save") % (find-2024gitvideo "29:20" "their changes to their local repositories,") % (find-2024gitvideo "29:21" "and then they're going to push those") % (find-2024gitvideo "29:23" "changes to the \"server\" somehow...") % (find-2024gitvideo "29:29" "and I found that the") % (find-2024gitvideo "29:33" "tutorials suppose that you are one") % (find-2024gitvideo "29:36" "of the developers, and that you are") % (find-2024gitvideo "29:38" "working with colleagues on that shared") % (find-2024gitvideo "29:42" "repository... but I couldn't find easy") % (find-2024gitvideo "29:47" "instructions for creating that") % (find-2024gitvideo "29:49" "server repository, or for creating that") % (find-2024gitvideo "29:52" "on a local machine... so this is my attempt") % (find-2024gitvideo "29:55" "to fix that. This is a minimal version,") % (find-2024gitvideo "29:58" "a miniature, of how to create the") % (find-2024gitvideo "30:02" "server and the developer machines... and") % (find-2024gitvideo "30:05" "instead of using several machines I just") % (find-2024gitvideo "30:07" "use different directories in /tmp/.") % (find-2024gitvideo "30:11" "So let me type f8 several times...") % (find-2024gitvideo "30:17" "this first block here copies my") % (find-2024gitvideo "30:21" "library to /tmp/ and loads the functions in") % (find-2024gitvideo "30:25" "eevgitlib1.sh... this block here creates") % (find-2024gitvideo "30:29" "a shared repository, that is going to") % (find-2024gitvideo "30:31" "play the role of a server... the second") % (find-2024gitvideo "30:34" "block creates a directory that will") % (find-2024gitvideo "30:38" "play the role of the first") % (find-2024gitvideo "30:40" "developer... in this block here") % (find-2024gitvideo "30:43" "the Developer 1 creates two") % (find-2024gitvideo "30:45" "commits and pushes them to the server...") % (find-2024gitvideo "30:49" "so Commit A and Commit B, and then git") % (find-2024gitvideo "30:52" "push... and now we create a second") % (find-2024gitvideo "30:56" "directory, that will play the role of") % (find-2024gitvideo "30:58" "a second") % (find-2024gitvideo "31:02" "developer... so now we are going to have") % (find-2024gitvideo "31:04" "three repositories, one ending with \"s\",") % (find-2024gitvideo "31:08" "that plays the role of a server, one") % (find-2024gitvideo "31:10" "that ends with \"1\", that plays the") % (find-2024gitvideo "31:12" "rollers of the first developer, and") % (find-2024gitvideo "31:15" "one that ends with \"2\", that plays the") % (find-2024gitvideo "31:17" "role of the second developer...") % (find-2024gitvideo "31:19" "and now here the second") % (find-2024gitvideo "31:23" "developer creates a new commit, and") % (find-2024gitvideo "31:25" "pushes that commit to that") % (find-2024gitvideo "31:27" "repository... and that's a new commit") % (find-2024gitvideo "31:30" "that the first developer") % (find-2024gitvideo "31:32" "doesn't have yet, so now we switch to the") % (find-2024gitvideo "31:35" "to the first developer... we just") % (find-2024gitvideo "31:39" "switch to this directory here instead of") % (find-2024gitvideo "31:41" "switching machines... and we run git pull.") % (find-2024gitvideo "31:45" "So this is a miniature that") % (find-2024gitvideo "31:48" "probably can be used - in the future,") % (find-2024gitvideo "31:52" "say - to show how to do these things") % (find-2024gitvideo "31:55" "with magit... I mean, we probably") % (find-2024gitvideo "31:58" "can use that to teach people how") % (find-2024gitvideo "32:01" "to do pulls and pushes with magit...") % (find-2024gitvideo "32:06" "I haven't done that yet.") % (find-2024gitvideo "32:13" "So, yeah, that's it for the moment!") % (find-2024gitvideo "32:17" "So, a few ideas are already") % (find-2024gitvideo "32:20" "implemented, we have some basic tests") % (find-2024gitvideo "32:23" "here, all the \"try it!\"s should be very") % (find-2024gitvideo "32:26" "easy to try...") % (find-2024gitvideo "32:28" "but I only have one small section") % (find-2024gitvideo "32:31" "about how to use that to teach magit.") % (find-2024gitvideo "32:36" "To do things with magit we have to") % (find-2024gitvideo "32:39" "create a") % (find-2024gitvideo "32:41" "repository... preferably in a way in") % (find-2024gitvideo "32:44" "which this creation mechanism is easy to") % (find-2024gitvideo "32:48" "run again...") % (find-2024gitvideo "32:50" "and then we have to teach people") % (find-2024gitvideo "32:54" "what are the keys that they have to") % (find-2024gitvideo "32:55" "press in magit... for example") % (find-2024gitvideo "32:58" "here for staging the changes people") % (find-2024gitvideo "33:02" "have to to press S in a certain part of") % (find-2024gitvideo "33:05" "the magit buffer, and then they have to") % (find-2024gitvideo "33:08" "type \"c c\" in another position of") % (find-2024gitvideo "33:13" "the magit buffer... so it's a totally") % (find-2024gitvideo "33:17" "different interface...") % (find-2024gitvideo "33:18" "So: this is a prototype, but") % (find-2024gitvideo "33:23" "again... if you like this approach,") % (find-2024gitvideo "33:26" "please get in contact!") % (find-2024gitvideo "33:28" "And... that's it! That's what we have") % (find-2024gitvideo "33:30" "now.") % (find-2024gitvideo "33:32" "Yeah, that's it. Bye! Thanks!") (find-2024gitvideo "33:35" " ") ]==] unrevised_bigstr = [==[ (find-2024gitvideo "00:00" " ") ]==] -- Local Variables: -- coding: utf-8-unix -- End: