IRCloggy #git 2006-09-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.

2006-09-14

DrNick joined00:36
alexMK joined00:58
etzel joined01:21
jkolb joined01:23
jkolb question: if i delete a file in my local repo via rm... how do i get it back? pull and fetch don't want to bring it back down01:24
kampasky cg restore file01:26
or git checkout -- file, no guarantees :)01:27
alexMK left01:27
jkolb kampasky: git checkout didn't work and i don't have cg installed (cogito?)01:29
fonseca The ugly solution: git cat-file blob HEAD:filename > filename01:33
jkolb fonseca: thanks that worked01:41
etzel left02:09
lu_zero_ joined02:38
lu_zero_lu_zero02:41
ShadeHawk git checkout HEAD -- file ?02:45
jkolb left02:53
mfischer joined03:03
anholt_ joined03:20
anholt_ so, has anyone been following the mozilla git conversion?03:31
mugwump idly03:32
anholt_ have they completed even a single conversion, and if so, using what tool?03:32
mugwump yes, and I believe that spearce is contributing his enhancements to the cvs importer in the git distribution03:32
anholt_ oh, interesting. are they available yet?03:33
mugwump I haven't seen it announced on the git list yet03:34
anholt_ ok. I'm interested in getting FreeBSD converted, which is of comparable size. The project is going through a similar process of looking at options.03:36
mugwump sure. I think one of the gentoo guys were around at one point...03:38
anholt_ pretty sure gentoo is *way* smaller.03:38
mugwump apparently their ports tree is pretty massive. Not sure what they're storing in it, though.03:39
anholt_ though maybe not -- they do more branching-type stuff, so less years of history may not mean less history total.03:41
we're 1.5G for src in CVS, and 1.1G for ports.03:42
somegeek joined03:55
mugwump anholt_: how big is a HEAD checkout?04:09
anholt_ head is like 250M I think04:09
mugwump for which, ports or src?04:10
anholt_ src04:10
probably close for ports04:11
mugwump see, problem is, that you don't want to force the entire ports checkouts on users,04:13
(ie, force them to download the whole thing)04:13
s/thing/history/04:13
"partial checkouts" is currently something of a research topic;04:13
however it *is* a current topic on the git mailing list04:13
anholt_ yeah, it seems like partial checkouts shouldn't fundamentally be that hard, just some new protocol and making current tools aware of it.04:14
("just")04:14
mugwump ;)04:15
ShadeHawk but you still need full repository... unless git would acquire subproject support04:28
git versions state of the whole project04:28
No new protocol is needed. Only making it easier to check out a part of repository, and teach users which commands to use to commit (i.e. instead of "commit -a" use "commit .")04:29
anholt_ ShadeHawk: right. we're talking about being interested in the full current tree, just not necessarily interested in the full history of the tree.04:29
mugwump by partial checkout, "partial" means partial in time as well as space04:29
it's just a big graph, anyway04:30
ShadeHawk or perhaps add some flag to commit which means "almost all", i.e. all changed files, but only those present in directory04:30
somegeek joined04:31
ShadeHawk Well, that is named "shallow clone" (or "sparse clone"). Alternative approach is "lazy clone". "Partial checkout" I think is more about checking out only a part (subdirectory) of repository04:32
makx_ joined04:32
alley_cat joined05:02
arwed joined05:04
arwedalley_cat05:05
mugwump hmm, stg uncommit -n 4 wants patch names.05:30
I thought it got those from the patch description.05:31
mugwump shrugs05:31
beu joined05:55
makx_makx06:08
somegeek joined06:50
robinr joined06:53
z3ro joined07:13
somegeek joined07:15
CIA-12 joined07:17
devogon joined07:24
ferdy joined08:05
dwmw2_gonedwmw208:41
Tv joined09:19
MadCoder joined09:48
kampasky 21165 Aug 16 Jon Smirl ( 1.0K) Huge win, compressing a window of delta runs as a unit10:15
how did this actually end up?10:15
is it valid or not?10:15
GeertB joined10:17
ShadeHawk IIRC not so much, after comparing with an ordinary repack -a -d, and not fast-import pack.10:26
tipote joined10:40
tipote Hi all ! I have a problem checking-out git repos because I am connecting through a restrictive network. I tried with the http:// approach, but it's incredibly slow (and for cairo, my repo of interest right now, it fails after half an hour). Is there another alternative ?10:42
ShadeHawk ssh+git10:56
if git doesn't work. But usually it is not available.10:56
if clone fails but downloads something, you might try to use fetch later10:57
git as of yet doesn't support download resuming10:57
and you can try to wget -c pack files10:58
tipote for freedesktop repos, git+ssh is reserved to developpers I think...11:03
and I don't have a freedesktop developper access ...11:04
as for 'git fetch', if I try it after 'git clone' just failed, I get : "fatal: Not a git repository: '.git'"11:06
tipote joined11:19
coywolf joined11:24
ShadeHawk You can try to download it "by hand"11:25
tipote ShadeHawk: I'm sorry, I've had a problem with my irc program11:26
Are you saying I can download by hand the git data ?11:26
ShadeHawk try download all in objects/pack (using wget -c), set HEAD to "ref: refs/heads/maste", and put the very fist commit (which you can get from gitweb) into .git/refs/heads/master11:27
then try to fetch.11:27
perhaps doing git-init-db first11:28
tipote: yes11:28
tipote so, for example, with git://anongit.freedesktop.org/git/cairo, I would do : wget -c http://anongit.freedesktop.org/git/cairo/objetc/pack11:31
In only get a index.html file...11:33
hmm, wget -r seems to do the trick11:40
ShadeHawk yes, wget -r should do the trick11:41
then try fetch to check if the idea worked11:41
tipote I'll tell you in half an hour when it will have finished to wget ;)11:42
thanks !11:44
kampasky wow11:49
If the increment import messes up you can always redo a full import,11:49
but a full Mozilla import takes about 2 hours with the git tools. I11:49
would always do a full import on the day of the actual cut over.11:49
so11:49
current git-cvsimport can do import of 5G of CVS to Git in two hours?11:49
that's pretty impressive!11:49
ShadeHawk no, it is modified cvs2svn + git-fastimport tool (which gives fast but suboptimal packs; packs instead of loose objects because for Mozilla repo the IO was the bound, not CPU)11:55
not released yet, I think11:56
mchehab joined11:57
kampasky aha12:00
so it's import from svn12:00
and cvs2svn takes how long and fastimport takes how long?12:00
benlau joined12:09
ShadeHawk No, it is cvs2svn converted to cvs2git. I guess that is 2 hours total conversion.12:16
and better ask the authors on git mailing list12:16
GeertB joined12:29
timlarson_ joined12:47
monkeydiver joined12:58
kampasky aha13:10
oh well :)13:11
thanks!13:11
boto joined13:14
Tv joined13:47
agile joined14:03
krh joined14:18
xjjk joined14:31
robinr joined14:40
kanru joined14:51
GyrosGeier joined15:29
dwmw2dwmw2_gone15:32
anholt_ joined15:32
Gitzilla joined15:40
agile joined15:50
spearce joined15:56
ShadeHawk kampasky: Jon Smirl of cvs2git, and Shawn Pearce of git-fast-import16:04
spearce what about me?16:04
anholt_ hopes neither of those uses cvsps any more16:05
spearce They don't. :-)16:05
spearce is reading the logs to catch up.16:06
anholt_ sweet. so we've got four radically different tools for cvs imports now? :)16:06
spearce 3. Jon's cvs2git depends on/invokes my git-fast-import.16:06
ShadeHawk three: cvsimport which uses cvsps, Keith Packard parsecvs used for X.Org but is quite memory hungry, and Jon Smirl and Shawn Pearce of cvs2git + git-fast-import16:07
spearce ShadeHawk:Jon's "Huge win, compressing a window of delta runs as a unit" was about 50% of the size of a full repack without that. 16:07
anholt_ ShadeHawk: ok. interesting. I'm wondering how their vendor branch handling is, since that'll be important to me.16:08
ShadeHawk IIRC second repack without compressing delta run as a unit shown that improvement is smaller... but I don't remember it that well...16:09
anholt_ is pretty sure he's figured out he can start doing parsecvs across FreeBSD today.16:09
ShadeHawk BTW each of one is better I think than previous.16:09
xjjk joined16:10
ShadeHawk cvsimport needs cvsps, is from what I read quite CPU bound due to heavy forking, and limited by cvsps by dropping some branches. it is incremental though, and distributed with Git16:11
anholt_ cvsps is unusable16:11
totally mangles your history, if it avoids crashing at all.16:12
if git-fast-import isn't around by this weekend and parsecvs is too memory hungry, I'll probably be fixing it it sounds like.16:12
ShadeHawk parsecvs was tailored for larger repositories, can do some more CVS corner cases, but IIRC it is memory hog, and is not incremental. You can pull it from parsecvs git repository at freedesktop, IIRC, and was not published16:12
anholt_ I do incremental updates with parsecvs by simply reconverting and pushing into my main repo again.16:13
it's published in terms of being in a git repository and well-licensed :)16:13
ShadeHawk parsecvs sucessfully converted X.Org repositories, but was to slow for Mozilla repo IIRC16:13
cvs2git (i.e. converted cvs2svn + git-fast-import) imports huuuge Mozilla repository (wnd with many corner cases) in 2 hours. I think it can be made incremental. Not released, I've not searched if it is availeble.16:14
spearce git-fast-import: http://www.spearce.org/projects/scm/git.git16:15
git-fast-import can do incremental. Jon's cvs2git I don't think can.16:15
kampasky oh16:16
ShadeHawk can cvs2svn do incremental?16:16
kampasky I've thought cvs2git is a mix of cvs2svn and git-fast-import?16:17
spearce I think Jon said it can, but not sure.16:17
kampasky did I at least get that right?16:17
ShadeHawk spearce: do you have it gitwebbed?16:17
spearce Yes. cvs2git runs git-fast-import as a background process and feeds it data over a pipe.16:17
kampasky it would be great to have a "public gitweb service"16:17
ShadeHawk kampasky: cvs2git is the unofficial name for modified cvs2svn (which is by authors of VS)16:17
spearce ShadeHawk: No; I haven't put gitweb.cgi on that server. 16:17
kampasky you tell it to track your repo and it will probide gitweb interface for it16:17
xpasky@machine[0:0]~$ cg-clone http://www.spearce.org/projects/scm/git.git16:18
defaulting to local storage area16:18
Fetching head...16:18
Fetching objects...16:18
error: File fbf19dd41bb51d5221fac739c5bdb48fd9012412 (http://www.spearce.org/projects/scm/git.git/objects/fb/f19dd41bb51d5221fac739c5bdb48fd9012412) corrupt16:18
Getting pack list for http://www.spearce.org/projects/scm/git.git/16:18
error: XML error: not well-formed (invalid token)16:18
wow16:19
spearce yea, my server is stupid. ignore it.16:19
kampasky ShadeHawk: what is VS?16:19
spearce I think he meant CVS.16:19
kampasky oh, I'd rather expect SVN16:19
:)16:19
spearce Some of the authors of SVN are the authors of CVS.16:20
kampasky spearce: aha so git-fast-import is something that eats blobs on input and generates a pack from them very fast?16:20
ShadeHawk and probably those wrote cvs2svn16:20
kampasky yes, I know :)16:20
spearce Right. _very_ fast. :)16:20
kampasky ok, cool16:20
now I get it :)16:20
someone should wiki it16:20
spearce It also does tree and commit generation from a command stream sent to it.16:20
ShadeHawk IIRC git-fast-import is because loose objects makes import heavily IO bound16:21
spearce That latter part is the bulk of its ~1600 lines of code.16:21
Right, loose objects are horribly slow. And repacking every 1000 objects is just as bad.16:21
ShadeHawk http://git.or.cz/gitwiki/InterfacesFrontendsAndTools#head-8870e1c81cc93f9a7a7acb5e969924ee60182d6b16:22
there is no mention of cvs2git + fast-import, though...16:22
spearce I'm adding an entry now.16:23
or maybe not. who the hell can read this wiki crap?16:23
kampasky it's a bit messy, perhaps the other-vcs interface should have own article16:25
spearce html would be easier! ''' means what, exactly?16:26
ShadeHawk bold I think.16:26
It's a pity that MoinMoin doesn't understand (or GitWiki doesn't have installed), *bold*, _underline_ notation16:27
robfitz joined16:28
spearce Hmm, I can't say gitwiki is fast either.16:29
Ok, now someone has a short paragraph telling them what cvs2git is...16:33
robinr joined16:35
ShadeHawk thanks16:36
spearce Hmm... ``Importing converted repositories multiple times into a single Subversion repository will likely break date-based range commands (e.g. svn diff -r {2002-02-17:2002-03-18}) since Subversion does a binary search through the repository for dates. While this is not the end of the world, it can be a minor inconvenience.''16:36
spearce guesses SVN folks are OK with mild data corruption.16:36
spearce According to the docs I don't think cvs2svn can do incremental conversions.16:37
kampasky but they can't get cvs2git yet, right?16:38
spearce You can ask Jon Smirl for it but according to the message he just posted on git@vger the code has some "issues" with the conversion so he wasn't distributing it widely.16:39
ShadeHawk so we wait... for now if someone wants cvs2git (e.g. FreeBSD folks) they have to ask...16:40
spearce Specifically there are some tags in the Mozilla repository which are "f'd up" and he's just tossing them or building them off the wrong versions. Not good.16:40
kampasky if he published his script as it is, some other people interested at converting could help him debug it16:41
*shrug*16:41
spearce Agreed, but he's hoping to merge with the cvs2svn folks and pick up their latest code.16:42
There's a 3 mailing list wide thread now on the subject (Git, Monotone and cvs2svn).16:42
ShadeHawk that tells us that the CVS "model" is seriously f*ed up. Still, for that old a tool (was it first that didn't use locking?)...16:44
and that without utilizing some good prcatices, much information is lost...16:45
spearce In what, 1985 when CVS first came out it was a good tool. :-)16:45
z3ro is there some reason why git-cvsimport doesn't have any files show up in the directory? it creates .git and populates it, but no files show up.17:04
git log even shows the log messages.17:04
spearce you just need to run git checkout to the files back.17:04
z3ro spearce: I did. nothing showed up. :(17:05
ShadeHawk because it imports to cvsimport branch or some such. You need to check it out (git checkout cvsimport).17:05
z3ro ShadeHawk: nope, no cvsimport branch. just "master", "origin", and the branches that are in cvs.17:07
it's really odd.17:07
spearce By default HEAD is master, so if git log is showing you something its showing you what is in master.17:08
i'd say try `git reset --hard HEAD` and see what you get.17:08
z3ro spearce: ah, that worked.17:08
hmm. maybe it's changed, but git-cvsimport used to automaticaly create all the files from the master branch.17:09
spearce must be a small repository if it went that fast. :-)17:09
probably a bug that it didn't perform the checkout after import.17:09
z3ro hmm17:09
I'll see if it does the checkout automatically another cvs repo that I have to import.17:10
also, for some reason I keep getting a "connect error: Network is unreachable" error when I run git-cvsimport, even though it still gets the data.17:13
spearce That's cute. Very useful message.17:13
z3ro it prints that error, then continues with the "cvs rlog: Logging /path", and eventually "Committing initial tree ..."17:14
spearce: yeah. not a very helpful error at all.17:14
somegeek joined17:16
ShadeHawk can anyone tell me what is the difference between peek-remote and ls-remote in the local repository case?17:20
spearce Hmm, peek-remote forks a server process to read the refs from where its getting them from.17:22
ls-remote does some filtering on the result, like sorting.17:23
so i think its just the sorting.17:23
(that's different)17:23
lyakh joined17:29
agile_ joined18:09
Gitzilla joined18:16
anholt_ joined18:18
z3ro hmm... git-cvsimport seems to have hung on generating the pack.18:24
or rather, just after the "Pcak pack-... created." line.18:25
s/Pcak/Pack/18:25
I think that cvsimport is broken in the latest git.18:32
my laptop has an older version (1.3.3) and that works fine...18:32
anholt_ would recommend using parsecvs instead of cvsimport anyway18:34
z3ro anholt_: does parsecvs need access to the repository directly (eg, the actual repository instead of via the cvs protocol)18:35
I only have access via cvs protocol.18:35
anholt_ yes18:35
some place besides fd.o or sf.net?18:35
cvssuck is probably the answer in that case.18:35
z3ro I'm going to try doing cvsimport on my laptop (older git version) and see if that works, then I can just copy the git repo to my main pc, and hopefully cvsimport will be smart enough to be able to do updates.18:37
if not, I'll try cvssuck.18:38
agile_ joined18:44
ShadeHawk cvssuck is from what I heard painfully slow18:46
z3ro so is git-cvsimport, though.18:46
GeertB joined18:46
ShadeHawk z3ro: send cvsimport bugreport to git mailing list (see http://git.or.cz/gitwiki/GitCommunity), _after_ checking that it is not for example the case of too old cvsps...18:47
z3ro ShadeHawk: cvsps is version 2.118:48
I believe that's pretty new.18:48
xjjk joined18:48
chexum joined18:56
agile__ joined19:02
boto joined19:03
ShadeHawk What does warning "Variable "@list" will not stay shared" mean?19:10
devogon joined19:15
ShadeHawk found it in perldiag19:35
mugwump it means the variable's in the wrong scope19:49
you need to define it with use var or our, not my19:49
ShadeHawk or use anonymous subroutine for wanted in File::Find::find19:51
mugwump mmm. closures++19:51
agile joined19:57
beu joined20:11
JoshTriplett joined20:23
agile joined20:45
kampasky 18:15 < spearce> git-fast-import: http://www.spearce.org/projects/scm/git.git20:52
it seems to contian the stock repository20:52
robinr there's a branch named sp/fasttrack there21:18
oops sp/fastpack21:18
chexum left21:24
agile joined21:52
robfitz joined22:07
kampasky oh, I see22:27
t22:28
a22:28
fonseca Allo pasky.22:32
kampasky hey Jonas22:43
I've finally tried tig yesterday22:43
and it's totally awesome :)22:43
fonseca Thanks. :)22:47
Catching up with the backlog?22:48
Doing tig is almost like doing a mini elinks. I feel like I've already written most of the code once. And then of course it is very manageable.22:51
JoshTriplett fonseca: The screenshots of the gitk equivalent look awesome.22:54
fonseca: I've often wanted a non-graphical gitk.22:55
DrNick joined23:01
fonseca Time will tell if the rev graph rendering can end out handling more than simple repositories.23:01
kampasky there is no rev graph rendering as of now, right?23:01
fonseca Try to clone branch new/rev-graph23:01
But of course there are lots of other uses. For example it would be nice to be able to see which patches you have reviewed (if you work in a shared repo).23:03
Use 'g' to toggle the rev-graph, if it gets too ugly. ;)23:04
kampasky I'm currently on the edge of collapsing because of THE MAD ABOMINATION CALLED RPM23:05
I mean, hell, there's no simple way to just extract the properly patched src tree23:08
fonseca Ok, I thought RPM had lots of "hooks" to play with.23:09
segher_segher23:09
fonseca Have to go. Good luck. ;)23:10
kampasky thanks :/23:10
robinr kampasky: rpm -ivh x.srpm;rpmbuild -bp thespecfile or something like that23:11
kampasky yes, I know rpmbuild -bp23:14
what I don't know is how to force rpmbuild to ignore dependencies23:14
robinr --nodeps?23:17
agile joined23:18
kampasky indeed, worked, just discovered that myself :)23:20
it would help if they documented that23:20
GeertB joined23:21
segher_ joined23:37
segher_segher23:47
auke joined23:47
auke hola folks23:47
I have some stg problems... is there a specific stgit channel or can I paste here?23:47
kampasky paste here23:48
auke I cannot stg push one of 25 patches anymore and stg export also fails23:48
bottom line error:23:48
File "/usr/lib/python2.4/site-packages/stgit/git.py", line 441, in commit23:48
if message[-1:] != '\n':23:48
TypeError: unsubscriptable object23:48
I tried stg refresh -e and the message is not empty23:49
I can also not stg push -a anymore23:50
it's hosed :)23:50
I'm going home and will be back online later, can provide more info if needed23:51
or debug/whack stg23:51
bbl23:51
robinr i know stgit can mess things up if you're not in the root of your checkedout repo when performing some commands23:52
stg push --undo or stg status --reset may help23:52
auke Undoing the "e1000_git_gather_hardware_bits_together.patch" push...stg push: No push undo information available23:53
still the same error23:53
I gotta run, bbl23:53

Logs Search ←Prev date Next date→ Channels Documentation