| 2006-11-07 |
|
jimbobuk
| anyone know a channel for GIT the Gamers Internet Tunnel? | 00:00 |
|
| pasky doesn't :) | 00:00 |
|
jimbobuk
| thanks anyways :) | 00:00 |
| → anholt joined | 00:00 |
| → jeffpc joined | 00:01 |
|
jeffpc
| two questions... | 00:02 |
|
| 1) say I want to commit all the changes in a repo, modified, deleted, and added files | 00:02 |
| ← jimbobuk left | 00:03 |
|
jeffpc
| what's the best way to do that? | 00:03 |
|
| 2) if I decide that the last commit is not what I want, how do I uncommit? | 00:03 |
|
robinr
| jeffpc: git reset HEAD^ | 00:05 |
|
pasky
| hey jeff :) | 00:05 |
|
jeffpc
| pasky: hey :) | 00:05 |
|
segher
| pasky: look at it this way -- i have to learn many new tools already, but i'm supposed to get "real" work done, i have no time :-) | 00:05 |
|
pasky
| segher: and that's exactly the reason why I don't get why you bother with plain git :) | 00:05 |
|
jeffpc
| robinr: thanks | 00:05 |
|
segher
| pasky: git + quilt + some scripts | 00:06 |
|
jeffpc
| pasky: I got a shiny account on korg, so I'm switching my development from hg+mq to git.. | 00:06 |
|
pasky
| segher: doesn't that waste a lot more time than learning the five stgit commands? | 00:06 |
|
segher
| pasky: my upstream is an svn, too -- &*%(*%*%^ | 00:06 |
|
jeffpc
| right now, I'm writing something like mq for git | 00:06 |
|
pasky
| jeffpc: wow | 00:06 |
|
jeffpc
| stgit is not exactly what I want | 00:06 |
|
pasky
| jeffpc: double wow | 00:06 |
|
| segher: git-svn? | 00:07 |
|
jeffpc
| pasky: oh, you'll get a kick out of this... | 00:07 |
|
| pasky: about a month ago, I accidentally wrote a hg2git convertor.. | 00:07 |
|
pasky
| jeffpc: I think a lot of people will be interested in mq for git | 00:07 |
|
jeffpc
| pasky: and then, I wrote a git server for a hg repo :) | 00:07 |
|
pasky
| very interesting :) | 00:07 |
|
jeffpc
| http://www.kernel.org/git/?p=linux/kernel/git/jsipek/gq.git | 00:07 |
|
pasky
| The load average on the server is too high | 00:08 |
|
| bah | 00:08 |
|
| let me setup a mirror | 00:08 |
|
jeffpc
| pasky: it is actually sickening.. cg-clone'ing a mercurial repo :) | 00:08 |
|
| :) | 00:08 |
|
pasky
| total beauty :) | 00:08 |
|
jeffpc
| it isn't fully functional, but I'm working on it | 00:08 |
| dwmw2_zzz → dwmw2_gone | 00:08 |
|
pasky
| http://repo.or.cz/w/gq.git, there :) | 00:10 |
|
jeffpc
| :) | 00:10 |
|
pasky
| oh, I hope it's free software, should've asked that earlier :) | 00:11 |
|
jeffpc
| GPLv2 :) | 00:11 |
|
| didn't shove the headers into it yet.. | 00:11 |
|
pasky
| good | 00:11 |
|
jeffpc
| wrt the name... | 00:12 |
|
| git queues | 00:12 |
|
| (similar to mercurial queues) | 00:12 |
|
pasky
| git branch | awk 'BEGIN{}/*/{print $2}END{}' | 00:12 |
|
| *shudder* | 00:12 |
|
xl0
| Is it normal that after a cherry-pich -n the changes are not shown with git-diff? | 00:12 |
|
jeffpc
| but it is completely independent of hg | 00:12 |
|
pasky
| jeffpc: git-symbolic-ref HEAD | 00:12 |
|
jeffpc
| ? | 00:12 |
|
robinr
| x10: I think so, they are in the index but not commited. try git diff HEAD | 00:13 |
|
xl0
| But they are still shown with git-status... | 00:13 |
|
jeffpc
| oh | 00:13 |
|
| I get it.. | 00:13 |
|
pasky
| jeffpc: and you can use git-rev-parse --gitdir instead of find_git_dir_nice | 00:13 |
|
xl0
| robinr: Thanks, it worked. | 00:13 |
|
| robinr does not know what a mercurial queue is | 00:14 |
|
pasky
| jeffpc: wc -l $applied | awk '{print $1}' can be written more elegantly as wc -l <$applied | 00:15 |
|
jeffpc
| ok | 00:17 |
|
pasky
| jeffpc: it's nicely simple so far :) | 00:17 |
|
jeffpc
| :) | 00:17 |
|
| I spend only 2 hours on it :) | 00:17 |
|
| well, 2 hours of coding | 00:17 |
|
pasky
| I'm looking forward for what will become from it | 00:17 |
|
jeffpc
| some time just pondering | 00:17 |
|
| well, I need it | 00:17 |
|
| stg is not what I want, cg doesn't give me quilt-like thing | 00:18 |
|
robinr
| it's nice to see all this interoperability between git and other SCM's | 00:18 |
|
| jeffpc wishes git disappeared in a poof of smoke :) | 00:18 |
|
jeffpc
| git has some interesting ideas, but I just like hg too much | 00:19 |
|
| pasky: the git-symbolic-ref thing...what's the easiest way to get just the last component? basename? | 00:20 |
|
ShadeHawk
| whar about pg (Patchy Git)? | 00:20 |
|
robinr
| can you tell me why stgit is wrong? | 00:20 |
|
pasky
| jeffpc: not really since branch names can contain slashes | 00:21 |
|
| jeffpc: just sed ^refs/heads/ away or something | 00:22 |
|
| or ${...#refs/heads/} since you're #!/bin/bash | 00:22 |
|
jeffpc
| robinr: I prefer the way to mq stores things as diffs | 00:22 |
|
pasky
| (but reconsider if you really want #!/bin/bash) | 00:22 |
|
mugwump
| jeffpc: did you see stg export? | 00:22 |
|
pasky
| robinr: two things people are missing in stgit: ability to easily reorder patches and versioning your series file | 00:23 |
|
jeffpc
| mugwump: I did, but I don't want to export every time I want to store the state for the patches dir | 00:23 |
|
robinr
| pasky: reordering is easy | 00:23 |
|
pasky
| robinr: not compared to mq | 00:23 |
|
mugwump
| stg keeps the patches as references, so diffs are always derivable.. | 00:23 |
|
robinr
| as long as you don't have conflicts (it needs git-rerere) | 00:23 |
|
jeffpc
| mugwump: I understand, it just adds more work for me... | 00:23 |
|
pasky
| robinr: besides, while stgit can theoretically keep history of patch's development, it's mostly a joke | 00:24 |
|
mugwump
| would an automatic export would solve your usability problem? | 00:24 |
|
robinr
| stg float patch a b c pushes a b c to the top, doing any reordering necessary | 00:24 |
|
pasky
| robinr: because it goes poof the first time you prune and it goes poof the moment the patch is gone | 00:24 |
|
robinr
| like git-prune? probably not a good idea no | 00:25 |
|
pasky
| what's not a good idea? | 00:25 |
|
robinr
| because git-prune doesn't look at stgits references (I think) | 00:25 |
|
| you said it goes poof | 00:26 |
|
pasky
| yes, but are you saying using stgit is bad idea or using git-prune is bad idea? | 00:26 |
|
robinr
| using git-prune on a stgit repo | 00:26 |
|
pasky
| how am I going to get rid of all the stale objects then? | 00:27 |
|
mugwump
| maybe stgit should be fixed to use proper references? | 00:27 |
|
| packed maybe? | 00:27 |
|
robinr
| I have a vague memory of git-prune messing up a repo of mine, so I don't use it | 00:28 |
|
pasky
| if that's the case that's a critical bug | 00:28 |
|
| and we'd appreciate it if you reported it :) | 00:28 |
|
robinr
| Subject: Vague memory of a messed up repo | 00:29 |
|
pasky
| mugwump: that's possible but can very quickly get totally out of hand, imho | 00:29 |
|
| robinr: :)) | 00:29 |
|
| robinr: I mean, back then :) | 00:29 |
|
robinr
| pasky: My time machine is on repair, can't done it | 00:30 |
|
jeffpc
| is there an equivalent to mercurial's hg commit -A (add/remove files) | 00:30 |
|
robinr
| git add . && git commit -a | 00:31 |
|
jeffpc
| ok | 00:31 |
|
robinr
| that adds all new files and removed the old ones | 00:31 |
|
| removed/removes | 00:31 |
|
jeffpc
| thanks | 00:31 |
|
robinr
| pasky: "back then" I had tried to use git for three days | 00:32 |
|
jeffpc
| after I git-update-index, how can I get the diff I'm about to commit? | 00:34 |
|
robinr
| git diff HEAD | 00:34 |
|
jeffpc
| thanks...little odd, but ok | 00:34 |
|
robinr
| that must the most frequently asked question | 00:34 |
|
jeffpc
| hehe | 00:34 |
|
| maybe git is broken in that aspect ;) | 00:34 |
|
robinr
| well, it's odd in that respect | 00:35 |
|
pasky
| it just has this index thing | 00:35 |
|
| you either like it or use Cogito ;-) | 00:35 |
|
| pasky hides | 00:35 |
|
pasky
| I'll better go get some sleep, g'nite | 00:35 |
|
robinr
| or stgit :) | 00:36 |
|
| sleep is a good idea indeed | 00:36 |
|
jeffpc
| pasky: hehe, night | 00:36 |
|
robinr
| just have to finish up a debugger session with egit first | 00:37 |
|
jeffpc
| egit? | 00:37 |
|
robinr
| an eclipse plugin | 00:37 |
|
jeffpc
| nice | 00:38 |
|
robinr
| Shawn Pearce hacked a pure java implementation and a first-cut plugin | 00:38 |
|
| I'm trying to get a compare with HEAD to work :) | 00:38 |
|
jeffpc
| I heard about the pure java implementation | 00:39 |
|
robinr
| but first I need to understand a few things, I don't see what I'd expect to see | 00:40 |
|
| aha! | 00:51 |
|
| that concludes it, good night | 01:04 |
| dwmw2_gone → dwmw2_TPE | 01:09 |
| Insount → Insount_away | 01:16 |
| → ne78 joined | 01:17 |
|
ne78
| git pull works, when i try cg-update, it says "cg-update: where to update from?", why doesn't cg-update reads .git/remotes/origin ? | 01:18 |
|
pasky
| remotes support is not implemented in cogito at this very moment | 01:24 |
|
| but the cogito team assures you that it's the most important and top priority missing feature in cogito right now and one developer, two thousands of monkeys and a panda are working hard day and night to implement it | 01:25 |
| → GeertB joined | 01:25 |
|
jeffpc
| pasky: hehe | 01:27 |
|
pasky
| (yes, I was supposed to go get some sleep an hour ago; the truth is, I'm a sad, sad person) | 01:28 |
|
jeffpc
| I do the same thing.. | 01:28 |
|
| go to bed around 6am | 01:28 |
|
| on regular basis | 01:28 |
|
pasky
| I'm better then | 01:28 |
|
| it's usually 4am | 01:28 |
|
| 3am these days since I'm sick | 01:29 |
|
ne78
| pasky: Ok no problemo | 01:39 |
| → Gitzilla joined | 01:44 |
| Insount_away → Insount | 02:24 |
| → avuton joined | 02:36 |
| Insount → Insount_away | 02:37 |
| → eugene_ joined | 03:25 |
|
jeffpc
| sweet | 03:25 |
|
| it is working | 03:25 |
|
eugene_
| hi. sorry if this question was asked before, but how do i initialise a repo on repo.or.cz? | 03:26 |
|
| jeffpc: hi. | 03:26 |
|
jeffpc
| hey eugene_ | 03:26 |
|
| I think there is a web thingy | 03:26 |
|
eugene_
| i created a project there. | 03:26 |
|
jeffpc
| ok | 03:27 |
|
| I think that makes you a repo | 03:27 |
|
| did you try to push to it? | 03:27 |
|
eugene_
| so the next step is to git-repo-config remote.upload.url ? | 03:27 |
|
jeffpc
| no idea | 03:27 |
|
| what's the repo? | 03:27 |
|
| or project | 03:28 |
|
eugene_
| git+ssh://repo.or.cz/srv/git/spyglass.git | 03:28 |
|
jeffpc
| http://repo.or.cz/w/spyglass.git | 03:28 |
|
| I see it :) | 03:28 |
|
| I'd just try to push to it | 03:28 |
|
eugene_
| i'm trying to push my repo | 03:28 |
|
jeffpc
| $ cat .git/remotes/origin | 03:29 |
|
| URL: master.kernel.org:/pub/scm/linux/kernel/git/jsipek/gq.git | 03:29 |
|
| Pull: master:origin | 03:29 |
|
| Push: master:master | 03:29 |
|
| that's my thing for gq | 03:29 |
|
| then I can just run git pull/push | 03:29 |
|
| and it does magic | 03:29 |
|
eugene_
| hmm | 03:30 |
|
jeffpc
| I should probably use git+ssh | 03:30 |
|
| but I'm a lazy bastard | 03:30 |
|
eugene_
| ok | 03:31 |
|
jeffpc
| and I know if I do stuff with master.kernel.org, I'll always be up to date.. | 03:31 |
|
| mirroring on korg can take forever | 03:31 |
|
eugene_
| ok | 03:32 |
| → anholt joined | 03:35 |
| → yashi joined | 03:47 |
| → ruskie joined | 05:23 |
| → Gitzilla joined | 05:28 |
| → yashi joined | 05:58 |
| → Tv joined | 07:30 |
| → ShadeHawk joined | 08:10 |
| → ferdy joined | 08:21 |
| → kblin joined | 08:32 |
| → kanru joined | 09:07 |
| → GyrosGeier joined | 10:24 |
| → qball joined | 10:31 |
| → antifuchs joined | 10:48 |
|
antifuchs
| hi there. how can I list which tags are on a commit? | 10:48 |
|
| hah. forget it. git-describe is vastly better than anything I had in mind (: | 10:50 |
| → sgrimm_ joined | 10:59 |
| Insount_away → Insount | 11:12 |
|
xl0
| Guys, how is it possible that git-revert won't work, it sinply prints out the usage info, but I belive I gave it the right options... | 11:19 |
| → cods joined | 11:22 |
|
neuralis
| xl0: how are you invoking it? | 11:26 |
|
| is your tree clean? | 11:26 |
|
segher
| anyone here know git-svn? | 11:33 |
|
xl0
| neuralis: git-status shows no modifyed files, but some not-in-tree files are present. | 11:33 |
| → robfitz joined | 11:34 |
| → GeertB joined | 11:46 |
|
xl0
| Hmm, strange, git-send-email removes my signed-off-by... | 12:03 |
|
| It keeps removing it...how do I tell it not to touch the signed-off-by? | 12:05 |
| → chris2 joined | 12:15 |
| → cods joined | 12:17 |
| → GeertB joined | 12:19 |
| → kblin joined | 12:21 |
| Insount → Insount_away | 12:23 |
|
ShadeHawk
| xl0: git send-email should not touch commit message... perhaps if you try to _add_ signoff it does something strange? | 12:34 |
|
xl0
| ShadeHawk: After generating patches with git-format-patch, I get a Signed-off-by: line righ after Subject, but when I send those patches with git-send-email, this line is gone. | 12:35 |
| → GeertB joined | 12:38 |
|
ShadeHawk
| strange... | 12:46 |
|
| post a bugreport then, as it seems that we don't have awake author of git-send-mail here... | 12:46 |
|
segher
| you need an empty line after the subject | 12:50 |
|
| if you have properly formatted commit messages, all works just dandy | 12:51 |
|
xl0
| So in my commit messages, I need an empty line before sign-off? | 12:51 |
|
segher
| erm | 12:51 |
|
| you need to have in your commit message: | 12:52 |
|
| subject line | 12:52 |
|
| empty line | 12:52 |
|
| rest | 12:52 |
|
xl0
| Ok. | 12:52 |
|
| Thank you. | 12:52 |
|
segher
| check in the generated (by format-patch) file whether there is an empty line after the Subject: line | 12:53 |
|
cehteh
| is there some way to generate gnu-like ChangeLog from a pre-commit hook? | 12:53 |
| Insount_away → Insount | 12:56 |
|
ShadeHawk
| still, it is a bit of misfeature | 12:59 |
| ← antifuchs left | 13:12 |
|
cehteh
| agreed, but since its gnu standard it could be nice if git maintains it, even if not versioned .. just making building tarballs easier | 13:17 |
| → two-face joined | 13:21 |
|
segher
| what git command outputs _only_ the name of the currently active branch? | 14:03 |
|
| or branch + commit -- something i can use as arg for git-checkout | 14:04 |
|
pasky
| git-symbolic-ref HEAD | 14:04 |
|
segher
| nice, thanks | 14:06 |
|
jeffpc
| hey pasky | 14:07 |
|
| I got a lot done yesterday | 14:08 |
|
| it pushes and pops well enough for me to use it on unionfs :) | 14:08 |
|
| any feedback is appreciated | 14:08 |
| → _timlarson joined | 14:13 |
|
pasky
| cool, will have a look at it later | 14:13 |
| → meyering joined | 14:14 |
|
jeffpc
| sure, thanks | 14:20 |
| → chris2 joined | 14:50 |
| → cods joined | 14:51 |
| dwmw2_TPE → dwmw2_gone | 15:37 |
| → nud joined | 15:58 |
| → GeertB joined | 16:07 |
| → robinr joined | 16:13 |
| → kanru joined | 16:18 |
| Insount → Insount_away | 16:20 |
| → dwmw2_gone joined | 16:25 |
| dwmw2_gone → dwmw2_zzz | 16:29 |
| → Eludias joined | 16:53 |
|
jeffpc
| what's the best way to set default author? | 16:55 |
| → spearce joined | 16:56 |
| → robinr joined | 16:57 |
|
segher
| either environment variable, or in your repo conf file | 16:58 |
|
| envvar is nice if you have many repos | 16:58 |
|
jeffpc
| what's the env var? GIT_AUTHOR? | 16:58 |
|
spearce
| or your ~/.gitconfig. :) | 16:58 |
|
| env vars are GIT_AUTHOR_NAME/GIT_AUTHOR_EMAIL; GIT_COMMITTER_NAME/GIT_COMMITTER_EMAIL. | 16:58 |
|
segher
| spearce: heh, i didn't know about that one. what's the format? | 16:59 |
|
| or just, where do i find info on it | 16:59 |
|
spearce
| segher: same as repo/config; you can edit with: git repo-config --global user.name foo; ... | 16:59 |
|
jeffpc
| .gitconfig makes more sense... | 16:59 |
|
| neat | 16:59 |
|
segher
| spearce: ah nice, thanks! | 16:59 |
|
robinr
| spearce: why do you create TreeEntry'ies without parent in egit? | 17:00 |
|
spearce
| robinr: because that's how you track an empty directory. In particular I create them to track the UI state of the directory being present in the workbench, but I don't prune them out of the tree when I write them out. | 17:00 |
|
| Thus egit tracks empty directories while core git can't. | 17:01 |
| → _timlarson joined | 17:01 |
|
jeffpc
| neat | 17:02 |
|
| thanks | 17:02 |
|
spearce
| jeffpc: git repo-config --global alias.less = -p cat-fil -p; git less master:Makefile; :-) | 17:02 |
|
robinr
| not that, I mean like when you see org.egit.jgit/.classpath you make two entries, one for .classpath with a parent and one without | 17:03 |
|
jeffpc
| spearce: neat! | 17:03 |
| → _timlarson joined | 17:03 |
|
spearce
| robinr: its been a while since i looked at that code - where am i doing such stupidity? | 17:04 |
|
robinr
| in recomputeMerge | 17:04 |
|
| in RepositoryMapping | 17:04 |
|
| I was thinking there mighth be some idea behind it | 17:05 |
| → _timlarson joined | 17:05 |
|
spearce
| there is - i remember that much. i'm looking at it now and not seeing it, but i know i'm doing something cute in this merge code. | 17:05 |
|
robinr
| ~line 243: activeDiff = new MergedTree(new Tree[] {head, cacheTree}); | 17:06 |
|
spearce
| that's an array of two Trees: one is the HEAD^{tree} and the other is what we have in memory (aka our index). | 17:07 |
|
robinr
| and line 256: e.detachParent(); | 17:07 |
|
spearce
| oh, the detachParent trick is cute. if the directory we are manging in eclipse is a subset of a git repository (a subdirectory of one) then we toss away the parent path leading down to that subdirectory and treat it as though it were the root of the tree. | 17:08 |
|
robinr
| git's index it is not | 17:08 |
|
spearce
| no, its *not* the same as core-git's index, but it provides us some of the same functionality. | 17:09 |
|
robinr
| so git and egit may have slightly differente views of things | 17:13 |
|
spearce
| yes. | 17:13 |
|
| i was going to also use the .git/index file in egit but there's fields in there that we can't fill out correctly from pure Java. so i gave up and decided to make egit not compatible with pure git unless the working directory state matches the current HEAD. | 17:16 |
|
robinr
| what field? like pointers or something? | 17:17 |
|
spearce
| fields from the struct stat in C, like device, inode, uid, gid. | 17:18 |
| → lyakh joined | 17:22 |
|
robinr
| ah | 17:23 |
|
spearce
| of course i don't think i've answered your original question about why i'm creating two TreeEntry objects for the same file; one with a parent and one without - because I'm still not seeing where in egit I do that. | 17:25 |
| → GeertB joined | 17:26 |
|
robinr
| in mapHEADTree() you remove the parent, line 256 | 17:28 |
|
spearce
| but, that that should *only* be done on a Tree (not a FileTreeEntry) and only when that Tree is the highest level directory within that repository that Eclipse can see. | 17:28 |
|
| Example: Given a repository with three subdirectories: a/, b/, c/. HEAD^{tree} has these three directories in it. Fine. | 17:29 |
|
| But what happens when I tell Eclipse that a/ is actually a project (by importing it)? Now a/ is the highest level directory that Eclipse can see but a/ has a parent (the root tree of the repository). So I toss the parent away here. | 17:29 |
|
| egit's repository is actually exactly like this. | 17:29 |
|
| I guess the main idea here is that egit can't say anything about the b/ and c/ subdirectories as it has no visibility to them. So any commit within a/ must create a new root tree using the new a/, but using the current b/ and c/, as there's no way that egit modified b/ or c/. | 17:31 |
|
robinr
| hmm it seems a/ is also cast awat | 17:31 |
|
spearce
| well the name "a" is cast away, yes. | 17:31 |
|
| but the Tree object (its collection of files/subdirectories) remains. | 17:31 |
|
| i think i chuck the name too because what is the name for the the top level tree in Git? Nothing, it has no name. :) | 17:32 |
|
robinr
| what would commit write if only part of the repo is mapped to projects? | 17:39 |
|
| what will egit do with the "invisible" parts? | 17:40 |
|
spearce
| it should (and maybe i didn't finish implementing this) read the current tree at HEAD^{tree}, then replace the entries which are mapped into Eclipse, leaving the invisible parts as-is, make a new top level tree, then commit. | 17:41 |
|
robinr
| I have not dug that far, I'm just trying the implement a compare view | 17:43 |
|
| stgit will be my workhorse for a long time to come | 17:43 |
|
spearce
| its a good tool. :) | 17:43 |
|
robinr
| it wasnt't good enough, but then I added the "float" command so now it is | 17:44 |
|
| :) | 17:44 |
|
spearce
| core git works well enough for me - but now i've got git-gui going too. :) i'd like to finish out egit but its a lot more work than git-gui and only works in Eclipse. | 17:49 |
| → xjjk joined | 17:51 |
|
pasky
| what's the mission difference between git-gui and qgit? | 18:08 |
|
spearce
| git-gui runs anywhere gitk does; qgit runs where Qt is. | 18:08 |
| → matled joined | 18:08 |
|
pasky
| so it's just reimplementation with different deps | 18:08 |
|
spearce
| git-guit will probably suck compared to qgit. but i've had trouble building qgit on my mac, git-gui works out of the box... | 18:08 |
|
| eh, that and git-gui will likely never draw the DAG like qgit does, it also probably will lack some of the other history exploring features or patch management. | 18:09 |
|
| i'm going for KISS with git-gui. for idiots. or at least trying to. | 18:09 |
|
pasky
| ic :) | 18:09 |
|
spearce
| :) oh and i'm not sure qgit runs on windows; i needed a gui that does. git-gui does. :) | 18:12 |
|
pasky
| it does | 18:12 |
|
spearce
| ok, so then git-gui's mission is to waste my time while making something that doesn't depend on troll based technology. :) | 18:16 |
| → alley_cat joined | 18:39 |
| → sgrimm joined | 18:40 |
|
| spearce is showing his stupidity on git@vger. | 19:02 |
| → segher joined | 19:25 |
| → dsp joined | 19:38 |
|
dsp
| is there a way to get a commit object that correlates a file blob? | 19:43 |
|
spearce
| you mean the commit that first introduced a blob? | 19:43 |
|
dsp
| I'm trying to figure out commit details (author, time, etc) from when the file blob was first introduced | 19:44 |
|
spearce
| if you know the file path: git log -- path; if not then its pretty difficult. | 19:44 |
|
dsp
| trying to reverse engineer gitweb | 19:44 |
|
| in git-log, I don't see the blobs | 19:45 |
|
| or the ability to pass it a blob | 19:45 |
|
spearce
| try git whatchanged -- path. and neither takes a blob, they take a path specifiction to limit what they display only to the commits that affect that file name. | 19:45 |
|
| but going from a 40 byte hexsha1 of the blob to a commit is "difficult": you need to search every tree and every commit and there's currently no tools to do that. | 19:47 |
|
dsp
| OK, I'm reading thru right now, trying to get 'whatchanged' to take a blob | 19:48 |
|
| thanks spearce.... I see what I need | 19:51 |
|
ShadeHawk
| dsp: that's what are 'hp' (hash parent) gitweb parameter for: for blob and tree objects it is a commit object hash | 20:01 |
|
| dsp: (and 'hpb' lately introduced in blobdiff view, meaning hash_parent_base, for base commit for the blob ('hp', hash_parent and 'fp', file_parent) we are diff-ing againts) | 20:02 |
| → _timlarson joined | 20:12 |
| → _timlarson joined | 20:53 |
| → krh joined | 21:03 |
| → Gitzilla joined | 21:25 |
| → DrNick joined | 21:45 |
| → tony joined | 21:46 |
| → devogon joined | 21:58 |
| → sgrimm joined | 22:03 |
| → sgrimm joined | 22:23 |
| Insount_away → Insount | 22:52 |
| → DrNick joined | 23:08 |
| → cods joined | 23:17 |
| → anholt joined | 23:28 |