IRCloggy #git 2006-11-07

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

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 joined00:00
jeffpc joined00:01
jeffpc two questions...00:02
1) say I want to commit all the changes in a repo, modified, deleted, and added files00:02
jimbobuk left00: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: thanks00:05
segher pasky: git + quilt + some scripts00: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 git00:06
pasky jeffpc: wow00:06
jeffpc stgit is not exactly what I want00:06
pasky jeffpc: double wow00: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 git00: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.git00:07
pasky The load average on the server is too high00:08
bah00:08
let me setup a mirror00: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 it00:08
dwmw2_zzzdwmw2_gone00: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 good00:11
jeffpc wrt the name...00:12
git queues00: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 hg00:12
pasky jeffpc: git-symbolic-ref HEAD00:12
jeffpc ?00:12
robinr x10: I think so, they are in the index but not commited. try git diff HEAD00:13
xl0 But they are still shown with git-status...00:13
jeffpc oh00:13
I get it..00:13
pasky jeffpc: and you can use git-rev-parse --gitdir instead of find_git_dir_nice00:13
xl0 robinr: Thanks, it worked.00:13
robinr does not know what a mercurial queue is00:14
pasky jeffpc: wc -l $applied | awk '{print $1}' can be written more elegantly as wc -l <$applied00:15
jeffpc ok00: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 coding00:17
pasky I'm looking forward for what will become from it00:17
jeffpc some time just pondering00:17
well, I need it00:17
stg is not what I want, cg doesn't give me quilt-like thing00:18
robinr it's nice to see all this interoperability between git and other SCM's00:18
jeffpc wishes git disappeared in a poof of smoke :)00:18
jeffpc git has some interesting ideas, but I just like hg too much00: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 slashes00:21
jeffpc: just sed ^refs/heads/ away or something00:22
or ${...#refs/heads/} since you're #!/bin/bash00:22
jeffpc robinr: I prefer the way to mq stores things as diffs00: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 file00:23
jeffpc mugwump: I did, but I don't want to export every time I want to store the state for the patches dir00:23
robinr pasky: reordering is easy00:23
pasky robinr: not compared to mq00: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 joke00: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 necessary00:24
pasky robinr: because it goes poof the first time you prune and it goes poof the moment the patch is gone00:24
robinr like git-prune? probably not a good idea no00: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 poof00: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 repo00: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 it00:28
pasky if that's the case that's a critical bug00:28
and we'd appreciate it if you reported it :)00:28
robinr Subject: Vague memory of a messed up repo00:29
pasky mugwump: that's possible but can very quickly get totally out of hand, imho00:29
robinr: :))00:29
robinr: I mean, back then :)00:29
robinr pasky: My time machine is on repair, can't done it00:30
jeffpc is there an equivalent to mercurial's hg commit -A (add/remove files)00:30
robinr git add . && git commit -a00:31
jeffpc ok00:31
robinr that adds all new files and removed the old ones00:31
removed/removes00:31
jeffpc thanks00:31
robinr pasky: "back then" I had tried to use git for three days00:32
jeffpc after I git-update-index, how can I get the diff I'm about to commit?00:34
robinr git diff HEAD00:34
jeffpc thanks...little odd, but ok00:34
robinr that must the most frequently asked question00:34
jeffpc hehe00:34
maybe git is broken in that aspect ;)00:34
robinr well, it's odd in that respect00:35
pasky it just has this index thing00:35
you either like it or use Cogito ;-)00:35
pasky hides00:35
pasky I'll better go get some sleep, g'nite00:35
robinr or stgit :)00:36
sleep is a good idea indeed00:36
jeffpc pasky: hehe, night00:36
robinr just have to finish up a debugger session with egit first00:37
jeffpc egit?00:37
robinr an eclipse plugin00:37
jeffpc nice00:38
robinr Shawn Pearce hacked a pure java implementation and a first-cut plugin00:38
I'm trying to get a compare with HEAD to work :)00:38
jeffpc I heard about the pure java implementation00:39
robinr but first I need to understand a few things, I don't see what I'd expect to see00:40
aha!00:51
that concludes it, good night01:04
dwmw2_gonedwmw2_TPE01:09
InsountInsount_away01:16
ne78 joined01: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 moment01: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 it01:25
GeertB joined01:25
jeffpc pasky: hehe01: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 6am01:28
on regular basis01:28
pasky I'm better then01:28
it's usually 4am01:28
3am these days since I'm sick01:29
ne78 pasky: Ok no problemo01:39
Gitzilla joined01:44
Insount_awayInsount02:24
avuton joined02:36
InsountInsount_away02:37
eugene_ joined03:25
jeffpc sweet03:25
it is working03: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 thingy03:26
eugene_ i created a project there.03:26
jeffpc ok03:27
I think that makes you a repo03: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 idea03:27
what's the repo?03:27
or project03:28
eugene_ git+ssh://repo.or.cz/srv/git/spyglass.git03:28
jeffpc http://repo.or.cz/w/spyglass.git03:28
I see it :)03:28
I'd just try to push to it03:28
eugene_ i'm trying to push my repo03:28
jeffpc $ cat .git/remotes/origin03:29
URL: master.kernel.org:/pub/scm/linux/kernel/git/jsipek/gq.git03:29
Pull: master:origin03:29
Push: master:master03:29
that's my thing for gq03:29
then I can just run git pull/push03:29
and it does magic03:29
eugene_ hmm03:30
jeffpc I should probably use git+ssh03:30
but I'm a lazy bastard03:30
eugene_ ok03: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 forever03:31
eugene_ ok03:32
anholt joined03:35
yashi joined03:47
ruskie joined05:23
Gitzilla joined05:28
yashi joined05:58
Tv joined07:30
ShadeHawk joined08:10
ferdy joined08:21
kblin joined08:32
kanru joined09:07
GyrosGeier joined10:24
qball joined10:31
antifuchs joined10: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_ joined10:59
Insount_awayInsount11: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 joined11: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 joined11:34
GeertB joined11: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 joined12:15
cods joined12:17
GeertB joined12:19
kblin joined12:21
InsountInsount_away12: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 joined12: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 subject12:50
if you have properly formatted commit messages, all works just dandy12:51
xl0 So in my commit messages, I need an empty line before sign-off?12:51
segher erm12:51
you need to have in your commit message:12:52
subject line12:52
empty line12:52
rest12: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: line12:53
cehteh is there some way to generate gnu-like ChangeLog from a pre-commit hook?12:53
Insount_awayInsount12:56
ShadeHawk still, it is a bit of misfeature12:59
antifuchs left13:12
cehteh agreed, but since its gnu standard it could be nice if git maintains it, even if not versioned .. just making building tarballs easier13:17
two-face joined13: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-checkout14:04
pasky git-symbolic-ref HEAD14:04
segher nice, thanks14:06
jeffpc hey pasky14:07
I got a lot done yesterday14:08
it pushes and pops well enough for me to use it on unionfs :)14:08
any feedback is appreciated14:08
_timlarson joined14:13
pasky cool, will have a look at it later14:13
meyering joined14:14
jeffpc sure, thanks14:20
chris2 joined14:50
cods joined14:51
dwmw2_TPEdwmw2_gone15:37
nud joined15:58
GeertB joined16:07
robinr joined16:13
kanru joined16:18
InsountInsount_away16:20
dwmw2_gone joined16:25
dwmw2_gonedwmw2_zzz16:29
Eludias joined16:53
jeffpc what's the best way to set default author?16:55
spearce joined16:56
robinr joined16:57
segher either environment variable, or in your repo conf file16:58
envvar is nice if you have many repos16: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 it16: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
neat16: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 joined17:01
jeffpc neat17:02
thanks17: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 without17:03
jeffpc spearce: neat!17:03
_timlarson joined17:03
spearce robinr: its been a while since i looked at that code - where am i doing such stupidity? 17:04
robinr in recomputeMerge17:04
in RepositoryMapping17:04
I was thinking there mighth be some idea behind it17:05
_timlarson joined17: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 not17: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 things17: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 joined17:22
robinr ah17: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 joined17:26
robinr in mapHEADTree() you remove the parent, line 25617: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 awat17: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 view17:43
stgit will be my workhorse for a long time to come17:43
spearce its a good tool. :)17:43
robinr it wasnt't good enough, but then I added the "float" command so now it is17: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 joined17: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 joined18:08
pasky so it's just reimplementation with different deps18: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 does18: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 joined18:39
sgrimm joined18:40
spearce is showing his stupidity on git@vger.19:02
segher joined19:25
dsp joined19: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 introduced19:44
spearce if you know the file path: git log -- path; if not then its pretty difficult.19:44
dsp trying to reverse engineer gitweb19:44
in git-log, I don't see the blobs19:45
or the ability to pass it a blob19: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 blob19:48
thanks spearce.... I see what I need19:51
ShadeHawk dsp: that's what are 'hp' (hash parent) gitweb parameter for: for blob and tree objects it is a commit object hash20: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 joined20:12
_timlarson joined20:53
krh joined21:03
Gitzilla joined21:25
DrNick joined21:45
tony joined21:46
devogon joined21:58
sgrimm joined22:03
sgrimm joined22:23
Insount_awayInsount22:52
DrNick joined23:08
cods joined23:17
anholt joined23:28

Logs Search ←Prev date Next date→ Channels Documentation