IRCloggy #git 2007-05-17

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-05-17

gitster I would expect certain resistance to add more Perl scriptlet in the shell scripts, though.00:00
gitte ;-)00:01
gitster yeah, especially across the pond.00:01
spearce probably from alex. i'm fine with it until we get that shell rewritten in C.00:01
Randal well if there was really a way to do it portably in the shell, it'd get done00:01
gitster It should not be too hard, but I am obviously not motivated enough as I do not use "clean" myself.00:01
Randal but you can't. the shell sucks.00:01
gitster Randal: Oh, I do not dispute that; an obvious and only way out is to do it in C.00:02
spearce shell is meant for me to enter "git do-something-useful" into and have it run "$HOME/sw/bin/git" for me. that's it. ;-)00:02
Randal "only" - I disagree00:02
there's already Perl in the git distro00:02
gitster Only in the context of the current trend.00:03
context spearce: wy not just put ~/sw/bin in your path before the system paths00:03
spearce context: i do, that's my point. shell is meant to do that sort of "ui" thing for forking and exec'ing programs.00:03
context o ive never touched shell :x00:04
gitte git-clean is only 99 lines. Shouldn't be too hard...00:05
gitster more than half of that is just getopt().00:08
Randal the whole thing would probably ten lines in Perl :)00:09
and 300 line sin C00:09
gitte ... which we should do properly at some stage anyway...00:09
... and would stop working with Activision Perl.00:09
gitster I guess bits from builtin-ls-files needs to be libified first, which would probably be 3/4 of that 300 lines in C.00:09
Randal activestate is not activision. :)00:09
and no, it'd work fine in activestate perl00:10
gitte Oops.00:10
Randal if written according to "perldoc perlport"00:10
some people can't read though00:10
gitte Activestate has its own problems, too.00:10
gitster Heh. Activision Perl would be running on Z-machine ;-)00:10
gitte Paths. for one.00:10
Randal if you do them right, no00:10
again - see perlport00:10
the problems are known, and easily accomodated00:10
heck - even POE works on activestate00:11
gitte We don't _have_ to accomodate.00:11
Randal and that's *full* of heavy near-metal activities00:11
the alternative to not accomdating is the current crap that is git-clean00:11
so no, you don't have to00:11
gitte No.00:11
Randal and then things break00:11
gitte The alternative is to do it properly.00:11
Randal yes. A good perl script would do it properly. so we agree.00:12
gitte Perl sucks.00:12
Randal a c program written by a smart person would also do00:12
gitte Sometimes.00:12
gitster I do not think Perl sucks.00:12
Randal but that c programmer woudl have to be as aware of the issues with windows as the perl programmer would00:12
gitster Bad programmer's programs suck.00:12
Randal so you haven't eliminated any smarteness. :)00:12
gitte I _hate_ the fact that on every new machine I work on, I have to _manually_ set GITPERLLIB. _That_ sucks.00:13
Randal I've *never* set GITPERLLIB00:13
I don't even know what it is00:13
And I use git on a half dozen matchines00:14
gitte I _only_ need to set it for "git remote add", though.00:14
Randal what does that do that requires it?00:14
spearce gitte: edit your config file like a real man. ;-)00:14
gitte spearce: do you think I wrote git-repo-config to edit my config file? Noooo!00:14
spearce gitte:you know what's missing in git-diff? having the hunk header regexp include the [section] or [section "sub"] headers in a git config file.00:15
Randal ... use lib (split(/:/, $ENV{GITPERLLIB} || "/opt/git/lib/perl5/site_perl"));00:15
that looks like it'll work fine. I don't set GITPERLLIB00:16
spearce i have a few files i track that are in git config format just so i can use git-config to edit them. :-)00:16
Randal and the latter path points in the right place for me00:16
gitte spearce: I always wanted to find the time to actually implement Junio's suggestion: have regexps for the hunk headers.00:16
Randal so I'm not sure why you setenv at all00:16
gitte (I still have the Java method hack in my local tree...)00:16
jasam we are not converting shell and perl programs to C because of "shell/perl programs suck", if I do such a thing there must be other reasons00:17
spearce jasam: doing whitespace safe things in shell is non-trivial. in c and perl its easier. shell is slow on cygwin. c less so. more APIs are available in c than in shell. its easier to maintain (my opinion only). etc.00:18
gitte jasam: it is also for portability, and -- even more importantly -- for performance reasons.00:18
Randal more APIs in Perl than in shell too00:19
gitte Also, consistency.00:19
Randal Perl is far more portable and safe than the shell00:19
provided Perl is there in the first place00:19
gitte People like me suck at Perl.00:19
Randal Perl is also likely faster than any shell script00:19
unless it's a trivial script00:19
gitte An empty C program beats an empty Perl script any time of the day.00:21
jasam and empty perl program is easier to write than a C one00:23
spearce perl -e '' ;-)00:23
jasam main(){}00:24
spearce yea, but my perl program compiled and ran, and it used less characters. :-)00:24
robinr gitster: when is 1.5.2 expected. thinking if I'll get to doing a cvsexportcommit before that00:24
spearce after all, 640,000 such things is enough for everyone! we must conserve them! :-)00:24
robinr: already stated hopefully by this weekend.00:25
gitte jasam: touch main.c00:25
compiles with most C compilers.00:25
robinr I tried feeding perl from /dev/random, most got accepted without complaints00:26
gitte ;-)00:26
robinr it didn't do anything though00:26
spearce that's terrifiying. what if it randomly generates 'unlink "that/important/file"' ? ;-)00:26
gitte I tried with /dev/crap, but it says "can't open perl script "/dev/crap"".00:26
robinr spearce: chrooted :)00:27
gitte spearce: you need a million monkeys to get that.00:27
robinr gitte: not necessarily, the first one could do it00:27
silven joined00:27
silven Can someone tell me how to find the version number of git (git --version)?00:28
robinr have you tried?00:28
spearce git --version? git version? both work.00:28
silven [zmc@wwwsrv01 git]$ git --version00:28
Git command '--version' not found. Try one of00:28
... list of commands00:29
robinr silven: you have another program called git :)00:29
sgrimm Sounds like you have the wrong git00:29
You probably have the GNU Interactive Tools package installed00:29
silven I imagine it's an old version, git clone works, but I can't use the -o param.00:29
are they compatible?00:29
sgrimm Ah, okay, if git clone works then I'm wrong.00:29
robinr that one must be ancient00:30
gitte silven: try without "--"00:30
silven it seems old because alot of things act differently (this is on a centos 4 server)00:30
same thing without the --00:30
CentOS release 4.3 (Final) to be precise00:30
sgrimm What does "man git" say at the bottom of the manpage?00:31
robinr is it installed using a package manager of some sort?00:31
sgrimm (in the page footer, actually)00:31
silven GIT(7)00:31
aeruder_ Git 1.5.2.rc3 05/10/2007 GIT(7)00:31
silven robinr - I imagine so, but this isn't my box. (no root access)00:31
aeruder_ nothin like that?00:31
sgrimm Okay, I guess the version-number-in-page-footer thing is a recent addition, then.00:31
silven nope00:31
robinr silven: you may be able to query the package manage anyway00:32
silven trying...00:32
git-0.99.4-1.2.el4.rf00:32
robinr if it is rpm you'd to: rpm -qv $(which git)00:32
:O00:32
silven lol.00:32
sgrimm Yeah, that's practically pre-Cambrian00:32
aeruder_ er, wow00:33
:)00:33
silven Thanks a lot. I was freaking out. It was behaving VERY oddly.00:33
gitte grins00:33
robinr if it's mint condition it could be worth something :)00:33
silven it's centos. I imagine it's some non-standard specially patched binary cr*p00:33
robinr might have been the best SCM at the time :)00:34
silven most likely. I'm in the unfortunate position of migrating a bunch of svn repos to git. :(00:34
aeruder_ its pretty straight forward with git-svn00:35
sgrimm If the repos are in anything like standard svn layout, git-svn will make that a one-step process.00:35
silven on the newer 'structured' repos it is. But they had the habit of spamming everything into the root of the repo and then moving it around.. and the svnserve segfaults on me everyonce in a while, and when it's not segfaulting it goes 100%cpu :D00:36
sgrimm If you're doing lots of fancy stuff with svn externals and multi-level branches then it will take more work.00:36
silven: Is your svn server as ancient as your git build? Not that I want to encourage you to use svn, but I bet a newer build would be more stable.00:36
robinr isn't git-svnimport better if you don't need to commit back to svn?00:37
spearce robinr: you mean git-svn?00:37
gitte spearce: you were completely correct: gittus is very funny.00:37
sgrimm robinr: At this point I think git-svn does everything git-svnimport does.00:37
aeruder_ robinr: i was under the impression that git-svn was more developed00:37
silven I recently upgraded it, but I haven't seen a big improvement.00:37
sgrimm Used to not be the case -- git-svn used to not be able to handle svn branches/tags, but now it can.00:37
spearce gitte: it was a very good talk. very entertaining.00:37
robinr sgrimm: ok, I haven't followed it really00:37
silven git-svn lets me grab the repo root, i couldn't make git-svnimport just accept "" as the trunk.00:37
robinr too many patches00:37
jasam silven, two years since git 0.9900:37
spearce gitte: i helped build some of that, and yet i still found it fun to listen to. :)00:38
silven jasam: holy-moly.00:38
sgrimm I could be wrong, though. My exposure to git-svnimport is limited to reading the manpage since I always needed bidirectional interoperation.00:38
gitte spearce: you did?00:38
silven sgrimm: It's better with git-svn anyways. I have a feeling that I'm going to need a crowbar and a bat to get my boss away from svn.00:38
GyrosGei1r joined00:39
spearce gitte: i helped a little on the more user friendly 1.5.0 series, didn't i? :-)00:39
gitte Ah, yes. I thought you meant the talk...00:39
You definitely helped a lot!00:39
spearce oh, no, no, i didn't even know he was giving it until the link was posted to the mailing list.00:39
gitte I knew: Han-Wen was my kibitz.00:39
sgrimm silven: Maybe you shouldn't, at first. At my company a bunch of individual developers use git but the central repository is still svn. We are slowly building up converts to git over time. git-svn works well enough that switching everyone over all at once may not be necessary.00:39
robinr &00:40
silven sgrimm: he's the only one left using svn. And if I have to merge one more change from devel->testing->stable in subversion I'm going to shoot myself.00:40
hehe, from the dag-repo website: git - Latest release: 0.99.4-1.rf00:43
sgrimm silven: http://www.spinics.net/lists/git/msg29119.html00:43
Might be of help to you00:43
silven sgrimm: wow, that looks nice. Have you tried it?00:45
sgrimm silven: Yes, I use it several times a week.00:45
silven: It is probably not bulletproof but it works well for me.00:45
(I wrote it!)00:45
silven I'll give it a shot, especially in some of the repos that I don't have maintainership of (can't migrate to git)00:46
sgrimm I think it should work for any repo where you can get git-svn to recognize the svn branches.00:47
gitte is off, sleeping.00:50
gitte Night everybody!00:50
silven gitte: g'night.00:50
Roomster joined01:07
bdash joined01:16
silven left01:18
yann joined01:19
Roomster joined01:20
dwmw2_gonedwmw2_PVG01:21
fhobia joined01:28
pasky hmmm01:33
pasky@rover:~/src/git$ make01:33
SUBDIR git-gui01:33
BUILTIN git-citool01:33
INDEX lib/01:33
/bin/sh: line 3: tclsh: command not found01:33
make[1]: *** [lib/tclIndex] Error 12701:33
make: *** [all] Error 201:33
spearce yup.01:33
pasky what's up?01:33
spearce rover needs tclsh. or just disable the GUI features.01:33
what's your TCLTK_PATH set to?01:33
pasky it's not set to anything01:33
the build didn't start failing until now01:33
spearce do you need git-gui on rover?01:34
that change went into gitster's master over a week ago.01:34
pasky yeah, that's about the time when I did last git update there, I guess01:34
I don't need it01:34
spearce set NO_GUI then when you build.01:34
pasky but I don't think build should fail by default on systems without tclsh01:34
spearce git-gui now runs tclsh's auto_index to compute its proc index, for auto-loading.01:35
pasky b211c320eb5d753a7a44a03eccb9a15cfbcc563b has _really_ misleading subject01:35
spearce: then it shouldn't if there is no tclsh :)01:36
spearce pasky: want to write a patch? :)01:36
b211's subject has *nothing* to do with the actual diff it caused.01:36
GyrosGeier joined01:37
spearce wtf was gitster on when he applied that?01:37
context pasky: whats wrong with it01:39
pasky with what?01:39
context pasky: it says 'do not use absolute font sizes'01:39
and its changing the gitweb css file01:40
spearce and it sets the size to small.01:40
context to not use absolute font sizes01:40
spearce: and is that absolute ?01:40
pasky it seems that junio didn't use Jakub's commit message for some reason01:40
maybe he was just faster than Jakub with writing it :)01:40
spearce just used his tv remote to try and turn down the iTunes on his laptop. *sigh*01:40
pasky so you have lircd no your laptop? ;)01:41
*on01:41
spearce no, but the tv remote is a pronto that talks to a mythtv system by lircd... and the mythtv/lircd are on the same lan as the laptop... maybe i could script something. ;)01:41
Randal Yeah, absolute fonts sizes suck01:43
I argue with YUI for doing that01:44
mtm joined01:44
GyrosGeier joined01:46
pasky YUI?01:47
Randal the yahoo user interface cross-platform web 2.0 library01:49
they use it for all their new development work01:49
pasky ah01:50
SUBDIR git-gui01:50
/bin/sh: -c: line 4: syntax error: unexpected end of file01:50
make[1]: *** [lib/tclIndex] Error 201:50
now, anyone has a good tip on how to debug _that_?01:50
spearce absolute anything usually sucks, e.g. the absolute statement "C is better than Perl". ;-)01:50
pasky: make V=101:50
pasky because, honestly, gnu make -d is utterly and totally useless01:50
hmm01:50
spearce: ah, thanks :) given make's confusing error message it didn't occur to me that this is what I want :)01:51
spearce eh, yea. i'm glad I put in that V=1 backdoor when I did that quiet make patch.01:51
yashi joined01:53
context pasky: sh -v -c01:53
pasky context: I'm not sure how that would help me and at what phase :)01:53
context pasky: the file is missing a ] or ' or ; or something01:53
pasky spearce: well I actually use it often01:53
oh, export X where X is not set will still export it, with empty value01:56
*sigh*01:56
context ...01:57
export has nothing to do with the variables value01:57
changing the value after export effects its 'exported value'01:57
im pretty sure01:57
Randal in some shells it doesn't01:58
I've seen it go both ways01:58
but I've also seens shells for 30 years. :)01:58
pasky ...and I'm talking about make all the time, not a shell :)02:02
anyway "undefined" and "empty" is very different in a shell02:02
and seems to make a difference for make as well02:02
spearce and perl. don't get Randal started on that thread again. :)02:03
pasky spearce: patch sent02:03
spearce thanks pasky.02:03
Randal heh02:03
pasky doh02:03
wrong patch sent02:03
*sigh*02:03
spearce heh02:03
aeruder_ hehe02:03
pasky I already hate the git-gui thing02:04
and I didn't even see it yet :)02:04
spearce its purdy.02:04
pasky purdy?02:05
ah02:06
spearce oh, sorry, too much of an american slang thing for you? "its pretty" but in a horrible southern accent from a farm hick. :)02:06
pasky but I had to go down to the urban dictionary to figure it out :)02:06
I should've done that before asking.. after all, typing *anything* into urban dictionary shows some definitions02:07
I still wonder why is stgit so horribly slow02:07
maybe because the machine is so horribly overloaded :)02:08
bfields joined02:10
Method joined02:14
GyrosGeier joined02:15
Method joined02:15
yashi joined02:15
fhobia joined02:15
ruskie joined02:15
MadMethod joined02:15
fultilt joined02:15
robfitz joined02:15
davi joined02:15
nipuL joined02:15
aeruder_ joined02:15
puzzles joined02:15
Tali_ joined02:15
context joined02:15
tronical joined02:15
Method joined02:16
spearce_ joined02:25
spearce_spearce02:30
orospakr joined02:40
janm joined02:47
GyrosGeier joined02:48
Ori_B joined03:05
robtaylor joined03:08
xjjk joined03:26
GyrosGeier joined03:46
Roomster joined03:49
context joined03:51
Tali joined03:51
aeruder_ joined03:51
ruskie joined03:54
yashi joined03:56
fhobia joined03:56
fultilt joined03:56
robfitz joined03:56
davi joined03:56
nipuL joined03:56
puzzles joined03:56
Tali_ joined03:56
tronical joined03:56
fultilt joined03:59
puzzles joined03:59
fhobia_ joined04:00
nipuL joined04:00
rkaway joined04:26
GyrosGeier joined04:31
GyrosGeier joined05:01
tronical joined05:27
devogon joined05:32
RoomsterRomster05:34
spearce_ joined06:02
fultilt joined06:07
GyrosGeier joined06:29
context mm06:54
can i ask06:54
whats the point of releasing 1.5.1.5 if your releasing 1.5.2 the day after :x06:54
yorgen15 joined07:02
cehteh context: bugfix?07:03
lyakh joined07:47
context meh07:51
cehteh: im not one for 'supporting' the past. but i can see why its useful07:51
cehteh git --version08:15
git version 1.5.2.rc2.g3082a08:15
mhm08:15
alley_cat joined08:23
ofri joined08:46
robin joined08:50
segher_ joined09:13
robin joined09:15
dduncan left09:33
janm joined09:52
hein joined09:52
heinSho_10:08
nud joined10:08
mneisen joined10:25
gitte joined10:34
GyrosGeier joined10:41
lyakh joined10:51
orospakr joined11:00
dwmw2_PVGdwmw2_gone11:00
Eludias joined11:01
dekang joined11:25
kanru joined11:32
nud joined11:47
Sho_ joined11:56
MadMethod joined11:59
lu_zero joined12:01
ferdy joined12:05
dwmw2_gonedwmw2_PVG12:16
siprbaum joined12:18
nud joined12:21
dwmw2_PVGdwmw2_gone12:32
lcapitulino joined12:45
dwmw2_gonedwmw2_PVG12:52
orospakr joined13:08
robin is "*** glibc detected *** git-http-fetch: corrupted double-linked list: 0x080f8bf8 ***" 1.5.1.4 a known problem?13:37
DrNick joined13:55
kha robin: Don't know. I don't recall seeing it on the list, but I might very well have missed it.13:56
ofri joined14:06
dvorak joined14:08
krh joined14:19
rphillips joined14:21
jwb_gonejwb14:45
yorgen15 joined14:46
strangy joined15:09
tcoppi joined15:23
EvanCarroll joined15:33
EvanCarroll How do I merge a branch with the master, rather than the other way around.15:34
Logically I would think, `git checkout branch; git merge master` however no go.15:34
strangy joined15:34
djpig EvanCarroll: what exactly do you mean by "no go"?15:35
EvanCarroll djpig: doesn't work fatal: Needed a single revision15:35
gitte EvanCarroll: the checkout or the merge?15:38
arw the merge is suppose.15:39
EvanCarroll merge15:39
arw the checkout should do this, or something is really borked, nor?15:39
gitte What does "git branch" say?15:39
Do you have "master" at all?15:39
EvanCarroll check15:39
* master15:39
gitte You said that you have a branch "branch"...15:40
EvanCarroll though I was on check before when i tried it15:40
gitte Okay. Do you have an older Git version?15:40
EvanCarroll thats because I thought the branch check, would be confusing for the irc example.15:40
gitte Then you should use "git pull . master"15:40
EvanCarroll 1.4.4215:40
1.4.4.215:40
(feisty default)15:41
gitte Yep. The "git merge master" notation only works with Git 1.5+.15:41
You probably saw some documentation for a newer version.15:41
EvanCarroll oh lame.15:41
gitte So does it work now?15:43
EvanCarroll I haven't upgraded yet, I'm trying to find a fiesty upgrade repos so I can randomly break things that don't fit into the shitty 6month release cycles ;(15:44
guess I'll just build from source15:44
I had this issue with svn too, i think 1.4 missed the last release by a month15:44
kha EvanCarroll: Even worse, git 1.5 missed the new Debian stable release.15:46
troyt joined15:46
gitte EvanCarroll: I meant: "does it work with git pull . master"?15:46
kha EvanCarroll: They'll ship with git 1.4 for the next few centuries. :-)15:46
EvanCarroll git2.0 will give the debian folks new reason to upgrade when they get the next stable release15:46
jrockway EvanCarroll: btw15:47
EvanCarroll: you switch to the branch you want to merge the other branches in to15:47
then say git pull . branch1 branch2 ...15:47
EvanCarroll I just saw linus's tech talk at google. He is a pretty entertaining speaker, but I found the lack of information on git-super-archives a little concerning15:47
jrockway: I'll just upgrade to 1.5 and use the new jazzy syntax.15:48
jrockway that's the new syntax15:48
gitte EvanCarroll: He said that the UI is lacking. Answer enough.15:48
waldi left15:48
EvanCarroll so `git pull` is more 'the right way to do it' than `git merge`?15:48
ofri joined15:48
EvanCarroll gitte: was he speaking of 1.5 or 1.4 with that statement?15:49
gitte EvanCarroll: "git pull" is the right way to merge remote branches.15:49
It just so happens that "remote" can mean "the same repository".15:49
This is not very intuitive, so we support "git merge <branch>" now, too.15:50
EvanCarroll: subprojects are not even officially in Git yet, methinks.15:50
djpig EvanCarroll: he was speaking about unreleased 1.5.2 I think15:50
gitte So he was talking about "current, but not released" Git.15:50
jrockway EvanCarroll: glad my git-propaganda convinced you, btw15:51
EvanCarroll jrockway: Yes, now I'll have to revise my statements about you, "not quite useless" ;)15:51
yogesh joined15:51
EvanCarroll jrockway: git is surely a better tool for most ever job, I *really* like not having to mess with web-dav too15:51
jrockway agreed15:52
djpig kha: hey, we even managed a release in under two years this time ;) "centuries", hrmpf15:52
jrockway fwiw i used svnserve instead of apache for svn15:52
djpig anyway, things like git will be always too fast moving for Debian stable. When people like EvanCarroll even complain about Ubuntu's release cycles, I really see no point in trying to accomodate them...15:54
good that git is trivial to backport :)15:55
especially the parts that are needed on servers15:55
EvanCarroll hrm the kernel.org archive has debs, but only up to 1.0.4 or something (2005 ish)15:56
djpig probably before they were in Debian15:58
Debian experimental has 1.5.2~rc3, that's only days old ;)15:58
EvanCarroll hrm16:06
git wants to isntall /root/bin16:06
thats not even in the path on ubuntu16:07
segher_ it defaults to installing in your home dir. if you work as root, that's your problem ;-)16:10
EvanCarroll I wanted to install it in /usr/local/bin but I suppose that's still my problem16:12
I think make has a directive to do this the normal way16:12
just fyi too, the files, git.spec, version, and git-gui/version are owned by 'junio' and not root in the archive.16:17
jrockway do you have a junio user on your system?16:18
EvanCarroll jrockway: no.16:19
jrockway then how can something be "owned" by him?16:19
pasky I think tarballs recorded as owned by arbitrary people rather than by root are pretty common16:20
EvanCarroll don't know, I just tar zxvvfed the archive, and it shoed three files being owned by him, the rest by root.16:20
pasky I'd say that the opposite - tarballs with stuff owned by root - are much less cmmon, actually16:20
aha, interesting16:20
maybe he appends stuff to git-archive'd tarball16:20
EvanCarroll and publishes it on kernel.org?16:20
lol16:21
pasky I'm not following you now :)16:21
EvanCarroll the tarball was dled from kernel.org16:21
pasky yes16:21
alb joined16:28
albalbertito16:29
lcapitulino joined16:29
Glanzmann joined16:31
Glanzmann Did the keyword expansion stuff going made it into git?16:32
Do you have a solution to the problem of a friend of mine?16:32
He has a piece of software in a git tree.16:32
He wants that if someone downloads a tar ball from gitweb a c char containts the commit id.16:33
is there maybe a feature that puts a .commitid in the tarball or something like that?16:34
kanru joined16:37
aroben joined16:39
alb joined16:41
krh joined16:41
albalbertito16:44
dwmw2_PVGdwmw2_gone16:47
djpig Glanzmann: git-archive does something like that, IIRC16:51
Glanzmann I didn't saw in the manpage.16:51
It is in the header.16:54
djpig so how is that different from what you want?16:54
Glanzmann I want that a user downloads a tar file16:54
extgracts that tar file16:54
types make16:54
and in the output of the command contains the commit-id16:55
So it is quite different from what I want.16:55
pasky well why doesn't he add the file to the tarball when making it? :)16:58
arw when it should contain the commit-id of the current commit this should be quite impossible.16:59
Glanzmann pasky: "out of the box"16:59
arw: You didn't get the question.17:00
arw: It is possible.17:00
But it is a hack.17:00
arw: You don't commit it to the tree but do a17:00
create-tar-archive && append commit id17:00
You can add files to tar tree.17:01
djpig should be quite easy to teach git-archive to do that itself, but currently it doesn't17:02
Glanzmann Thanks.17:04
That sounds much better.17:04
DrNick as part of your build and "make dist" procedure, generate a C file containing the commit id17:05
Glanzmann The thing is the way he works. Every version is stable.17:06
He doesn't want to release it.17:06
For a bigger project that is crap.17:06
But for this project it isn't.17:07
And I see his point.17:07
He wants to tell what version the user is working by looking at the output.17:07
http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver17:07
DrNick well, if he never makes releases, then presumably the only way to get the source is by cloning the repo17:09
Glanzmann By downloading a tar file from gitweb.17:09
But nice try.17:09
DrNick huh17:10
I wasn't aware that gitweb could do that17:10
Glanzmann Than it's about time. :-)17:10
DrNick: Look at the site I was just pasting. There is a link called 'snapshot' that does exactly that.17:11
DrNick yeah, already found it17:11
strangy joined17:18
strangy joined17:21
strangy mornin'17:21
lyakh joined17:22
Arjen How do you create a branch without a parent (like the 'todo' branch in git.git)?17:31
pasky I think the only way without getting plumbing involved is to set up separate repository for it, then fetch it17:32
if you want to avoid the temporary second repository, I think you'll have to get down to the plumbing17:33
dkagedal joined17:34
Arjen That confirms my suspicions :-)17:35
dekang joined17:39
Arjen This seems to do the trick:17:56
git checkout -b empty $(echo "Create an empty branch" | git-commit-tree $(echo -n '' | git-mktree))17:56
pasky but that inserts a dummy commit to your history17:58
which is a bit silly17:58
xjjk joined18:00
Arjen True18:01
krh joined18:12
Arjen pasky: clearing out the index and adding the relevant files && git-write-tree && git-commit-tree fixes that too18:27
sgrimm joined18:27
xinming joined18:27
Arjen and a git-branch, of course18:28
xinming hello, It seems, currently, when we commit, there is a string with random characters as "revision" returned...18:28
Currently, the length is 40 characters.18:29
I just wonders, If the string overflew (theoretically)... how will git user avoid this? :-)18:30
I know, No one will get there. But Is there a way to extend the size of the string?18:31
segher_ it isn't a random string. and i don't understand your question?18:31
sgrimm xinming: It is not a random string. It is a hexadecimal representation of an SHA1 hash, which is defined to always be 20 bytes long, no more, no less.18:32
In other words, not a problem, don't worry about it.18:32
segher_ i think xinming is worried about possible hash collisions?18:32
xinming segher_: yes, that's what I mean.18:32
segher_ no idea how git handles those (if it does) -- they are very very unlikely to ever happen, anyway18:33
robfitz joined18:33
sgrimm It is theoretically possible but in reality, a 160-bit number is a HUGE number space and you are unlikely to ever see a collision even if you have a lifetime's worth of revisions of heavily modified files.18:34
xinming How about your children's children's * x also use your Git repository? :-)18:35
sgrimm But that said, I also have no idea how git handles it if it does happen. I'm not aware of anyone even being able to think up a test case that would force it to happen.18:35
aeruder_ joined18:35
sgrimm Then they can switch to a longer hash. :)18:35
I am also not worried about what will happen to my database fields in the year 10,000 when 4 digits isn't enough space to hold year numbers any more.18:36
Which is about the same level of remoteness as worrying about SHA1 collisions in my opinion.18:36
segher_ sha1 isn't considered a very secure hash anymore -- it should be possible to force a collision nowadays (will take a lot of computational power still)18:37
so you can have a testcase for how git handles this stuff. it won't happen in practice of course18:37
xinming In fact, Just now, a interesting question came up into my mind... When people died, He might pass his repository to his children instead of his wealth... ;-)18:38
[L]ash joined18:38
[L]ash hi all18:39
xinming [L]ash: hi18:39
[L]ash i have a problem18:39
sgrimm Yes, I suppose it's important to draw a distinction between the possibility of an intentional hash collision (someone trying to attack git) and one happening in the course of normal non-malicious use. I agree the former is, if not likely, then at least more of a possibility.18:39
[L]ash i had import a svn repo in a git with git-svnimport command, then i push it in a remote git repo18:40
when i clone the remote repo i have the error error: Unable to find 5e1ef7285dccfef3b534f7613f2957257f60916c18:41
so i servh in .git/objects and here there are only two directory: info and pack18:42
iin pack there is a packfile18:42
i think that svnimport had pack all object in this pack and now when i clone i can't find it18:43
there is a way to unpack ?18:43
Glanzmann You don't have to.18:43
[L]ash i tru git-unpackobject but didn't sort effect18:43
^try18:43
Glanzmann Packed Objects are just a way to store them on disk.18:44
[L]ash so how i can resolve the problem ?18:44
Glanzmann Start by pasting the output of git clone18:44
[L]ash lash@kazuhiko:~/Progetti/gyn$ git clone https://git.unstable.it/gyn.git/ pincopalloInitialized empty Git repository in /home/lash/Progetti/gyn/pincopallo/.git/18:45
Getting alternates list for https://git.unstable.it/gyn.git18:45
Getting pack list for https://git.unstable.it/gyn.git18:45
error: Unable to find 5e1ef7285dccfef3b534f7613f2957257f60916c under https://git.unstable.it/gyn.git18:45
Cannot obtain needed object 5e1ef7285dccfef3b534f7613f2957257f60916c18:45
Glanzmann: any idea ?18:48
ls objects/18:51
info pack18:51
Glanzmann Don't paste it in the channel18:52
paste it in a paste bot for god's sake.18:52
It looks like the archive you're trying to clone from is broken18:52
[L]ash there is a way to fix it ?18:54
Glanzmann Yep.18:54
First of all don't use http to clone18:54
[L]ash why ? i have another repo on http and it work fine18:54
Glanzmann Because git's http support is broken.18:55
[L]ash i use http because i wouldn't create real user to access to the archive; using git over apache i can create "virtual" user to acess it18:59
strangy joined19:02
ofri joined19:04
normalperson gack19:05
sorry, I suck at using git-send-email19:05
[L]ash there is a way to use virtual user witout apache ??19:10
xinming BTW, may I ask for sha1, on how big the file is, there will be a hash collision?19:13
36^20 ?19:13
for sha in git19:14
It seems, it's really a large number. ;-)19:15
2^16019:15
matled is there an option to diff to not display inverted ^M for \r?19:23
spearce joined19:28
dekang joined19:31
fultilt joined19:37
dduncan joined19:37
ruskie joined19:42
etnt joined19:47
robin xinming: it doesn't have anything to do with file size19:49
gitster normalperson?19:51
Romster joined19:52
yorgen15 joined19:56
gitster ah, nevermind.19:56
EvanCarroll hrm.19:56
ok so I just upgraded to git 1.5.1., and relearned how init-ordering works for X/bash19:57
so I've got the new version in path too now ;)19:57
and I'm still having problems with `git merge master`19:57
branch 'check' has one file 'foo', branch 'master' has tow files, foo, and 'test', I ran in branch 'check'; `git merge master` it says Already up-to-date, but the brach 'check' still doesn't have file 'test' any idea?19:59
spearce and git-status doesn't say "test" is missing?20:00
EvanCarroll nope no changes added to commit (use "git add" and/or "git commit -a")20:02
spearce what does "git log" show? or better "gitk --all"? i'm thinking maybe you merged it but somehow caused an ours strategy by accident.20:02
GyrosGeier joined20:04
EvanCarroll spearce: http://rafb.net/p/s53lna79.html20:04
spearce yea, uh, that first one right there is the merge commit. ;-)20:05
EvanCarroll I'm confused though, why doesn't the file 'test' show if it is in master?20:05
spearce the left side (check) says "deleted test". did you delete test in the check branch and then merge in master thinking it would recover?20:05
EvanCarroll spearce: yar20:06
but shouldn't it?20:06
spearce no, because master didn't change it relative to the merge base, but check deleted it relative to the same merge base. so we took the change (the delete).20:06
EvanCarroll ok, I could see a point being argued on both sides of this one ;/20:06
gitster suspects "[user] name" and "[user] email" should be set before doing anything, as the tutorial and user manual suggests, or EvanCarroll would end up being even less happy...20:07
EvanCarroll so how would I merged the deleted files from another branch back into it, pull them all down individually?20:07
gitster: It was set at one point, not sure if i created a new archive, or lost it in the upgrade to the new git20:07
spearce right, you recover the old files by finding the commit they deleted in (112161cbf44bcf6c6100a06433fa40b66fc47a79) and then getting the file from that commit's parent: git cat-file blob 112161cbf44bcf6c6100a06433fa40b66fc47a79^:test >test && git add test20:08
siprbaum joined20:10
xinming robin: thanks for your reply, I've searched google about this question.20:19
robin: In fact, for a people who wishes the "perfect", I don't like to see the collisions frankly. :-P20:19
sorry, I think I shouldn't use ':-P'20:19
EvanCarroll spearce: suddenly that seems complex.20:20
robin xinming: well, tell us when you see one :)20:21
spearce EvanCarroll: about your "junio appending files into the tarball", yes, that's exactly what our "make dist" target does when it generates the distribution tarball. it appends 3 files onto the end.20:22
GyrosGeier joined20:22
EvanCarroll alrighto.20:23
Pistahh joined20:24
lcapitulino joined20:25
gitster yup, that was something I inherited; I did not know what username was recorded with that append-mode.20:26
spearce xinming, sgrimm: we currently check for sha-1 collisions when transferring objects back and forth between repositories, but its not really a "collision check" so much as "we trust *only* your copy of the object". if both you and the other side have the same object with the same sha-1, we use your byte sequence of that object, never theirs. that way if you trust your own copy already, its still trusted.20:26
gitster ... until a few hours ago.20:26
spearce but we don't check for conflicts when you add new context to the index, for example.20:26
gah, s/context/content/20:26
EvanCarroll: you are asking us to go back into history and recover a previously deleted file. i'm not sure how easy that is really suppposed to be...20:27
gitster "git checkout $old_commit path"?20:28
spearce oh yea, or that. ;-)20:28
xinming robin: http://www.gelato.unsw.edu.au/archives/git/0504/1941.html20:28
EvanCarroll spearce: I'm not *really* complaining, I'm a hard ass, but I'm very impressed with 99.9% of git, however in this case I think a log showing the differences between the branch 'check', and 'master', would have been apropriate (tell me what is difference) and a syntax like `git merge --restore-deleted master;` would have been sexy20:29
spearce git whatchanged ?20:29
or git diff check master ?20:29
EvanCarroll I'm still learning git, so the whole SHA-1 index deal is kind of foreign, as well as how it impliments HEAD/BASE/COMMITED20:30
xinming robin: I will ask my grand*x son to tell when he gets a hard disk which can store 183 quadrillion20:30
file revisions. ;-)20:30
EvanCarroll spearce: `git diff check master` isn't bad20:31
gitster add --stat --summary to the mix.20:31
"git log --stat --summary master..check" (or the other way "check..master").20:32
EvanCarroll gitster: perfect ;)20:32
ruskie joined20:34
gitster If you really know that only lossage is what you are interested in, you could even throw in --diff-filter=D in addition to the above.20:34
EvanCarroll no, I'm interested in any lossage, I hated merges with svn so I almost never did them, but iirc it would have replaced the deleted file20:36
probably all the more because svn just uses patches for merges20:36
err - patch - singular.20:37
dekang_ joined20:39
dekang_dekang20:45
robin is there a diff option to highlight changed words (as opposed to whole lines)?20:50
GyrosGeier joined20:59
gitster --color-words is the closest but it does too much.21:02
aroben_ joined21:02
aroben_ joined21:03
robin gitster: in what sense?21:04
Thumper_Thumper__21:04
gitster I assume you tried it. My preference would have been that the generated diff would look _exactly_ like the usual - for deleted lines + for added lines, except that words that survived on - lines and words that came from previous one on + lines are uncolored.21:06
But --color-words does something quite different. It shows the final image, added word in green and deleted word in red, or something like that.21:06
Thumper__Thumper_21:06
fultilt joined21:06
Thumper_Thumper__21:08
gitster For example, look at "git show --color-words v1.5.2-rc3^0".21:08
robin the usual would no make sense.. typically you (well I), would want it to compare files where a whole column has changed21:08
gitster Changes to RelNotes-1.5.2.txt look saner than usual, as there wasn't any line whose contents were changed (only added lines).21:08
Thumper__Thumper_21:09
gitster ... except for the last one.21:09
robin it looks nice, then there is just a problem with very long lines :(21:09
gitster Also it seems to get highlighting wrong. Somebody probably forgot to go back to normal21:09
Ah, that is another problem. It does not get the line endings quite right.21:10
robin fortunately I have a 1900 wide display so I can downsize the font21:11
yorgen15 joined21:12
gitster your terminal is 1900 columns wide? That sounds insane.21:13
cworth joined21:19
aroben joined21:19
robin nah, pixels21:19
aroben joined21:22
fultilt joined21:26
spearce_ joined21:29
spearce_spearce21:35
GyrosGeier joined21:42
mugwump joined21:42
robin not good enough, trying openoffice...21:48
dekang_ joined22:05
cworth joined22:10
pflanze joined22:26
pflanze Hello. I don't understand git-rev-list --bisect; this takes 3 parameters as shown in the manpage, what are they exactly?22:26
My attempts all either burn cpu infinitely or output nothing.22:26
jasam joined22:27
jasam left22:27
jasam joined22:27
cworth joined22:29
spearce pflanze: see git-bisect.sh for an example. i have no idea how the --bisect flag itself works.22:30
pasky spearce: thanks!22:31
spearce pasky: no problem. sorry it took me so long to get around to doing it right. hopefully it will be in 1.5.2 final.22:32
pasky no prob22:32
pflanze Hm. git-rev-list --bisect v2.6.20 ^v2.6.19 works. the ^ is required. 2 arguments are enough. it seems.22:36
Well what I really need is a way to tell git-bisect to *ignore* a particular revision.22:36
Because it is not compiling.22:36
It "should" be able to track those automatically.22:37
pasky pflanze: git-bisect(1), Avoiding to test a commit ?22:44
lol, git-bisect manpage is so ugly :)22:45
(and the command required is ugly too)22:46
alb joined22:46
cworth joined22:46
pasky alternatively, can you try git bisect next22:47
dkagedal joined22:48
albalbertito22:48
pflanze nope, git-bisect next just selects the same again.22:50
My "problem" is that I want it to do it automatically.22:50
This is a slow machine and I want to build kernels and test them automatically.22:51
This is no joy if it fails more often than not because of broken builds.22:51
I'm thinking about an algorithm on how it should behave in the presence of such "ignore"'s.22:52
hope it doesn't turn out to need a genetic algorithm or somethig22:52
pasky :)22:54
rkawayrambokid23:18
rambokid is there a way to get git-clone/cg-clone to copy/clone hooks/ as well?23:18
e.g. so a repository can mandate certain commit or upload checks23:19
aroben_ joined23:19
spearce you can only really put it into your templates directory, in your git installation.23:19
rambokid spthat doesn't work for arbitrary users and arbitrary repos23:20
janm joined23:22
pasky unfortunately not23:25
though I already heard requests for this23:25

Logs Search ←Prev date Next date→ Channels Documentation