IRCloggy #git 2007-02-26

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-02-26

kesselhaus__ how is access control handled in git? can you allow e.g. to r/w files/dirs for users?00:00
raalkml no00:01
what do you need it for?00:01
Tali kesselhaus__: access control is always for the entire repository00:01
kesselhaus__ well, its like the repo might have directories, where docs/requirments are stored, but not everybody should be allowed to read or write all of them00:02
or some parts of the code base should be restricted to some users but not all00:03
raalkml right. That why I missed the last deadline rebuilding that module: I wasn't allowed to read the requirements00:03
Tali kesselhaus__: you could limit write access in a central repository by setting up hooks which check the new version before going on00:03
kesselhaus__: but you can't limit read access in git00:04
raalkml yes. Separate the repos00:04
Tali (other then limiting physical access to the repository of course)00:04
raalkml btw, you may want to read GIT mailing list on subprojects.00:05
Tali raalkml: but that does not really help here00:05
not without setting up the hooks i mentioned00:06
raalkml Tali: well, it will00:06
once any subprojects available00:06
Tali raalkml: because if you have write access to the supermodule, you obviously can update the submodules, too00:06
kesselhaus__ raalkml: well, there could be granted access to some external users, but they should not know everything thats part of the project00:06
raalkml no. Subprojects can have restricted read access00:06
kesselhaus__ thats what i mean with r/w access to the files00:06
raalkml strictly speaking, git does not care about files00:07
so that part will never work00:07
Tali raalkml: ok, you can give out individual subprojects and so limit read access. but you must not give out the supermodule if you want to limit subprojects00:07
raalkml directories (as subproject) - yes (but hard). Files - never00:07
kesselhaus__ raalkml: well, i'm coming from the cvs side, and we currently use PVCS (which is actually just a pain in the ass with the webfrontend)00:08
raalkml Tali: you often have to give out superproject to let people know where to start00:08
kesselhaus__: git's documentation has very nice cvs-migration.txt document00:09
kesselhaus__: you might want to look at it00:09
kesselhaus__ though, if there are ports wo windows, i suppose, the user access control is handled not with the OS functionality?00:10
Tali raalkml: /wi raalkml00:10
ups00:10
raalkml :)00:10
kesselhaus__: yes. Exclusively00:10
kesselhaus__: git has no access control whatsoever00:10
raalkml left00:11
raalkml joined00:11
raalkml sorry...00:11
Tali kesselhaus__: you can only limit physical access or write hook scripts which prohibit an action based on the user who is executing it00:12
gitte An automatic branch, rewriting history, should work...00:15
gitte joined00:15
gitte Basically, the integrity of a repository can only be checked when you have total read permission.00:16
cehteh joined00:16
kesselhaus__ http://www.spearce.org/2005/06/the_horrors_of.html <-- this pretty good describes my pain at work00:23
even though its not from me00:23
raalkml almost everyone has a story to tell :) (I have Perforce)00:23
Tali This story is even worse than what we have at work...00:29
cehteh hey some people are forced to use M$ VSS ...00:32
gitte raalkml: s/av/at/00:35
kesselhaus__ i have to write down each file i change, as this f..ing webclient does not allow a diff on the project, and checking in files in different directories have to be done one for a time00:43
some of the algo/generic team now changed inofficially changed to subversion ;)00:44
raalkml that's a scary discussion on that the_horrors_of(pvcs)00:44
gitte Well, svn _is_ faster than PVCS...00:44
... but a big fat snail compared to git!00:45
raalkml inofficially, I changed to git00:45
it's just the imports from and exports to perforce getting me down00:46
gitte Whenever I have to use svn or cvs, I work with git, and somehow transport the result back to cvs...00:46
kesselhaus__ and I'm just looking for some alternatives too, as there are now such a lot00:46
raalkml kesselhaus__: don't say it here! There is no vcs but git :)00:47
Tali gitte: same for me. I really prefer svn-import over svn co00:47
gitte We already stole^Wimitated the hunk committing from darcs...00:47
... and when we soon have that interactive rebase, nobody comes close to us!00:48
I mean, it really _rocks_.00:48
kesselhaus__ how is this working with the revisions/commit logs, using one with the other?00:48
Tali we should allow to clone and fetch from cvs:/svn: URIs at some time... :)00:48
gitte Tali: no... I think we should allow people to migrate their CVS server to a git-cvsserver...00:49
kesselhaus__: in cvs, there are no revisions. I have no idea if git-svn includes svn's idea of revisions in the commit message, but tailor does that for svn...00:50
Tali gitte: obviously it is better to migrate the central repo, yes00:50
gitte Tali: with the benefit that proper developers can shortcut to git...00:50
arw well, it is better, but having both options is preferable, as migrating is not always possible...00:50
(mgmt doesn't like it, no access to the server, etc)00:51
kesselhaus__ i mean if your sourcefiles are checked in cvs gives a revision number, and with a $Log$ in the file header, you get the history00:51
.oO( which is just blowing the file, but its required by our coding rules )00:52
gitte arw: mgmt is the number one blocker of successful projects.00:53
kesselhaus__: these rules are stupid.00:53
Tali kesselhaus__: there are a lot of stupid coding rules out there :-(00:53
gitte therefore you have to work to implement them.00:53
Can be done with hooks, though.00:53
arw kesselhaus__: i guess (correct me if I guess wrong), revision numbers are impossible to get right if your tool supports wild gang-bang everybody does everybody else merging and branching...00:54
gitte arw: the common practice is to use max(a,b) + 1 whenever the files are different (where a and b are the revision numbers given by the two branches)00:55
kesselhaus__ if you ever made something like x &= ~(y | (1 << n)); pclint conform, then you know why i dont like codingguidelines00:56
gitte "files are different" meaning that both branches disagree with the merge base, _and_ with each other.00:56
arw gitte: yes, but there is no guarantee, that revisions get unique numbers across branches which defeats the purpose of having such a number.00:58
kesselhaus__ unfortunately, we do not branch unless we e.g. backport something, even though i could use branches as we have several platforms00:59
gitte arw: yes. but mgmt does not realise that!01:00
kesselhaus__: with git, branching is done very often. The main reason I like git so much is that branches are so easy.01:01
Whenever you want to try something, make a new branch!01:01
If it does not work, just throw it away...01:01
raalkml or don't even make it and throw away01:02
arw in some tool (baz or bzr I think), 'checkout' just was an alias for 'branch' :)01:02
gitte well, in git, branches are actually nothing else than pointers into the history.01:12
Tali so, its already really late here, I'll go sleep a bit...01:13
gitte does so, too.01:21
davi joined01:30
dancor joined02:01
dwmw2_BOSdwmw2_gone02:01
dancor left02:12
robfitz joined02:18
Ori_B joined02:39
z3ro where is the main gitweb tree? is this John Hawley's tree?02:54
http://www.kernel.org/pub/scm/git/warthog9/gitweb.git ?02:54
oh, nevermind.02:57
it's included with git.02:57
Tv joined03:12
_jcrigby joined03:24
mugwump z3ro: if you're interested in latest gitweb you might like to also track git://repo.or.cz/git/jnareb-git.git03:33
or http://roke.dyndns.info/cgi-bin/gitweb/gitweb.cgi/git.git03:33
z3ro mugwump: I don't really care about the very latest gitweb. the one provided with git should be fine.03:33
db3 joined03:59
db3 what git commands would be best used for backporting commits04:04
from a development branch to a stable branch?04:04
cherry-pick?04:04
Romster joined04:32
Romster joined04:58
rkaway joined05:27
gitster A 90 minute old answer is yes. But with a little planning, you could use merge.05:29
The trick is when you are building something you know will be worthy for stable, you fork a topic from the stable, build that feature, and first merge into development branch to test it.05:30
If it is not Ok, you still build on the topic to fix it up, merge it to development again.05:31
Repeat until you perfect the topic, and then finallly, you merge that topic into stable.05:31
db3 That seems like a good plan05:32
If I've merged to a topic branch, what's the best way to selectively05:34
remove certain commits05:34
gitster You don't. That's what I meant by "with a little planning".05:37
If you just released version 1.2.0, but you still have maintenance tracks of 1.0.0 and 1.1.0 versions, and if what you are newly developing for 1.3.0 _might_ apply all the way back to 1.0.0, then you fork the topic from the tip of 1.0.0 maintenance track.05:38
That way, you can backport that topic to 1.0.0, 1.1.0 and 1.2.0 maintenance track once it is perfected.05:39
without any need to "selectively remove certain commits".05:39
That strategy at times means you might need to have one sub-topic each per maintenance track for that topic. The bulk of the logic change/addition for the topic itself will be done on the main topic branch, but you would have side branches that fork from the topic branch to adjust that topic for the target release branch.05:41
For example, 1.0.0 and 1.1.0 codebase may have different interfaces to a few functions your topic might use. You code the main topic for one particular release (say 1.0.0), and with one side branch (which you fork from the topic branch) you absorb the interface difference between 1.0.0 and 1.1.0 codebase, so when you backport the topic to 1.1.0 maintenance branch you merge that side brnach as well.05:43
halfline_ joined05:55
T1 joined06:06
T1Tv106:06
spuk joined06:14
Tv1Tv06:16
Roomster joined06:41
Roomster joined06:42
RoomsterRomster06:43
devogon joined06:46
jeffpc joined07:01
z3ro joined07:46
mugwump darn, wish cg-admin-rewritehist would update refs09:40
mugwump acts spastic for a bit and then starts using --tag-name-filter09:46
mugwump argh, my commit timestamps got stomped on10:32
damn, I didn't think cg-admin-rewritehist touched those10:33
stink10:33
DebolazX joined10:34
mugwump hmm, git-commit-tree seems to be at fault10:49
oh. parse_date won't accept its own output as input anymore10:55
gitte parse_date has an output?11:00
mugwump sure, a date11:01
epoch +TZ11:01
and you can't feed it that any more as input11:01
why doesn't date.c just use regex.h11:04
that code is nuts11:04
gitte ...maybe because regex is slow?11:05
oh, BTW what do you expect of commit timestamps when rewriting history?11:05
after all, you are recommitting...11:05
mugwump I expect them not to change11:05
gitte But you are _rewriting_, i.e. re_committing_ them!11:08
mugwump don't tell me what I'm doing11:08
I happen to know that, thank-you very much :)11:09
this is just a simple regression anyway. you are allowed to do this, it's just gotten more strict about what it accepts11:09
gitte mugwump: your last comment was about parse_date() again?11:11
./test-date "1172488220 +0100"11:11
1172488220 +0100 -> 1172488220 +0100 -> Mon Feb 26 12:10:20 200711:11
1172488220 +0100 -> Mon Feb 26 12:10:20 200711:11
mugwump ./test-date "782434800 +0000"11:12
gitte Note that the first "conversion" from timestamp+tz to itself is done by parse_date().11:12
mugwump 782434800 +0000 -> bad -> Thu Jan 1 12:00:00 197011:12
gitte date.c:384.11:13
It only allows dates starting with Jan 1 200011:13
mugwump aha well spotted, thanks11:14
sweet11:15
gitte Might make sense to set it to Jan 1 1980, to allow for ancient repos being converted to git...11:15
mugwump sure. this one starts in '8711:16
I'd guess at least 1e8 for the cut-off, though11:19
unless 8-digit numbers aren't special11:19
eg yyyymmdd11:19
I think 9-digit iso8601 is yyyywwwhh or something equally useless11:20
s/www/ddd/11:20
gitte OTOH if you know that the input is timestamp+tz, why not roll your own parser?11:21
mugwump because I don't like writing C ? :)11:21
gitte :-) You should really stop worrying and learn to love C.11:21
mugwump I miss continuations and closures too much though11:22
gitte iso8601 has hours in the timestamp? and three digits for the day?11:22
mugwump there are lots of wacky iso8601 forms11:22
there's one for every length of sequence of digits up to 10 I think11:23
gitte What exactly do you mean by "continuations and closures" in this context?11:23
mugwump a continuation is a variable which represents your return state11:23
a closure is a variable that retains access to lexicals when it was taken11:24
er, a closure is a *function pointer* that retains access to lexicals when it was taken11:24
Romster joined11:25
gitte BTW 1e8 has 9 digits.11:30
mugwump yes, 8 digit dates are useful11:30
and 1e8 is sufficiently far in the past...11:30
for me, anyway ;)11:32
gitte BTW if you want to force some really old names down git-write-tree's throat, you do not need to muck with parse_date()11:33
Just set GIT_COMMITTER_DATE="timestamp +tz"11:34
mugwump instead of COMMIT_DATE ?11:35
I thought that's what I was setting11:35
maybe not. whatever latest cg-admin-rewritehist sets11:36
I've rewritten what I need for now anyhow11:36
benlau joined11:36
chris2 joined11:37
gitte Would be nice to share your work...11:37
mugwump ok11:40
but it's just changing a default :)11:40
gitte If it helped you, it might help others. They can still ignore it.11:40
But open source works like this: send things out.11:41
mugwump but bitching in irc is so much more fun11:43
gitte ;-))11:44
gitte thinks "birching" would be a nice term for that11:44
mugwump there's probably an irc client called that already11:46
lol11:48
http://www.bebits.com/app/113911:48
gitte has to leave...11:53
mugwump waves11:54
_jcrigby joined12:06
chris2 joined12:06
DebolazX joined12:06
devogon joined12:06
rkaway joined12:06
robfitz joined12:06
cehteh joined12:06
gitte joined12:06
kesselhaus__ joined12:06
lu_zero joined12:06
normalperson joined12:06
orospakr joined12:06
Geniack joined12:06
halfline joined12:06
jdl joined12:06
moh joined12:06
anholt joined12:06
CIA-11 joined12:06
masterdriverz joined12:06
clee joined12:06
fonseca joined12:06
robtaylor joined12:06
Tali joined12:06
anders_ joined12:06
siprbaum joined12:06
mountie joined12:06
ag joined12:06
gitsky joined12:06
toidinamai joined12:06
Alex joined12:06
jave joined12:06
felipe joined12:06
ruskie joined12:06
pdmef joined12:06
buggs joined12:06
dwmw2_gone joined12:06
bartman joined12:06
nickh joined12:06
Ace2016 joined13:07
Ace2016 hi all13:07
can someone help me with this error13:07
http://pastebin.co.uk/1099113:07
its the last command for getting xgl13:07
robfitz have you installed git?13:12
raalkml joined13:15
Ace2016 yea13:24
isn't that git?13:24
ok i did update-alternatives and i have git-scm now and it said fatal: git checkout xgl-0-0-1 Not a git repository13:25
no wait13:25
command: git checkout xgl-0-0-1 output: fatal: Not a git repository13:25
oh i see, i had to cd into xserver13:26
kanru joined13:41
spuk- joined13:47
raalkml joined13:51
tokkee joined13:51
kynde joined13:51
niv joined13:51
vlajos joined13:51
efelix joined13:51
matled joined13:51
palmcron joined13:51
kblin joined13:51
linuxmigration joined13:51
_jcrigby joined13:51
DebolazX joined13:51
devogon joined13:51
rkaway joined13:51
robfitz joined13:51
cehteh joined13:51
gitte joined13:51
kesselhaus__ joined13:51
lu_zero joined13:51
normalperson joined13:51
orospakr joined13:51
Geniack joined13:51
halfline joined13:51
jdl joined13:51
moh joined13:51
anholt joined13:51
CIA-11 joined13:51
masterdriverz joined13:51
clee joined13:51
fonseca joined13:51
robtaylor joined13:51
Tali joined13:51
anders_ joined13:51
siprbaum joined13:51
mountie joined13:51
ag joined13:51
gitsky joined13:51
toidinamai joined13:51
Alex joined13:51
jave joined13:51
felipe joined13:51
ruskie joined13:51
pdmef joined13:51
buggs joined13:51
dwmw2_gone joined13:51
bartman joined13:51
nickh joined13:51
arw joined13:51
corecode joined13:51
maio_ joined13:51
zakame joined13:51
ianw__ joined13:51
mugwump joined13:51
Thumper_ joined13:51
tko joined13:51
yashi joined13:51
meyering joined13:51
tchan joined13:51
dwmw2_gonedwmw2_BOS14:09
timlarson_ joined14:29
nud joined14:37
GeertB joined14:58
spuk- joined15:10
spearce joined15:26
spearce wonders if git 1.5.0 more closely resembles a nipple than 1.4.x did...15:27
cehteh try twisting it15:28
spearce kesselhaus__: still awake? the horror page you linked to was mine...15:28
cehteh spearce: does this horror still persist? :)15:28
spearce cehteh: yes. which is one reason I use git. I have my own git-pvcsimport tool that goes through the PVCS web interface to checkin/checkout files and sync with git. ;-)15:29
cehteh haha15:29
nice15:29
well the sad part ist that management burns money, time and developer nerves in masses15:29
spearce its their own money. well, except for the developer nerves anyway...15:30
cehteh yeah ..15:31
i think thats somewhat demotivating15:31
spearce i've silently converted all of my peers to using git, then flushing to PVCS via that script. everyone is like "how did i ever get by without this?!?!?". management has no clue, but is happy developers are producing faster.15:31
heh, reading #git logs is starting to become a requirement. i'm fearing we may be slowly moving from a mailing list community to a mailing list + irc community. :)15:32
cehteh and when they find out you get a reprimand15:32
spearce cehteh: actually better, i got them all to sign a form saying we're allowed to use the software. so they are on the hook for allowing it, not us. i just wish i could get them to completely replace pvcs with git. :)15:33
btw, said form was required by management - and they have it in their secure filing cabinet thingy...15:33
cehteh ah ok :)15:33
well .. working with git (or any other distributed rcs) and then feeding it to a centralized rcs is what many people do and often the best they can gain15:35
spearce cehteh: so I was thinking about adding source ~/.wishrc to git-gui, but i'm a little uncomfortable with the idea of just executing some file in your home directory. ;-)15:51
cehteh yeah .. i dont like that either15:52
thats a bandaid i added for myself .. but it seems to be suggested but still uncommon in tcltk apps15:52
spearce so my other thought was i could add an option in git-config (e.g. gui.addFont) that you can put the font in, and it would execute "option add *font $that" for you.15:53
cehteh seriously i would prefer the [gui] section in gitconfig ... but having its own config file is ok too15:53
i think it needs to be worked out to make some small simple font system in that way .. you know how emacs handles that?15:54
one default font and others inherit/modify on that15:54
thats certainly some more work .. but in the long run i think thats the proper way to do it15:55
spearce well, git-gui basically does that too. we have two though, one for normal ui (usually a proportional width font) and one for diff/commit display (usually a fixed width font).15:55
cehteh doesnt need to be much complicated ... how many diffrent fonts do git gui's currently use? 3 .. maybe up to 5 in future ...15:56
i have some ideas about git gui .. but since i dont plan to work on it i better dont proclaim too much ;)15:56
spearce heh. i'd still love an email with some suggestions for improvement. you may have a bright idea that i might actually want to implement, and find time to do. ;-)15:57
cehteh anyways ... its already a nice tool .. i never thought i would use a gui for checkins .. but that changes15:57
spearce hah! my big gripe with it now as it can't run my commit messages through fmt. which i do in vi. i'll probably try to get something like that added... but its been low priority for me.15:58
cehteh yes .. actually most base functionality is there, well done15:59
i miss 'rebase' in the merge menu15:59
and do checkout's merge or abort? i didnt tried yet, but would be nice too ... maybe 3way .. also a reset --hard; checkout enforceable16:00
spearce checkout's abort. there's no provision to do a merged checkout (no -m flag).16:01
reset --hard is there (Merge->Abort Merge)16:01
cehteh err .. just checkout -f ... reset is another thing (gnu arch has a undo / redo stack for the working copy)16:01
well in git one just branches16:02
that Abort Merge does a git reset isnt clear for someone who doesnt know it ..16:04
spearce i know, i've thought about that... i was thinking of linking that same action under a different menu item too, but i wasn't sure where to hang it, or what to call it.16:04
cehteh ok .. Branch -> Reset... after Create.. Delete..16:06
spearce ok, that's not a bad idea at all.16:06
cehteh and Merge -> Rebase...16:06
spearce also not a bad idea - but some amount of work. :-)16:07
cehteh another idea would be to have a console window where the git commands assembled are shown and the output (stdout/stderr) is redirected .. dunno how that works if lets say gpg wants a passsphrase16:09
the Staging window could be used for that .. make it tabbed or such either showing staging or console16:10
cehteh usually runs git-gui & ... but then it litters my console when i use it16:10
spearce what do you mean it litters your console?16:11
cehteh the stdout/stderr from the git command still go to the console16:11
(generating packs, gpg logging)16:12
spearce wtf? git-gui usually captures everything to itself, i have never seen it let git command output go to the terminal it was started from.16:13
cehteh huh16:14
heh it does that here .. maybe from the hooks16:14
spearce i just did a repack in git-gui and nothing went to my terminal. the hooks to (e.g. pre-commit) are captured by git-gui and if they produce any output its shown in a popup window...16:14
cehteh $ cat .git/hooks/post-commit16:14
#!/bin/sh16:14
git sign "$(git-symbolic-ref HEAD | cut -d/ -f 3-)_signature"16:14
git publish16:14
thats whats shown16:15
spearce ahhh... your post-commit hook. that i just run blindly and don't get the output of. hmm.16:15
cehteh exactly16:15
well i an wrap it in a >&/dev/null16:15
maybe thats even the better way16:16
spearce to discard the output?16:17
cehteh yes16:18
spearce what if its failing?16:18
cehteh thats not critical in my case .. hence i saied thats the better way ... for people where it is critical, they want to retain the output16:18
sign recreates a gpg-signed tag .. but if it fails the older one suffices ...16:19
publish mirrors to my web-server and that will definately fail when my laptop is not on the net, but thats still not a big issue16:20
does git commit reflect the exit value of hooks in its own exit value?16:22
if yes then you could pop up a warning ...16:22
spearce no, not the post-commit hook. which is where i got the idea to just run post-commit blind in git-gui.16:23
the pre-commit hook is honored.16:23
cehteh ok16:23
spearce doesn't mean i cant change post-commit behavior in git-gui to behave that way though.16:24
right now i've got a small mess on my hands - i'm trying to fix the no-change commit case but repository_state is a freaking disaster. i'm scared of changing it. ;-)16:24
cehteh hehe16:25
spearce and i'm a lot more aggressive about rewriting code than Junio is. ;-)16:25
felipe joined16:26
cehteh would like tool-tips or even better using the status-bar for help16:27
spearce tooltips ? in tk? are you nuts? ;-)16:28
cehteh when the user hovers over menu Merge -> Abort Merge then "Does a git-reset --hard to delete any existing changes in your working copy" could appear in the status bar16:29
hey i am not tcl or gui programmer :)16:29
spearce i don't think i can get a mouse hover event there. maybe its possible. i haven't tried.16:29
cehteh don't care just a idea16:30
thats what i like in xfig .. it always explains what the user can do at one place16:31
kukks joined16:32
cehteh not a shiny gui but very functional/useful16:32
ferdy joined16:32
spearce agreed. i'll take functional/useful over shiny anyday. but i'm not the average computer user. ;-)16:34
chris2 joined16:37
lyakh joined16:47
GyrosGeier joined16:51
spearce i kinda would like to use tile in git-gui, but i don't want to add the dependency.16:56
Oejet joined16:57
cehteh cant you make it optional .. prolly even some more work :)16:57
http://wiki.tcl.tk/14796 .. even obsoleted :p16:58
spearce cehteh: I think i'm going to do an overhaul of git-gui and make the 0.7.x series. i want to do some features in there but its just getting impossible to maintain. ~6k lines of sometimes rather messy tcl in one giant file is *not* helping me. :)17:07
btw, the i did miss a number of font configs on ui widgets. which is why your option hack fixes the fonts for you. *sigh*17:07
cehteh hehe :)17:08
spearce whoops, git-gui 0.6.2 missed the 1.5.0.2 release window. :)17:09
corecode heh i found a (small) bug? in diff17:13
-vm_fork(struct lwp *lp1, struct proc *p2, int flags)17:13
+vm_fork(struct proc *p1, struct proc *p2, int flags)17:13
later...17:13
@@ -240,7 +237,7 @@ vm_fork(struct lwp *lp1, struct proc *p2, int flags)17:13
it uses the old function name17:13
not sure if that is expected17:14
gitte corecode: if you read the diff, you are more likely to know the old name (or signature)...17:14
so I'd say it is good.17:14
corecode well, i was confused for a short moment17:15
because i though "wtf? i didn't change the signature?"17:15
gitte I, for one, like that behaviour. You see in the "+" line what is new, but you can orient yourself with the function name you are more likely to know.17:19
For example, I write a patch and send it to you, where I rename "main()" to "somestrangefunction()".17:20
spearce agreed. the only thing i don't like is the header grabs the Java class name, not the method name. but java's crap anyway. ;-)17:20
gitte I guess if you know the code already, saying "this is in main()" is more likely to help you.17:21
spearce: at least it is a little more consistent than C++...17:21
Tali spearce: stupid question: how do I use egit in eclipse? How can I install the plugin so that it gets loaded in the main eclipse?17:43
pdmef_ joined17:43
spearce Tali: import the plugin into your workspace, then export the three plugins using the plugin export wizard. that should make a local update site that you can then point your eclipse at and install the plugins from.17:44
Tali ah, where do I find the plugin export wizard?17:45
(I don't have eclipse at hand at the moment)17:45
spearce File->Export, Plug-in Development, Deployable plug-ins and fragments.17:46
Tali great, thanks.17:48
will try that later17:48
Eludias joined17:48
arw there is an eclipse-plugin?17:48
spearce its a work in progress. not really useful for the mere mortal.17:49
Tali but I guess its nice to learn a little bit about eclipse at the same time, too.17:49
and my company is thinking about deploying eclipse in the near future, so I have to work with it anyway...17:50
spearce i'm still using eclipse and git-gui in parallel.17:50
cehteh spearce: btw instead of the rescan button you could use inotify/dnotify .. dunno if thats intended, but showing an old state in git gui has no much value anyways17:52
spearce cehteh: i've actually thought of doing that, but not every OS supports it. (windows?). anyway, i'd like to do it someday, mac os x has the same type of concept and i think its worth doing.17:53
alley_cat joined17:53
cehteh spearce: polling the directory mtime once every few seconds wont hurt either .. i agree that polling sux ... but if there is no OS support, its not your fault anyways .. and doing it at a low frequency isnt problematic17:54
windows prolly has its own notify system .. i would be surprised if not17:57
(someone just confirmed me that windows has a api for that)18:00
spearce api? something i can use from pure tcl? ;-)18:00
cehteh at worst you have to ship a small C tool which does that .. maybe then portable for windows and linux18:01
popen("git-watch-dir", "r") .. or such :)18:02
prolly even a good idea since it only needs to report relevant changes means not .git and exclude all things from .gitignore18:02
spearce indeed.18:03
cehteh such a tool could be useful for quite a lot other tasks too18:04
if you come back to this, tell me maybe i try my luck, hacking it together18:04
spearce ok. probably after i overhaul git-gui and get 0.7 out; it would be easier to add that in then.18:05
cehteh sure .. i have a lot of other fun anyways18:06
arthurgeek joined18:08
Romster joined18:08
arthurgeek Hi all! I compiled git on Mac OS X 10.4.6 and when I run git-clone I get: /usr/local//bin/git-clone: line 177: git-init: command not found18:09
spearce odd. that should not have happened. ;-)18:09
git does `git --exec-path` give you ?18:10
and `which git-init` ?18:10
arthurgeek --exec-python: /usr/local//bin and there's no git-init18:11
raalkml arthurgeek: that's not git. That's something else18:12
spearce and how does git-clone exist but not git-init ? partial installation somehow?18:12
raalkml arthurgeek: there was an installation, btw?18:13
make install18:13
arthurgeek raalkml: yeah..18:13
Tali and with the same prefix= as the compile?18:13
gitte arthurgeek: It is one of the things I do not particularly like in git that it has an inbuilt execdir...18:14
cehteh gitte: where else?18:14
gitte So, if you just type "make", and add the directory to the PATH, it will not work without setting GIT_EXECDIR first.18:15
cehteh with .gitconfig you cant install diffrent versions of git in parallel18:15
gitte cehteh: with any other program, when I "make" it, I can start it with ./program-name, and it works...18:15
arthurgeek I uned ./configure with prefix and then maxe and make install18:15
cehteh gitte: mhm maybe the exec-dir should be stored relative to the calling program ...18:16
gitte Hmm. Try executing with GIT_TRACE=1.18:16
cehteh not absolute18:16
that would make sense18:16
gitte thinks it would still not be better.18:17
arthurgeek Tali: the configure set GIT_EXECDIR for make and make install?18:17
raalkml cehteh: it not always possible to find the "calling program"18:17
cehteh $0 :)18:18
raalkml cehteh: consider execvp("/usr/local/bin/git-init", argv) where argv[0] = "git-init"18:18
cehteh raalkml: this is only the generic case anyways .. if one has some strange setup he prolly knows what he id doing18:18
raalkml where is git-init started from?18:18
cehteh i mean only the 'git' fontend18:19
Tali arthurgeek: if you used configure it should do it for all make calls, yes18:19
cehteh not the git-.* thing .. 'git' sets/needs execdir18:19
arthurgeek Tali: then, what's my problem?18:19
raalkml cehteh: and why can't I call "git" the same way with execvp?18:20
Tali arthurgeek: run "make install" again and look at the command lines if it puts all the programms in the correct location18:20
gitte arthurgeek: You can _override_ the compiled-in execdir with GIT_EXECDIR.18:20
arthurgeek: try git-clone after "export GIT_TRACE=1" to see what it tries to call.18:21
cehteh raalkml: you can .. why not? ... but if you do you should know what you are doing :)18:21
means you should setup GIT_EXECDIR18:21
raalkml cehteh: oh, I do. I just didn't know that git parses argv[0] (whereas noone else does)18:21
cehteh i only think about the generic case when someone calls it from a shell and has diffrent git installations ..18:22
raalkml I actually like it how it is. It is stable. Not very handy, but trustable18:22
cehteh and yes such should be documented ...18:22
raalkml just compile it with different prefixes18:23
arthurgeek http://pastie.caboo.se/43144 my ls /usr/local/bin/ | grep git18:23
raalkml arthurgeek: looks correct. ls -l?18:24
(just check for -x)18:24
Tali at least git-init and git-push are missing18:26
disk full perhaps?18:27
arthurgeek_ joined18:27
arthurgeek_ sorry... ICR client crashed...18:28
**IRC18:28
Tali arthurgeek_: can you rerun make install and look for error messages?18:28
pdmef_ joined18:28
arthurgeek_ http://pastie.caboo.se/43145 and here is my make install output18:28
What's this rm -f last line?18:29
gitte arthurgeek_: I am on a text console, so I cannot look at your pix.18:31
But the rm -f line reveals that you are on Windows.18:31
And it just so seems that you use MinGW?18:32
arthurgeek_ gitte: I'm on a Mac18:32
raalkml arthurgeek_: it's a bit short for make install18:32
gitte What?18:32
arthurgeek_ gitte: it's not a pic..18:32
Tali raalkml: you can scroll to the right18:33
raalkml oh, yes18:33
arthurgeek_ gitte: Mac OS X 10.4.618:33
GyrosGeier joined18:33
raalkml arthurgeek_: the last rm -f + ln is linking builtin commands to git executable18:34
gitte seems to be unable to load http://pastie.caboo.se/4314518:34
raalkml well, no errors18:34
gitte still thinks GIT_TRACE=1 would be a good idea...18:35
arthurgeek_ gitte: http://pastie.caboo.se/43145.txt18:35
matled pastie.caboo.se has dns problems18:35
raalkml does "//" in a path means something to Mac OS X?18:36
matled nope, this is just from $(prefix)/bin18:37
raalkml ok, just checking18:37
gitte arthurgeek_: thanks, I saw it now.18:38
arthurgeek joined18:38
arthurgeek seems to be working now...18:39
raalkml arthurgeek: have you already tried GIT_TRACE=1 git clone ...?18:39
Tali raalkml: he didn't have git-init installed, no GIT_TRACE would help here18:39
arthurgeek raalkml: yeah... the first time I tried it stoped when loading git-init18:39
raalkml but you did have git installed (the executable file named "git")18:40
arthurgeek now I compiled it again (make && make install) and it's working...18:40
Tali strange, but good it works now18:40
hmm, looking at the ls output again, it seems that no builtin command was installed18:41
raalkml arthurgeek: next time, it'd be a good idea to do make -s install and pay attention to anything you see (-s hides the commands)18:41
alley_cat joined18:45
alley_cat joined18:46
alley_cat joined18:47
arthurgeek joined18:57
Tv joined19:07
Oejet joined19:22
ACSpike[Work] joined19:26
ACSpike[Work] do any of the three native win32 efforts listed on http://git.or.cz/gitwiki/WindowsInstall have web presences?19:27
troyt joined19:27
spearce ACSpike: not really. all three are still works-in-progress, though the MinGW port may actually be useable.19:28
http://repo.or.cz/w/git/mingw.git19:29
clee spearce: the MinGW port actually supports git:// URLs now, doesn't it?19:33
spearce clee: i think that's what i read, but i don't use it myself so i can't say.19:34
troyt Question: What's the normal order/procedure for submitting patches to git? I've been working on support for large pack files. My repo has about 5.6 GB worth of pack files, so it was an itch... I'm still working on testing/verifying my patch, but it seems to be working so far...19:34
spearce troyt: see Documentation/SubmittingPatches. but you are walking on the same code that Nico and I are in right now.... *sigh*19:34
troyt Such is life. It's not like anybody knew I was digging there...19:35
spearce what is the change, expanding the offset in the index to 64 bits?19:36
troyt More or less.19:36
spearce did you account for handling the old and new index formats by putting PACK_IDX_SIGNATURE in the 64 bit version?19:37
troyt Yup. I saw that bit of code and was thinking "hmmm... looks like this may be pending"19:37
So I uncommented it and used PACK_IDX_SIGNATURE.19:38
spearce that, and a whole lot of other stuff in there is.19:38
troyt I can easily just submit the patch so you can see what I did.19:38
spearce yea, that would be interesting. but be prepared for Nico to jump. :-)19:38
troyt Define "Jump"19:38
spearce reply with something saying we're working on this. :)19:39
last time i was in this code with a huge series (sliding window mmap) it got blocked by Junio's changes and Nico's changes and i got pushed back 6 months *and* had to rewrite everything. not pleasant.19:39
troyt Yeah, well, I can't say it would be a suprise. My submission would be like a bolt from the blue; nobody was expecting it.19:40
gitte troyt: did we not talk about that a few days ago?19:40
spearce in case you did not know, Junio did something like that a while ago and pulled it. it never got merged into next.19:40
raalkml troyt: I'm intrigued enough19:40
troyt Sure did, gitte.19:40
raalkml when do you think you are ready?19:40
gitte ACSpike[Work]: the third effort is probably not really started at all.19:41
troyt I had my local kernel hacker (Eric Biederman) over my shoulder helping me out as well...19:41
gitte Wow. That's a good way to learn...19:41
troyt No kidding.19:41
gitte envies troyt.19:42
jdl I'd be worried with biederman behind me... :-)19:44
ACSpike[Work] gitte: that's the TortoiseCVS route?19:44
Tv joined19:44
gitte Yes.19:46
spearce troyt: please do post your patch, i'd at least be interested in seeing how you did this... but i'm also going to suggest we don't merge it, because i want to get pack v4 through instead.19:46
gitte And the description is a little misleading...19:46
troyt Well, I've worked with biederman for two years now, so I'm pretty used to him. The funny part was when he kept telling me that "this is C, not C++".19:46
Pack V4?19:46
gitte spearce: maybe the patch can be integrated in your packv4 efforts?19:47
spearce troyt: nico and i are trying to improve the basic packfile format to be smaller and be able to do some reading operations faster.19:47
gitte: Nico and I have already settled on 64 bit index in pack v4...19:47
gitte ... by storing tree objects differently...19:47
spearce and commits.19:47
gitte Commits also?19:47
Yeah, makes sense: for reachability.19:47
spearce yes. especially commits, it helps rev-list.19:47
gitte you cannot pack sha1s efficiently anyway.19:48
spearce you mean compress? ;-)19:48
gitte :-)19:48
T1 joined19:59
T1Tv119:59
gitte spearce: I just cobbled together a patch to show method names in diffs of java code...20:00
spearce gitte: heh, very nice. ;-)20:01
f'k. now i have to rebase on top of nico's 6 series... grrr...20:04
arthurgeek left20:09
gitte needs almost as much time composing a commit message as writing & testing the patch!20:11
spearce yea, me too. you aren't alone there. :)20:11
gitsky you're doing it for our children20:13
dwmw2_BOSdwmw2_gone20:21
gitte gitsky: I'd have to fork() first :-)20:22
lhz joined20:22
dwmw2_gonedwmw2_BOS20:28
gitte wonders what _BOS means...20:33
clee _BOS probably means Logan airport20:35
(in Boston - the airport code is BOS)20:35
and, gitte - don't you mean you'd have to spawn()?20:36
troyt you have to fork() before you can spawn()20:39
spearce though i think `date` has to come first. ;)20:40
troyt spearce: Should I CC the patch to the git list, or just send it your way?20:40
spearce cc the list, others may wish to comment.20:40
jdl git gui grouses about not being able to parse the "git version gitgui.0.6.1.g509b" string.20:41
spearce jdl: when its running? like at startup?20:41
jdl That version string is unfortunate for other reasons too.20:41
yes.20:41
spearce wtf.20:42
don't even tell me git-describe did something very very bad....20:42
jdl It really would have been nicer to see some variant of 1.5... based version string too.20:42
spearce git describe 509b20:42
v1.5.0.1-213-g509b4d720:42
hmm.20:42
jdl describe current top of git git.git?20:43
spearce yes20:43
jdl I get:20:43
% git --version20:43
git version gitgui.0.6.1.g509b20:43
spearce very wrong. very wrong.20:43
are you missing the 1.5.0.1 tag in your git.git repository?20:43
spearce thinks git-describe may need to grow some more smarts here with gitgui tags...20:44
jdl No.20:44
spearce so what does `git describe --debug 509b` give you?20:44
jdl apparently, describe has had its heuristic changed to find the "closest tag" differently now.20:44
spearce yea, i wrote that feature. it works very well....20:45
except now!20:45
jdl git describe --debug 509b20:45
searching to describe 509b20:45
annotated 213 v1.5.0.120:45
annotated 240 v1.5.020:45
annotated 455 v1.5.0-rc420:45
annotated 651 v1.5.0-rc320:45
annotated 780 v1.5.0-rc220:45
annotated 911 v1.5.0-rc120:45
annotated 1111 gitgui-0.6.120:45
annotated 1127 gitgui-0.6.020:45
annotated 1195 v1.5.0-rc020:45
annotated 1269 v1.4.4.420:45
traversed 1600 commits20:45
more than 10 tags found; listed 10 most recent20:45
gave up search at 851a911024481f6759bce337b8dc50241070db8120:45
Oh wait.20:45
I had a 1.4.mumble installed when I rebuilt this 1.5.0.1....20:45
is it not self-referential enough during a build?20:46
spearce no. we rely on the installed git-describe to generate the new version.20:46
so if you had 1.4.x installed when you built 1.5.x it would compute the version wrong.20:46
jdl So it is _not_ self referential enough to be current during the build...20:46
Right.20:46
So you have to build it twice to get it right?20:47
Feh.20:47
gitte clee: ;-)20:47
spearce well, build, install, build, install. :)20:47
jdl Becky will love this.20:47
gitte thinks IRC sucks, because when you work on something different for a few minutes, you have to look what are the unseen messages...20:48
gitte jdl: Who is Becky? Beckham?20:48
spearce gitte: what do you want, a diffstat summary for irc? ;-)20:48
jdl The person here that does the git installs locally.20:49
Our install process is less than ideal.20:49
clee jdl: you have somebody who does git installs for you?20:49
that's a job?20:50
man, I'm working at the wrong company20:50
jdl No.20:50
She's the one who understands the process. :-)20:50
sgrimm joined20:51
jdl I'm disinclined to figure it out for fear _I_ get to do them too.20:51
What's the one .o file I can remove to force it to get this version right?20:53
spearce shouldn't be necessary. just running make with the right git-describe in place should force the version to update, and the files to recompile.20:54
jdl It didn't.20:54
spearce kill GIT-VERSION-FILE then.20:55
jdl Crap.20:56
Stupid path problems.20:56
% make20:56
GIT_VERSION = gitgui.0.6.1.g509b20:56
robinr joined20:56
sgrimm How do I make git-rebase --continue work when I've decided to accept the upstream version of the file?20:59
spearce git-rebase --skip ?20:59
or maybe not...20:59
if its the entire patch its --skip.21:00
sgrimm No, just one file21:00
I run "git add foo" then "git-rebase --continue" and it tells me I need to run git-add.21:00
spearce if its just one file in the patch but not others, checkout the upstream version and restage that in the index, then --continue.21:00
git status ?21:00
anything else unmerged?21:00
jdl checkout the version of the file you want, then update-index it.21:00
sgrimm OK, I'll try that21:00
spearce well 1.5.0 add/update-index == tomato/tomato. :)21:01
sgrimm Hmm, no dice. Did "git checkout foo", "git add foo", "git rebase --continue" and got the "did you forget to use 'git add'?" message for that file.21:02
Actually, wait, I guess this particular patch did only touch that one file. I guess --skip will work.21:02
jdl OK so git gui is happy with a better-formed (modern) version string. Thanks.21:03
sgrimm But jeez, "accept the upstream version" is a pretty common thing to do, isn't it? Shouldn't be so obscure in the git UI.21:03
Tv1Tv21:04
gitte Did I understand correctly that git-rebase --continue commits the result itself? What if I want to edit the commit message to reflect some changes I had to make?21:06
spearce yea, that's an issue. you can edit the message file, but there's two different ones depending on if you used -m or not.21:07
gitte How awful would it be on existing users if we changed that?21:07
spearce so long as it autocommits on --continue, i doubt users would notice. or is that what you wanted to change? ;-)21:08
gitte Yes, that's what I wanted to change.21:08
For example, if I realize that a certain patch I made was done differently in upstream, I want to skip it.21:09
The most natural way for me would be to "git reset --hard; git rebase continue"21:09
Sometimes, I upstream has some specific thing differently, and I have to fix up the code _and_ the message.21:10
Most natural to me would be "git commit -F .msg -e; git rebase continue"21:10
robinr spearce: http://www.eclipse.org/legal/eplfaq.php , section 2721:10
spearce robinr: yea.21:11
gitte Lawyers. Urgh.21:11
robinr gitte: yes, the one that decided to create one license to rule them all21:13
gitte thinks if you need a lawyer to understand a certain legal document, when you are perfectly capable of writing a C grokking parser in perl, suggests that legal documents are only written to make sure that lawyers always get loads of money.21:14
gitte How can you tell that a lawyer lies?21:15
robinr that's an old one21:15
gitte I still love it.21:15
robinr works on politicians and car salesmen too21:15
gitte Well, never attribute to malice that which can be explained by stupidity.21:16
I think that lawyers could and should be held fully accountable for what they do.21:16
robinr anyway, it seems the eclipse people don't mind GPL:ed plugins as long as we do not COPY code21:21
(from eclipse21:21
)21:21
spearce right21:21
sgrimm gitte: In my experience behind every scummy lawyer is an equally scummy client. I'm sure you wouldn't put the FSF's lawyers in the same bucket as SCO's?21:22
robinr sgrimm: watch your language!21:23
mentioning SCO in an innocent channel21:23
:)21:23
sgrimm :)21:23
robinr the Source Code 0wners, brr21:25
gitte sgrimm: a decent person will get a decent job. Nuff said.21:26
Tv joined22:02
Tv joined22:21
devogon joined22:38
Simon- joined22:46
Simon- erm. is there any easy way to recover from typing "git reset" instead of "git bisect reset"? :/22:46
spearce Simon: git checkout `cat .git/head-name`22:48
actually just `git bisect reset`22:48
gitte If something like that happens to me, I usually look into the reflog.22:49
spearce gah, we should put *.h files before *.c files when we spit out a patch.22:49
gitte And when I find the commit I want to reset to, I say "git checkout <thebranch>; git reset --hard <thecommit>"22:50
Simon- I managed to get it to work by doing diff|patch -Rp1 (to get rid of the needs update errors) and reset it back to the right place22:50
gitte Instead of "git diff | patch -Rp1", you can say "git reset --hard", too.22:51
The advantage: it is faster, and you do not need `git update-index --refresh` (or git-status, which does that implicitly)22:51
gitster joined23:11
GyrosGeier joined23:18
meyering hi gitster, you're just in time :) I've just posted a patch for a little problem with 2GB files in diff --cc area: http://marc.theaimsgroup.com/?l=git&m=117253150809507&w=223:18
troyt left23:18
meyering spearce: and ChangeLog/README/NEWS before everything else23:19
troyt joined23:19
Simon- left23:22
gitster meyering: pre told me that you had a rather big integer size patches. do you want to feed them to me too?23:25
gitster favors a small step at a time approach, though...23:25
meyering gitster, maybe he was mistaken? I'll take a look tomorrow.23:34
mountie joined23:37
gitster If you do not already have it, there is no need to hurry.23:37
gitte wonders if xdiff has size_t problems, too (it uses long throughout)23:39
gitte gitster: I just remembered my builtin merge-one-file patch... Should I resubmit it, or do you hate it?23:42
cworth joined23:50
prologic joined23:58
prologic Hi guys, an interesting question. how would I create a git repo to watch several other git rpeos in some nice way ?23:59
so taht the master repo has a combined log of all sub-repos23:59
or something :)23:59
is this even possible23:59

Logs Search ←Prev date Next date→ Channels Documentation