IRCloggy #git 2007-03-14

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.

2007-03-14

GeertB joined00:08
chris__ I seem to run into this "file: needs update" error message quite often.00:30
Is there something I can do to supress it? For example, when running git rebase?00:31
gitte chris__: git commit?00:31
chris__ gitte: but the file has unfinished changes destined for another branch.00:32
gitte raalkml: gitster: I'll tell you why the exit status of git-diff --no-index is okay for the tests:00:33
chris__ and it's not touched by anything being rebased.00:33
gitte chris__: you realize that this is not good enough an explanation if you merge something which touches the same files?00:33
rallkml: gitster: I only converted `diff -u`, which was meant for comparing _outputs_.00:34
These outputs are evidently never tracked.00:34
I could have forgotten some, but I tried to make sure not to.00:34
chris__ gitte: It complains about any and every modified file, even files that aren't touched in any of the relavent commits.00:40
Am I just not allowed to use git-rebase in a dirty tree? Even if I know it won't conflict?00:41
gitte chris__: could be. Is it such a tremendous cost to commit those changes to a new branch?00:52
DrNick2 joined00:58
DrNick2DrNick00:58
chris__ gitte: probably not. I'm just still getting comfortable with git, though, so I'm basically trying to follow the scripts in the docs.01:01
I'm sure when I'm more comfortable, it won't seem so limiting to have to have a clean tree.01:02
gitte chris__: For me, I realized that _anything_ which got committed is safe (by way of reflogs).01:06
Too often, I said "git reset --hard" without checking "git status" first....01:06
mugwump commit first and ask questions later01:07
GeertB joined01:37
kanru joined01:51
dancor joined02:15
krh joined02:31
z3ro joined02:37
z3ro joined02:41
Avochelm joined03:15
GeertB joined03:21
tko joined03:24
GeertB joined03:29
tko joined03:44
Romster joined04:15
Tv joined04:15
GeertB joined04:17
GeertB joined04:36
mugwump fatal: corrupted pack file .git/objects/pack/pack-b93647aabc093db1d05bd275c6916c9dad7fcca8.pack04:53
ow04:53
oh well04:53
mugwump nukes from orbit04:54
mugwump hmm, wonder if that's because I rsynced a 1.5 git repo to a 1.4 git04:54
oh, yeah, that's all it is04:56
rkaway joined05:29
sgrimm joined05:45
z3ro joined06:27
Eludias joined07:32
tko joined07:41
GyrosGeier joined07:43
Eludias joined07:57
Eludias joined07:58
dancor joined08:10
Dodji joined08:15
Dodji hello08:15
anders__anders08:27
andersanders_08:27
nud__ joined09:00
nud_ joined09:04
nud__ joined09:13
tko joined09:45
icefox joined09:54
icefox I am curious, can .git/info/exclude be pushed/pulled so that a project can share a project specific exclude file?09:54
In send-pack.c there is the error message "No refs, in common and none specified; doing nothing.\n" Perhaps it would be good to add "Did you forget --all?"10:02
matled you could use .gitignore instead of .git/info/exclude, which is per directory10:05
but e.g. *.o seems to work for the directory the .gitignore file is in and all subdirectories10:06
icefox yah, I have been using .gitignore, but like you said it is per directory10:07
oh, hmm I will have to play with that (just making a top level .gitignore)10:07
chris2 joined10:08
kanru_ joined10:18
Dodji joined10:36
nud__nud10:47
benlau joined10:59
gcl joined11:40
Roomster joined12:22
wvdschel joined12:45
wvdschel hi12:45
nud joined12:49
RoomsterRomster13:00
timlarson_ joined13:12
icefox left13:25
robfitz joined13:31
GeertB joined13:33
Romster joined13:36
dwmw2_gone joined13:39
spearce joined14:16
spearce waits for the GSoC projects to be posted...14:43
jbowes spearce: when is that announced?14:43
spearce today, supposedly.14:43
Oejet joined14:47
kblin yeah, probably this afternoon PDT15:06
ferdy joined15:25
rphillips joined15:27
jrsantos joined15:54
troyt joined15:59
krh joined16:02
troyt spearce: Quick question: I've been a bit busy lately, and haven't been able to track the git mailing list. Have you made any significant progress into pack v.4?16:38
matled spearce: probably git-version-gen should be fixed to not use buggy git-describe output16:38
spearce matled: patch? ;-) yes, it probably should be somehow taught to compile git-describe on its own, then run its own just-built git-describe, rather than relying on the installed version.16:39
matled I'd just ignore installed broken git binaries16:39
spearce sort of like how the dist target uses its own git-archive.16:39
matled if git describe says something else than v[0-9].* ignore the output16:39
spearce troyt: i had a working prototype for trees, and started to look at breaking the object ID part of the index out into the packfile (for lots of reasons) but haven't been able to get back to that in the past like week and a half.16:40
matled: actually that's like what git-gui's version gen does; it ignores anything that isn't gitgui-*.16:41
bfields joined16:41
DrNick joined16:45
spearce DrNick: weren't you asking for my upgrade to 1.5.0 script yesterday? did you see it on the mailing list?16:46
DrNick no, but I'll go look now16:46
spearce http://article.gmane.org/gmane.comp.version-control.git/4217616:47
DrNick thanks16:51
Warning: No merge candidate found because value of config option16:52
"branch.master.merge" does not match any remote branch fetched.16:52
needs some work :)16:52
spearce is that from the git-fetch in that script?16:52
DrNick no, that's from a pull on an upgraded repo16:52
looks like remotes2config.sh doesn't quite finish the job16:53
spearce no, i think its more my script. it doesn't setup the branch.master.merge entry like git-clone would.16:53
DrNick I wish "git config branch.master.merge=refs/heads/master branch.master.remote=origin" worked16:54
there's two bugs there, for those of you paying attention16:54
spearce the fact that git config doesn't take that syntax is annoying. and my script not setting up those entries is equally annoying. ;-)16:59
DrNick and sometimes it doesn't delete old-style tracking branches16:59
ayrnieu joined17:00
DrNick oh, wait, that's deliberate17:00
I take it that's for local tracking branches that don't have a cooresponding remote branch any more17:01
spearce hmm, no. its avoiding deleting old-style tracking branches that don't conform to the "theirs:mine" syntax, as doing so might cause you to lose data.17:03
Thumper__ joined17:07
alley_cat joined17:10
robin joined17:15
kanru joined17:22
gleesond so I have gitweb up but its not showing any of my files.... I set the config to look at my /home/gleesond/public_html/cms/18:06
http://offthecob.ath.cx/code.html18:07
gitte gleesond: did you edit the variable "projects_list" in gitweb?18:10
Or projectroot?18:11
Also, there is a gitweb/README which might be helpful.18:12
gleesond gitte: project root18:20
what do I do to project_list?18:21
$projects_list = $projectroot;18:25
is what it currently is18:25
lyakh joined18:53
ferdy joined18:56
GyrosGeier joined18:59
else58 joined19:02
Dodji hello, I have a quick question19:12
I am woking in a branch b1. I have done a checkout and have some modified file in the working dir.19:12
I haven't added the changeset to the index yet, but I'd like to quickly switch to the branch b2 and do some work, without loosing the changeset I have in the working tree, in branch in branc b119:13
is that possible ?19:13
I mean, possible without having to git clone my tree to do what I want19:14
Eludias joined19:15
bfields Not possible; you could save the diff and then checkout (git diff >TMP.patch; patch -p1 -R <TMP.patch; git checkout other-work... then apply patch later) or just make the commit (why not? Just: git commit -a -m "temporary commit--fix me!", then checkout, then come back and git-reset HEAD or commit --amend or something.)19:18
Dodji bfields, okay. I think I haven't well understood the meaning of git-reset yet to be comfortable with it19:19
bfields sorry, should've been git-reset HEAD^.19:21
So, the deal is, you come back to the branch with your incomplete work committed onto it, and you'd like to destroy the commit with that incomplete work, but still keep the changes it made in your working tree, right?19:22
Dodji yup19:23
I have just re-read git-reset doc19:23
yeah it's exactly what I want I think19:23
bfields And that's what git-reset does: it "undoes" that last commit, but leaves your working tree in the state it was after the last commit.19:23
Dodji yeah git-reset --soft HEAD^19:24
exactly that19:24
thank you bfields19:24
Dodji is starting to love this git thing19:24
bfields It's fun once you get the idea, but getting started is maybe a little hairy....19:25
Dodji what is the difference between the concept of HEAD and the concept of tip ?19:26
I see the two words mentioned in the doc19:26
matled Dodji: --soft will not reset the index, so after git reset --soft HEAD^ the changes are already in the index19:26
pdmef joined19:26
Dodji matled, yeah and will be marked as "added but not yet commited"19:27
matled exactly, --mixed would bring you back to the state you were at before doing the commit -a -m temporary19:27
Dodji matled, which is what I want as I can later amend those changes an add the new diff to the index to commit the amendment19:27
pdmef joined19:28
Dodji matled, thank you for pointing that out19:28
I am loving this channel as well19:28
:-)19:28
bfields yup. Another option--if you're planning to actually do that from the start--is to just leave the temporary commit there (don't bother with the reset), then make further changes, then commit the further changes with "commit --amend".19:28
That "commit --amend" will destroy the topmost commit and replace it by a new commit with the additional changes you've made. And it'll give you another chance to edit the commit message.19:29
Dodji bfields, my problem is that when I switch to branch b2, by doing checkout -b b2, what happens to my untracked changes ?19:30
bfields oh, either way, you should commit the untracked changes first.19:30
Dodji I want the untraced changes to stay in the working tree of branch b1 ...19:30
bfields right.19:30
Dodji okay19:30
bfields It's just a question of what you do when you get back to the original b1.19:30
Dodji okay19:31
bfields You can either reset, then create a new commit after you've finished the changes, or leave the temporary commit there and replace it later with commit --amend.19:31
Dodji okay19:31
the doc say "Used to amend the tip of the current branch"19:32
about commit --amend19:32
I was not sure about what tip meant :-)19:32
I didn't know if it was the same as HEAD19:32
bfields yes, the same.19:32
Dodji It looks like it means the same19:32
okay19:32
bfields "tip" is just informal term to mean most recent commit on a branch.19:32
HEAD always refers to the tip of the current branch.19:33
Dodji okay thanks19:34
robinr joined19:36
Dodji how do I merge a certain commit from branch b2 into my current branch b1 ?19:39
I don't want to merge the HEAD of b2 into b1, but rather cherrypick the a certain commit (plus it's parent commits, of course)19:40
spearce a specific commit and everything behind it (its whole history): `git merge thatcommit`. e.g. `git merge b2` (all of b2), `git merge b2~1` (one commit back), ...19:40
GyrosGeier hmm19:40
Dodji spearce, can I say git merge <the-commit-sha> >19:40
spearce yes19:40
Dodji okay cool19:40
thank you19:41
bfields note that'll also bring in everything *before* that particular commit--is that what you want?19:41
robinr bfields: he said so19:45
bfields Whoops, I missed the "plus it's parents commits...". Some days I can read, I swear....19:45
spuk- joined19:46
chris__ Does anyone know what I'm doing wrong to get:20:03
fatal: failed to unpack tree object 76c491...20:03
spearce what did that come out of, a fetch?20:03
chris__ after the command: git checkout -b TMP mytag20:03
spearce run git-fsck --full; i suspect some corruption.20:03
chris__ It shows nothing.20:05
spearce hmm. and git-cat-file -p 76c491... ?20:05
chris__ I may have created the tag incorrectly... I said git tag mytag 76c491...20:07
(with no -a)20:07
spearce well, its a bare tag then (not annotated, not signed), which is still ok as a tag.20:07
is 76c491 really a tree-ish?20:07
chris__ oh, actually, the sha1 in the error was not the sha1 I used to create the tag.20:08
the sha1 in the error message is the commit at the tip.20:08
yann joined20:09
chris__ `git-cat-file -p 76c491` shows the tip commit.20:09
IOW, it shows the same thing as `git-cat-file -p HEAD`.20:11
spearce uhh... that's a tree-ish, so that should have worked. looking at the code the reason for that error is pretty much only if that object doesn't exist, or isn't a tree-ish.20:11
so i'm quite stumped at the moment.20:12
chris__ git-branch TMP mytag worked.20:13
spearce can you then do git checkout TMP ?20:13
chris__ git-checkout TMP gives the same error as before20:13
`git-checkout master` gives the same error, too. (I'm on master.)20:15
spearce git cat-file -t mytag ?20:17
i'm failing to come up with a reason why this error would be displayed, except: a) the object isn't a tree-ish, b) the object is corrupt.20:18
chris__ git-cat-file -t mytag says 'commit'20:19
spearce rats. this commit, it has a tree? (git-cat-file commit mytag | head -1)20:19
chris__ `git-show mytag` output seems correct20:20
spearce wtf. why is read-tree puking on this but everyone else is happy?20:20
what version of git are you using?20:20
chris__ yes, it has a tree.20:21
git version 1.5.0.220:21
the only thing that I can think of that may be special about this commit is that it was created using `git-commit --amend`20:22
spearce nah, that isn't it. ;-)20:23
chris__ actually, no it wasn't, nm.20:23
spearce is this commit maybe in a packfile? or is too recent to have been packed?20:23
chris__ no, it was my last commit, and I haven't packed since.20:23
however, I have done a `git-svn fetch` since committing.20:24
spearce but git-svn doesn't repack on its own, does it?20:24
bfields df . ????20:24
chris__ oh, and also a git-rebase remotes/git-svn20:25
spearce hmm, actually it does apparently. I'm really quite stumped on this. Its like that commit isn't being seen as a tree by git-read-tree, but is by everything else (e.g. git-show).20:25
chris__ spearce: how would I tell? git-count-objects shows:20:25
201 objects, 1652 kilobytes20:25
bfields: plenty of free space here.20:26
spearce well, my question about packed .vs loose was i was wondering if you had the new useDeltaBaseOffset flag enabled, and if maybe your git-read-tree executable was somehow pre-1.5.0.2 while the rest of your git was 1.5.0.2...20:26
what does "git ls-tree -r mytag" give you, other than a recursive spewing of your files to stdout?20:27
chris__ my only git binary cam from the stock FC6 rpm.20:27
bfields df -i . ??? ok, grasping at straws: its just that, if you can git show then surely the object is readable, so a git checkout failure must be a problem writing out changes to the working directory rather than reading the tree object?20:28
spearce that *should* die with "not a tree object" if its behaving like read-tree is, as that's the same damn code...20:28
bfields: the error chris__ is citing is *only* for failure to read the tree into memory. nothing else.20:28
bfields ok, makes sense.20:29
chris__ spearce: I think the tag is a red-herring, did you mean HEAD?20:29
spearce chris__: why? i was just using the tag because that's got the name of the commit in it that you are having issue with, does it not?20:29
clee spearce: how goes it?20:31
chris__ spearce: Sorry, I might have confused the issue with the tag. Even `git-checkout HEAD` gives the same error.20:31
spearce hey clee. busy day. and poor chris__ here is suffering some sort of repository error that is baffling me.20:31
chris__ and my tree is clean, BTW.20:32
the sha1 in the error message is for HEAD.20:32
spearce chris__: so its your tip commit of this branch that is borked in some way. and you just did a rebase? do you have a .git/logs/refs/heads/master or a valid .git/ORIG_HEAD that you can undo the rebase?20:32
what i'm thinking is maybe step back to before the rebase (and delete that tag and TMP branch too), prune, so that the bad commit is deleted, then redo the rebase. might get things working again, but won't explain why we are unable to read that damn commit as a tree in read-tree.20:34
chris__ oh, another hypothesis: I'm not actually at the basedir of my repo. In fact, I'm in a subdir of my repo that I got to my following a symlink from a *different* repo. coupld they be getting confused?20:34
spearce yes20:35
maybe20:35
troyt joined20:35
chris__ yeah, cd'ing into the same directory using a path with no symlink and trying again worked fine.20:36
clee spearce: was there ever any progress made on that whole splitting-commitblobs-and-fileblobs-into-separate-packs idea?20:37
chris__ kinda funny how all those other commands worked fine, but git-checkout didn't.20:37
spearce ok, that's just beyond bizarre. we find the repository by walking up (via "../../") to locate a .git, and take that if we find it. a symlink won't affect .. traversal; the directory would point back up to the real .git that owns it.20:37
clee: no. nothing has come of it.20:37
clee spearce: damn20:37
spearce clee: probably not hard if you want to hack on a patch in fast-import. ;-)20:38
clee spearce: I don't suppose there's any easy way to manually repack a repo in such a method?20:38
chris__ spearce: are you sure walking up won't follow the symlink. It does in the shell.20:38
spearce chris__: yea. that's the bug.20:39
we do "../../.." in the C code, but in the git-checkout.sh script we do the same thing, but in shell. ;-)20:39
bfields neat-o.20:39
spearce the shell must be popping the symlink rather than traversing the directory structure. so git-checkout went up to the wrong toplevel, but the C based git-show, git-cat-file, git-branch stayed in the right place.20:39
chris__ fascinating. :)20:40
clee not fascinating20:40
evil20:40
qfyre joined20:40
spearce clee: horribly difficult i think. you need to create a list of commits, another list of blobs, etc. making the list is cheap (rev-list --objects), splitting it by type is not.20:40
clee spearce: weak. maybe I can patch rev-list to spit out the type.20:41
spearce chris__: your /bin/sh is evil for popping paths and not using "..".20:41
clee: its not hard. the data is in memory at the time we are dumping the sha1.20:42
chris__ spearce: that would be: GNU bash, version 3.1.17(1)-release (x86_64-redhat-linux-gnu)20:43
spearce yea, pure evil. ;-)20:44
chris__ spearce: maybe the script should `set -P`20:45
spearce yes. but is that posix standard?20:46
lyakh joined20:50
Eludias joined21:06
krh joined21:19
lyakh joined21:25
wereHamster joined22:19
wereHamster if I have a certain commit, how can I find out which tag follows the commit, eg. in which release the commit was included the first time?22:20
matled gitk shows that information22:24
I don't know how to get that information manually22:24
wereHamster emerge: there are no ebuilds to satisfy "gitk" :(22:25
matled isn't gitk already installed with git?22:25
wereHamster doesn't seem so22:25
lol.. GIT is smarter than it was last year :)22:26
cehteh quite much22:27
jrs joined22:28
wereHamster ... similar to gitk (a simple GUI in TCL/TK distributed with stock Git)22:28
why doesn't gentoo install it then?22:28
matled perhaps you've to enable this22:28
it depends on tcl/tk22:29
wereHamster USE="-bash-completion -curl -doc -emacs -gtk -mozsha1 -perl (-ppcsha1) -tk -webdav"22:29
that's a lot use flags :-/22:29
matled +tk probably22:29
wereHamster that's gtk for? is there a gtk interface?22:30
matled no idea22:30
ah, contrib/gitview/22:31
no idea what that is22:31
raalkml joined22:33
Tv wereHamster: sounds like you're looking for git name-rev22:35
with --tags22:35
wereHamster what does tags/v2.6.18-rc2^0~103 mean? the ^0~103 part?22:36
Tv try reading the man page, maybe?22:36
raalkml 103rd parent of v2.6.18-rc222:37
no, first parent of 103rd generation... Wow22:38
wereHamster the man page only explains the ~103 part, not the ^022:39
.. or I am blind, also possible22:39
raalkml wereHamster: ^0 is the commit itself22:40
0th parent22:40
Tv wereHamster: also, a generic concept all over git22:40
wereHamster: read the right man page ;)22:40
might be in the tutorial, though22:41
wereHamster I thought ~ refered to parents.. like HEAD~3 the thirs parent of HEAD..?22:41
Tv and not on a man page22:41
~ climbs branches, ^ chooses them22:41
IIRC22:41
raalkml they both are22:41
Tv it gets un-humanfriendly with branches, really22:42
raalkml right, just different axes22:42
axis22:42
Tv gah git-svn dcommit commited one and stopped22:42
now I need to manually rebase the rest of the branch22:42
raalkml it is friendly, just choosy about friends22:42
wereHamster omg so difficult.. that it was tags/v2.6.18-rc2 is enough for me -.-22:42
Tv because they have a shared commit that really isn't understood to be the same22:42
annoyage22:42
wereHamster: strip out the end22:43
wereHamsterwereHamster|zZz23:05
gleesond can some one tell me where the hooks file is?23:44
raalkml gleesond: there are many23:44
in .git/hooks23:44
gleesond ah ok thanks23:45
do I need to change something in hooks to make gitweb to wark23:46
raalkml am not an expert, but I vaguely remember something about one of example hooks updating server info23:47
which gitweb probably does not need23:47
Randal hooks--post-update23:48
runs git-update-server-info23:48

Logs Search ←Prev date Next date→ Channels Documentation