IRCloggy #git 2008-01-30

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.

2008-01-30

wjlee how should I let proj1 keep track new commits?00:02
Sonderblade left00:03
glommer joined00:03
Pupeno joined00:06
bentob0x left00:07
saimon left00:09
trapni left00:09
HG` joined00:14
Yuuhi left00:16
adante left00:19
loswillios left00:21
loswillios joined00:21
lukass left00:22
corecode_ TGEN: you need to run with -i00:23
TGEN: git execs more in the parent and does the work in the background00:23
TGEN: you can also set GIT_PAGER=cat or something like that00:23
TGEN: then it won't fork00:23
nud_ left00:24
TGEN k00:26
duncanm sigh, is it the case that none of the emacs ifaces to git (vc-git.el, git.el) support branches?00:27
TGEN 45314 git CALL mmap(0,0x2000000,0x1,0x2,0x3,0,0x2d869000,0)00:29
45314 git RET mmap -1 errno 12 Cannot allocate memory00:29
45314 git CALL mmap(0,0x2000000,0x1,0x2,0x3,0,0x2d869000,0)00:29
45314 git RET mmap -1 errno 12 Cannot allocate memory00:29
so yeah00:29
HG` left00:29
HG` joined00:29
TGEN (git -i didn't work on 1.5.0)00:29
anyhow, it's likely the default kernel MAXDSIZ value is to blame00:30
mugwump duncanm: vc-git.el displays the current branch name in the status bar00:32
duncanm mugwump: can i change the branch?00:32
mugwump TGEN: check on the mmap man page what those arguments imply00:32
see if git is being a bad program or not00:32
duncanm: dunno. I guess that would be more of a git.el thing00:32
I'm not sure what being able to switch branches from my editor would win me00:33
duncanm i don't think git.el knows how to change branches00:33
HG` left00:34
duncanm mugwump: if i change branches from the terminal, and edit/commit from emacs, it'll still go to master, wouldn't it?00:34
HG`` joined00:34
TGEN mugwump: nothing wrong with the arguments, just the number of consecutive mmap()s which together make the datasize limit trip over, which is hardwired in the kernel to be 512Mibyte max |:(00:34
duncanm because emacs only knows to commit to the master branch, afaict00:34
careo no. it'll go to whatever branch you're on regardless00:34
duncanm but it still says 'master' on the modeline00:34
mugwump "show other version" will work00:34
wagle_ duncanm, emacs might get confused over what its got in its buffers and whats in the files00:35
mugwump you'll probably need to kill and reload the buffer after switching branches00:35
which is arguably a bug00:35
duncanm hmm00:35
it'd be nice if i can just switch branches from without emacs/vc/git.el00:35
s/without/within/00:36
mugwump well, it's just lisp ... go write it :)00:36
wagle_ it often notices that the underlying file changed out from under the buffer (and offer to update buffer, or save to the file), but i don't know how much it checks to detect that00:36
careo could you just run the command in the shell from within emacs?00:37
kzak__ left00:37
loswillios left00:39
loswillios joined00:39
duncanm i don't even see the code in vc-git.el or git.el for setting the modeline00:39
ahx joined00:41
mithro is there a way to create "aliases" for branches in git?00:43
I would like to have a "stable" branch alias which maps to a given branch00:44
kukks left00:44
wagle_ have tags, but they wouldnt follow the branch head around00:44
kukks joined00:45
ahx hi. When i do a pull ,is it possible to have it accept all incoming changes? - I dont want to resolve any given conflicts, instead i want accept every change that pull introduces (only this time).00:45
wagle_ could make a foo-<fullversionnumber>-stable tag every so often00:46
mithro well, we already tag when a release occurs00:46
wagle_ others might have more ideas than i00:46
mugwump mithro: see if git symbolic-ref is your answer00:47
Eridius ahx: maybe you should submit a patch to add a new merge strategy "theirs"? There's already an existing strategy "ours"00:48
ahx ah ok. i didnt know of "ours"00:49
thanks00:50
duncanm Eridius: i thought rebase is that way to go for things like that00:50
Eridius duncanm: normally yes, but it seems like ahx wants to blow away any of his local changes that conflict with upstream00:50
gitster why not "fetch && reset --hard origin"?00:51
duncanm i'm trying to learn to use branches in my workflow, so far, i've just been using master00:52
mithro mugwump: I'm looking at that, and I'm not sure how I would use it00:52
Eridius is assuming ahx doesn't want to lose non-conflicting changes. ahx? What is it you're trying to do here?00:52
mugwump mithro: on the server, git symbolic-ref refs/heads/stable refs/heads/master00:52
would point "stable" to "master"00:52
duncanm Eridius: so i push my master branch to my public server, but if i want to setup a devel branch, and i push to that, i can't rewrite history locally and still keep in sync with the server, right?00:53
Eridius if you've pushed your own changes out to a remote repo, then no, you don't want to rebase00:53
duncanm hmm00:54
ReinH left00:55
mithro mugwump: that seems to be what I want00:56
cmarcelo left00:56
KirinDave left00:57
mithro mugwump: thanks00:57
ahx Eridius, yes. I dont want to loose my non-conflicting changes. Just accept all conflicting changes.00:57
duncanm Eridius: come to think of it, i guess that's okay, because i can do the commit merging when i merge the devel branch back to master00:58
Eridius ahx: you could create a patch from your changes, reset --hard, pull, then attempt to reapply your patch00:58
KirinDave joined00:59
glommer left00:59
ahx Eridius, ok. I understand. Thanks for help and good night.01:08
ahx left01:08
KirinDave left01:09
reval joined01:10
adante joined01:13
FunkeeMonk joined01:14
HG`` left01:24
flaguy left01:24
mithro left01:29
mithro joined01:30
devogon left01:30
adante_ joined01:33
KirinDave joined01:34
glommer joined01:34
GSaldana left01:38
ebzzry Hi! For small personal projects, is it ok to make small frequent commits?01:45
tpope sure01:46
halorgium ebzzry: it is ok for all projects :)01:46
tpope that's okay on big projects too01:46
halorgium as long as they are atomic01:46
FunkeeMonk left01:46
ebzzry Ohh, so changes, no matter how small, are ok to commit, even in rapid succession?01:47
halorgium commits are local remember01:48
tpope ebzzry: on a larger project, you might consider going back and cleaning them up again before pushing them01:48
adante left01:48
adante_adante01:48
tpope but generally, "commit early, commit often" is the way to go01:48
ebzzry Ok.01:49
garrin joined01:53
zapnap left01:53
glommer left01:56
kylem_ joined01:57
reval left01:57
Ori_B oh, question02:03
is there a short cut for "git-rebase origin/mybranch"?02:03
glommer joined02:03
Ori_B er. the git-fetch; git-rebase sequence, rather.02:04
something like git-update?02:04
doener_ in 1.5.4 there's git pull --rebase02:04
Ori_B ah. still a bit verbose, though.02:05
(ie, not tab-completable)02:05
doener_ you can configure your branch to default to rebasing instead of merging02:05
tpope in a good shell it is (or will be)02:05
Ori_B tpope: heh. fair enough.02:05
kanru left02:07
fowlduck joined02:11
fowlduck der02:11
kylem left02:13
reval joined02:14
tvachon left02:14
timocratic left02:16
KirinDave left02:17
imyousuf joined02:17
Strogg left02:19
antares joined02:21
fowlduck left02:21
Strogg joined02:21
jj- joined02:21
moh_ joined02:23
garrin left02:23
gebi left02:28
gebi joined02:28
wjlee left02:32
railk left02:33
RobotDeathSquad left02:37
reval left02:38
imyousuf under what license is git released?02:38
tpope gpl 202:39
laj http://git.kernel.org/?p=git/git.git;a=blob;f=COPYING;h=6ff87c4664981e4397625791c8ea3bbb5f2279a3;hb=HEAD02:40
tpope and yes, all I did was look for that file02:40
though I had a very strong suspicion02:40
garrin joined02:42
imyousuf thanks02:43
reval joined02:43
reval left02:49
imyousuf A supplementary question regarding licensing - If I use git to develop a system which uses it for VCS and distribute it under commercial license (not GPL) will that be a problem?02:50
DrNick consult your lawyer02:52
imyousuf DrNick: before I do that just wanted to know the usual practice02:53
and that will be done at a later stage02:53
tpope imyousuf: sounds very sketchy. it might could be done in the same way nvidia makes linux kernel modules02:55
with clearly drawn boundaries etc02:56
ianal obviously02:56
imyousuf tpope: we will not be modifying any code of git, but use the git commands02:56
mugwump imyousuf: absolutely not.02:56
imyousuf and distribute them02:56
mugwump read the GPL02:57
it specifically grants blanket use of the application for any purpose02:57
tpope yeah the fact you'd have to distribute git yourself sounds like the deal breaker02:57
mugwump oh, right. sure, if what you're building is a derived work02:58
(as shaky a term as that is internationally)02:58
imyousuf yes mugwump mine is a TOTALLY usage or derived work02:58
the tricky part is distribution, am I allowed to distribute it with a (not under a) commercial license, the GIT license will be intact02:59
cehteh mhm ... how the other way around, i work on this webfrontend which i would like to be under the Affero GPL3 .. but it links libgit02:59
mugwump cehteh: GPLv2 is compatible with GPLv3, that's fine03:00
cehteh i hope so03:00
mugwump well, imyousuf, if you are building a program that uses git as a library, the requirements of the GPL may apply03:01
cehteh its agpl ... which is more proper for a webfrontend i think03:01
imyousuf GIT is rather used as a software whose commands the executed by the program, not the library03:01
mugwump yes, but it's not so clear-cut, because you'll likely be using the "plumbing" commands03:02
cehteh imyousuf: depends ...03:02
i hope libgit becomes more useable over time03:02
mugwump the general principle is that you can't defeat the GPL just by wrapping a network or CLI layer around them03:02
imyousuf I see03:03
mugwump However that doesn't stop you distributing git source and your programs to people03:03
pombreda left03:03
mugwump I think03:04
AIUI you will be safe by avoiding plumbing commands, or by using a simple enough subset of commands that you could re-implement those portions for your release03:05
imyousuf hmm, my understanding was if I mention explicitly about GIT's licenses and user rights and distribute the source of git along with my program (under a commercial license) that should not be a problem03:06
mugwump If it was LGPL that would be the case03:06
imyousuf mugwump: can you give me an example of a plumbing command?03:06
mugwump 'git-cat-file' is plumbing; 'git-show' is porcelain03:06
tongueroo left03:07
imyousuf I see, so git-commit, git-submodule, git-diff, they are porcelain?03:07
mugwump right03:07
all the commands whose output is difficult to parse because it's designed for people :)03:07
imyousuf great, because I will be using the porcelain commands only03:07
mugwump well, the regular "ruling" (actually, statement from the FSF) on copyright of output from GPL commands applies03:08
cehteh mugwump: sorry to tell you GPL3 isnt compatible with GPL2 .. or actually i think i have a problem03:08
mugwump cehteh: do you understand why or can you cite a reference for that?03:09
cehteh http://www.gnu.org/philosophy/license-list.html03:09
Please note that GPLv3 is not compatible with GPLv2 by itself. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well.03:09
... and the AGPL3 is even more special, but has provisions to be compatible with GPL3 ... not really so with GPL203:10
mugwump more at http://www.gnu.org/licenses/rms-why-gplv3.html03:11
kanru joined03:12
cehteh well i guess git wont be upgraded to gpl3 anytime soon03:12
(i mean git is not the kernel imo here is gpl3 more proper than for the kernel, but well)03:13
madewokherd reads the first few paragraphs and thinks "wow, that would be a mess if things started using gpl3"03:13
devogon joined03:14
mugwump Interesting, I thought that the clause was not that restrictive03:16
This file is licensed under the GPL v2, or a later version at the discretion of Linus.03:16
^^ What a Bonehead03:16
cehteh hehe03:16
imyousuf can we actually request the git team (or Linus) to use a little lesser restrictive license, such as LGPL or CDDL? or even dual license git?03:17
cehteh imyousuf: i think you dont get the idea about free software :)03:18
aroben joined03:18
tpope imyousuf: you can try all you want, wouldn't expect much03:18
cehteh actually i have a problem to use a more strict license :)03:18
imyousuf :) oh ok, I am actually wanting to learn :)03:19
tpope it's not like he picked it out of the blue, he's been using it with the kernel for a dozen plus years03:19
jj- left03:19
cehteh wonders if a "may i use your humble gpl2 project as library in a agpl3 project" has any chance03:20
mugwump Don't use the CDDL03:21
That's a stupid license03:21
cehteh tpope: well kernel and git have different objectives, as i saied before, gpl3 for git wont do any problem i think, but its not my decision03:21
mugwump The person who wrote it got up on stage and admitted they included terms specifically designed to make it incompatible with the GPL03:21
tpope cehteh: I think he'd be more amenable to your case than imyousuf03:22
but, perhaps not enough to switch03:22
imyousuf mugwump: I do agree it is horribly incompatible with GPL03:22
cehteh tpope: i dont want a switch, just an agreement/exception03:22
eMBee joined03:23
mugwump no doubt those retarded and pointless clauses were invented by twats like Joerg "you guys are all idiots" Schilling03:23
s/invented/inspired/03:23
cehteh haha03:24
mugwump cehteh: you'd need to get all contributors to agree03:24
imyousuf btw can I use the output of a git porcelain in a product other than GPLed?03:24
mugwump it's not just Linus03:24
jj- joined03:24
cehteh mugwump: no copyright assignment for git?03:24
tpope to save you a trip to wikipedia that's the cdrecord guy03:25
mugwump imyousuf: "use" of GPL programs is generally considered to be fine - there's a FSF statement on this03:25
cehteh: no, there isn't. Just the signed-off-by: lines03:25
tcoppi left03:25
imyousuf ah ok, thats in fact great03:25
cehteh i've previously done 'gpl2 only' things too .. but contributions should be gpl2-or-any-later, or copyright assignment03:25
imyousuf than I guess I can put forward of using GIT as the product for VCS in this case :)03:26
tpope now you've got me worried03:26
mugwump imyousuf: sure, and don't forget, reimplementing plumbing commands isn't that difficult03:27
tpope I wrote some glue that basically helps you coordinate a git-svn repo with a trac website03:27
imyousuf yup I can always have a look at the existing ones :), but the porcelains will suffice my requirements03:27
KirinDave joined03:28
imyousuf actually so that I can use GIT (and not Mercurial) in the product I will have to spend hours coming up with a NetBeans VCS plugin for GIT :) but I will happily do it to be able to use GIT :)03:28
tpope lots of running things like git-apply and git-rev-parse behind the scenes03:28
I licensed it MIT, now I'm wondering if that's an issue03:28
tcoppi joined03:28
tpope my understanding is it'd be okay but I'm not real clear on the details03:28
mugwump MIT grants permission to relicense, so it's fine03:29
tpope I just wasn't sure if the gpl would "infect" my work03:29
not that I'm all that picky about the license for a petty project like this, I'm just flowing with the community03:30
imyousuf another question :) : I want to come with a Java Native Interface (another project not the one mentioned above) API for git, can I dual license it under CDDL and GPLv2?03:31
the reason for stupid CDDL is03:31
adante_ joined03:32
imyousuf my company are *afraid* of using GPL libraries (without Classpath exception) in our commercial products.03:32
tpope lots of sun projects are dual licensed under the gpl and cddl03:32
KirinDave left03:32
imyousuf yeah, but I will be using GPLv2ed git as lib for this (though in this case I will not be distributing git), that is why I am asking whether I can use CDDL or simple single license it under LGPL03:33
cehteh no only gpl203:34
mugwump in general the more permissions you grant the better03:35
assuming they're *good* permissions :)03:35
imyousuf :)03:35
so which one actually grants the most "good" permissions :)03:35
?03:35
cehteh mugwump: the better yes .. but still incompatible03:35
mugwump Well, dual CDDL / GPLv2+ seems reasonable03:35
cehteh when you include a gpl2ed library you cant release your code as lgpl03:36
mugwump sure you can03:36
you can license any code under anything you want03:36
bobesponja left03:36
mugwump (any code you are the copyright holder for, that is)03:37
adante__ joined03:37
mugwump whether that impacts on other people's licensing, that's the issue03:37
cehteh ok yes .. but then you give it away with a incompatible license which translating users have no license at all03:38
mugwump hence ... the more licenses you grant permission under, the more likely it is the users will be able to find a combination that works03:38
imyousuf I get it mugwump and cehteh03:39
cehteh mhm03:39
and i am more confused :)03:39
imyousuf so now the question is can a CDDLed product use GPL2 libs?03:39
jerbear joined03:40
mugwump heh, not if it's only CDDL03:40
cehteh actually you can make a GPL3'ed program linking a propietary lib .. so i see no reason why i cant link a gpl2'ed lib to my gpl3 program03:40
imyousuf I see, so when someone wants to use my product under CDDL will that be possible with a GPL2ed lib in the classpath?03:41
madewokherd everyone just use something public-domain equivalent, it's easier >_<03:41
imyousuf btw the product is dual licensed under GPLv2 and CDDL03:41
mugwump If it exposes the programming interface (ie, the plumbing) of the GPLv2 app out the other side, then the program using it will need the GPLv2 as well03:41
If it's just doing abstract things, ie a model of operation invented by your library, then probably not03:42
cehteh madewokherd: not really, here in germany, public domain is legally not possible03:42
imyousuf so I can actually plumb the plumbing to avoid the issues :)03:42
mugwump sure. say your library used the plumbing, and the exposed a generic, VCS-agnostic interface on the other side03:43
You're not using the combined program as a library03:43
tpope cehteh: really, how so?03:43
I've never heard that03:43
mugwump Well, actually, maybe you are. hrmm.03:43
Well, I hope we've helped enough for you to write a nice e-mail to the FSF lawyers to ask :)03:44
imyousuf yeah, mugwump :) now I at least know what to ask :)03:44
thanks mugwump, cehteh and tpope03:45
cehteh tpope: we differentiate between copyright which is transferable (ownership?) and creatorship which is not, when you created something you did it you cant tansfer this fact03:45
PD in the US sense means you drop all rights/privileges you have ..03:46
but in germany creatorship has some state you cant drop03:47
tpope is there a practical difference?03:47
adante left03:48
adante__adante03:48
cehteh not much, rather obscure cases03:48
pergesu joined03:50
tpope interesting to know03:51
cehteh is not a lawyer03:51
pvh so I think I just *really* screwed up my "git rebase -i"03:51
doener_ there's always the WTFPL03:51
mithro left03:51
mugwump WTFPL is dangerous03:51
mithro joined03:52
mugwump it doesn't disclaim responsibility03:52
adante_ left03:52
madewokherd I was thinking of MIT03:52
mugwump not a lawyer either, but was deeply involved with preparing this: http://www.e.govt.nz/policy/open-source/open-source-legal203:53
pvh At the end of my rebase I got the cryptic error message "cannot lock the ref". What gives?03:53
mugwump pvh: you just need to delete the lock and continue probably03:54
pvh mugwump: where would i find the lock?03:54
mugwump it'll be under .git/refs03:54
pvh is it a .file?03:54
imyousuf just send an email to FSF :)03:54
pvh mugwump: i don't see anything that looks like a lock file using find .git | grep lock or grep lock .git -R03:56
kukks left03:56
jerbear is anyone here familiar with PIL?03:57
mugwump the parrot language?03:57
jerbear oops, wrong channel03:58
mugwump pvh: *shrugs* ... strace it to see what it's trying03:58
lamont left03:58
lamont joined03:58
lamont left03:59
KirinDave joined04:02
lamont joined04:02
hharrison joined04:04
Strogg left04:06
Strogg joined04:06
kylem joined04:07
sgrimm left04:07
csc` left04:10
Toad anyone know how one comes by a beta password for github?04:13
aroben left04:20
jerbear left04:20
Toad anyone here use repo.or.cz?04:22
mugwump plenty04:22
glommer left04:22
kylem_ left04:23
lamont left04:24
imyousuf Toad: is there anything in particular you want to know on repo.or.cz?04:24
Toad imyousuf: I just registered an account, but it doesn't seem to be working properly with my public key04:25
it's prompting for a password04:25
kevwil joined04:25
imyousuf I see, I faced the same problem when I did not copy my key correctly04:25
Toad hm, it was probably hard wrapped04:26
imyousuf but later when I copied the again (the whole file content) it worked ok04:26
Ilari Toad: Did you register your public key? Did you copy the keytype ID (ssh2-...) too (somebody didn't)?04:26
imyousuf yeah thats what I missed first time :)04:27
Toad Ilari: yep, just copied my entire id_dsa.pub04:27
just tried again and made sure there were no hard wraps, same deal04:27
now I've got todd, tlipcon, and tlipcon204:27
imyousuf Toad: you will be prompted for the password of the key if you have not done ssh add04:27
Toad imyousuf: nope, it's in my ssh agent04:27
1024 fa:36:bf:e1:77:37:7b:2f:bd:17:b5:93:25:fb:90:88 /home/todd/.ssh/id_dsa (DSA)04:27
imyousuf I am using ubuntu and I am asked for the password if I have not done ssh-add04:29
Ilari Toad: Did you check that it tries to use correct user ID? Somebody used incorrect one...04:29
Toad oh, I think it did actually wrap it... stupid xterm04:29
mediogre joined04:29
Toad Aha, yep, that was it. wonder if I can email them and have them merge my now 4 accounts04:30
antares left04:33
careo left04:33
devogon left04:34
Toad hrm, now I'm getting errors with permission denied trying to create temporary file04:34
not sure if that's on my end or theirs04:34
Writing 4014 objects...04:35
fatal: Unable to create temporary file: Permission denied04:35
error: pack-objects died with strange error04:35
oh, wonder if I didn't give access to this project to my last user04:35
lamont joined04:35
imyousuf and also add yourself to the project :)04:35
Pupeno left04:36
Ilari wonders why there isn't even simple regex check on repo.or.cz to reject obiviously bogus public keys...04:36
doener joined04:37
Pupeno joined04:39
imyousuf Toad: also when pushing a new repo for the first time use --all04:44
Toad imyousuf: ah, too late. I just used master:refs/heads/master04:44
imyousuf :)04:44
as long as it works :)04:44
Toad appears to04:45
just needed an easy way to share a git repo with people outside the companyh04:45
Ilari Something like: 'ssh2-(dss|rsa) [a-zA-Z0-9\+/=]+( .*)?'04:45
imyousuf try cloning it to another location to verify04:45
Toad gitweb seems to be showing it nicely. I'll try a clone to make sure04:45
FunkeeMonk joined04:45
Ilari Toad: Just 'master' on push should work...04:46
imyousuf Ilari: adding that regex would come in extremely handy for newcomers like myself04:46
Ilari imyousuf: I don't know if it actually works but...04:46
Toad yep, cloned just fine04:46
Ilari Nope, it does't.04:47
Sightly fixed version: 'ssh-(dss|rsa) [a-zA-Z0-9\+/=]+( .*)?'. That at least accepts my public key.04:47
imyousuf ah yup04:48
Toad: if you have any other branch other than master that you want to push git push master will not push them, AFAIK04:48
so you will need to push them individually04:48
Toad imyousuf: yea, I pushed the ones I wanted individually04:48
imyousuf: I've been using git for several months now, just hadn't used repo.or.cz yet04:48
imyousuf oh ok :)04:49
Toad (we use git at work for version control, but it's closed source)04:49
Ilari Actual algorithm is as follows: If no refspecs are specified, take set of local branch names, set of remote branch names, do intersection and push those branches in intersection.04:49
IIRC, one can specify multiple refspecs on one push command, so 'git push foo bar baz' should push bar and baz to foo.04:50
imyousuf yup04:50
Ilari imyousuf: Checked if that regex thingy works? It is in the pattern syntax used by egrep.04:51
Toad headed home from work now. thanks guys04:51
(man, should stop staying til midnight!)04:51
imyousuf anytime Toad04:52
mithro left04:52
doener_ left04:53
imyousuf Ilari: sed -e 's/ssh-(dss|rsa) [a-zA-Z0-9\+/=]+( .*)?/true/p' /home/imyousuf/.ssh/id_rsa.pub this did not work04:53
imyousuf is trying to figure out why04:53
Ilari imyousuf: There's embedded / in the expression.04:54
doener sed wants \(...\) not (...)04:54
imyousuf yes and ( as well04:54
njero joined04:55
Ilari command I used: 'egrep "ssh-(dss|rsa) [a-zA-Z0-9\+/=]+( .*)?" .ssh/id_dsa.pub'.04:55
That BASE64 checking could be better...04:56
lamont left04:57
doener Ilari: s/dss/dsa/?04:57
Ilari Sightly improved version: 'ssh-(dss|rsa) [a-zA-Z0-9\+/]+=*( .*)?'04:57
doener: It's DSS in the key I have.04:57
doener right, just created a dsa key to check. interesting04:57
lamont joined04:57
imyousuf sed -e 's/ssh-\(dss\|rsa\) [a-zA-Z0-9+\/\=]\+\( .*\)\?/true/p' /home/imyousuf/.ssh/id_rsa.pub this worked04:58
Ilari IIRC, Digital Singnature Scheme04:58
imyousuf: Why does it give true twice?04:59
imyousuf s/-e/-ne/04:59
doener or just drop the p04:59
ribas mugwump: awake!?04:59
imyousuf yeah that works too, thanks doener05:00
mugwump ribas: sure05:00
ribas mugwump: =)05:00
sgrimm joined05:01
tvachon joined05:01
tvachon left05:01
ribas mugwump: can you read one paragraph for me?! And help make it better? it is about my README (patch) for gitweb05:01
madewokherd left05:04
lamont left05:04
lamont joined05:06
ribas mugwump: here we go, if anyone more is awake may help to =)05:06
* owner (or gitweb.owner)05:06
File with project (of a repository) owner, single lined. By default set to05:06
filesystem's directory owner. You can use gitweb.owner repo configuration05:06
variable, but file takes precedence.05:06
lamont left05:06
mithro joined05:08
mugwump the possession should move to the end of the compound noun - ie, filesystem directory's05:08
"single lined" sounds awkward, perhaps "a single line"05:08
kevwil left05:09
mugwump also, you're missing articles in a couple of places05:09
srid joined05:10
KirinDave left05:10
pombreda joined05:10
mugwump File with *the* owner of the repository, on a single line. By default set to hte filesystem directory's owner. You can use *the* gitweb.owner repo configuration variable, but *the* file takes precedence.05:10
FunkeeMonk left05:12
ribas mugwump: thanks a lot =)05:15
KirinDave joined05:15
lamont joined05:17
ribas now, going to sleep =) soon i'll be going to Rio de Janeiro =D05:30
srid left05:32
spearce joined05:34
mithro left05:35
njero left05:41
spearce hah. 70 line insertion, 43 line commit message. i'm horrible.05:43
how did i ever get by with "cvs -m foo" in the early days?05:43
Ingmar left05:45
thiago_h1me joined05:45
Ingmar joined05:45
KirinDave left05:46
thiago_home left05:46
fhobia left05:46
PerlJam left05:47
PerlJam joined05:47
faheem left05:53
faheem joined05:53
lamont left05:54
lamont joined05:56
peper left05:57
peper joined05:57
gitster Yeah, you should strive for a log message that is about twice as long as the patch text ;-)05:58
spearce hey, at least it describes wtf i'm doing.05:58
now if only the code actually matched the commit message.... *sigh*05:58
stupid f'ing bugs.05:58
damn.06:00
ok, so i gotta choice.06:00
always use a pipe between the hook and receive-pack for stderr, even if sideband wasn't supported on the client, and have receive-pack dump the data to stderr... or try to realize we didn't enable sideband so allow receive-pack's stderr to inherit into the hook, like we use do to.06:00
the code looks worse with the latter option. lots of "if (use sideband)" tests.06:01
reval joined06:01
kmap Is there any way to set up a push/pull only git repository on a remote machine which doesn't have git installed (without installing git there of course)06:03
gitster I do not recall the details of how I did it on the upload-pack side...06:03
No.06:03
kmap I guess it'd make sense to install git there...06:03
gitster: Right. Thanks06:03
spearce gitster: looks like you did the first case, always use the pipe.06:03
kmap: you can publish a repository over standard HTTP, but to get the repository there you'd have to use scp or rsync or something manually. its really annoying. its really best if you can just install git.06:04
kmap spearce: I have scp access.06:07
spearce: But the point is, yes... I better get git there. :-)06:08
spearce so git on it. :)06:08
kmap spearce: Right! :-)06:08
spearce was mr. create garbage today.06:08
spearce i kept rebasing the same 68 patches over and over again. generated 6000 loose objects in only a few hours.06:09
insane.06:09
saimon joined06:09
spearce at best that project usually only grows about 200 objects/week. if that.06:09
so gitster, you said you were perhaps more comfortable with this pgp based authentication in git-daemon than some of the other approaches we've kicked around?06:11
reval left06:19
gitster perhaps more comfortable is an overstatement, I should say.06:20
spearce less queasy? :)06:22
gitster But it surely is much less crazy compared to the other stuff.06:22
jeremyb joined06:23
spearce unfortunately all us smart people haven't come up with too many great solutions.06:24
nkallen left06:29
nkallen joined06:30
ken_ joined06:33
robinr joined06:33
mugwump spearce: will you be around in an hour or so to chat about this? I'm about to walk home06:40
spearce no, probably not, i'll be heading to bed about then.06:40
mugwump ah, ok06:40
well... anyway, I was going to mention, that the design comes from trying to distill out all the essential parts of the cpan6 project I was briefly involved in06:41
spearce hmm.06:41
mugwump so, we discussed this problem space pretty thoroughly06:42
spearce 30 page cpan6-design.pdf... that you authored. worth reading parts of it? :)06:43
mugwump however I really didn't like the other guy's insistence that all the messages be specced in xmlschema06:43
the top level stuff, sure06:43
hang on, I'll review it06:43
spearce i don't want to keep you. i'll skim this then head to bed. i think i need to chew on it a few hours in the back of my mind before i can write anything intelligent again on this subject. :)06:44
mugwump cool, sounds about right :)06:44
sleep well!06:44
Sho_ left06:45
mugwump oh, the results of the review - that design document isn't all irrelevant, but the namespaces stuff (ie, higher level stuff) would just sit in an "index" project, ie the basic system doesn't have to care06:45
but enough... I'm off home06:46
namenlos joined06:59
dysinger left07:03
robinr left07:07
Dodj|awayDodji07:14
pmezard joined07:23
EricWinchell left07:25
thiago_h1methiago_home07:29
Ademan left07:29
Ademan joined07:29
hachi anyone know how to get git-cvsimport to authenticate with the cvs server?07:30
I'm doing a cvs login ahead of time, but it's not sending the password to the server when it tries to log in... according to the strace I'm reading07:30
Phoop left07:30
bentob0x joined07:34
up_the_irons testing..07:39
ken_ left07:43
pmezard left07:46
capisce left07:48
up_the_irons testing (again)07:49
loops left07:51
johan-s joined07:55
KirinDave joined07:59
langenberg joined08:15
spearce left08:16
pergesu left08:26
jpetso joined08:29
jpetso Tv: ping08:29
up_the_irons jpetso: he's probably resting after a long night of team fortress 208:30
jpetso heh08:30
up_the_irons: with you participating?08:30
up_the_irons jpetso: no, but he mentioned he was getting into it08:31
jpetso mmkay08:31
up_the_irons: ok, thanks for the info08:31
up_the_irons jpetso: i try to stay away from addictive video games, b/c i sure can get addicted...08:31
jpetso up_the_irons: nothing better than a state of trance looking at the ever-moving screen08:32
up_the_irons jpetso: :)08:32
jpetso :P08:32
KirinDave left08:32
jpetso Tv: (when you get up.) seems like our release system overlord dww still considers branch and tag restrictions necessary: http://groups.drupal.org/node/8526#comment-2634708:35
up_the_irons but who cares about the CVS deploy module, lol08:37
ferdy joined08:39
pmezard joined08:39
somnium left08:41
dsop joined08:44
Maik joined08:45
Maik left08:45
Maik joined08:45
Maik left08:45
gebi left08:52
gebi joined08:52
FunkeeMonk joined08:54
saimon left08:57
jpetso up_the_irons: if Drupal would switch to git, the CVS deploy module would certainly get converted into a Git deploy module, so... yah, it's a valid example09:04
hlisv561 jpetso: What does the CVS deploy module even do?09:04
jpetso hlisv561: i'm not totally sure what it does exactly, but it helps rolling out Drupals using CVS checkouts instead of release tarballs09:05
up_the_irons jpetso: oh ok09:05
kanru left09:07
Sho_ joined09:12
sverrej left09:12
kzak__ joined09:23
saimon joined09:24
robewald|work joined09:44
sverrej joined09:49
pmezard_ joined09:55
pmezard left09:55
Fullmoon joined10:01
devogon joined10:07
octopod joined10:07
context jpetso: id rather hope deploying any software wouldnt depend on a scm of any type10:08
cvs or git or any other10:08
i dont want my production system depending on my scm software10:08
kzak__ left10:09
jpetso context: it doesn't, but 1. you can do it, and 2. using the CVS deploy module, while not required, makes things easier10:09
kzak__ joined10:10
jpetso context: if i understand correctly, it just quiets the automatic update notifier and gets the version from the VCS tag instead10:10
context: nothing that should prevent you from doing it your way, though10:11
vzctl left10:12
is_null hello everybody, how is it possible to rename the "master" branch please ?10:12
jpetso left10:13
is_null also : why doesn't git remove from the working directory, the files that were created and added in another branch ? is it a normal behavior ?10:16
Debolaz2 is_null: Yes, that is normal. It leaves untracked files alone.10:17
is_null Debolaz2: thanks10:21
FunkeeMonk left10:22
ebel joined10:24
priidu_ joined10:25
tjafk2 joined10:26
Tv is_null: renaming master: git branch -m master foo10:37
imyousuf left10:39
is_null Tv: thanks i had figured with the manual10:41
(hopefully)10:41
timj left10:42
rubydiamond joined10:42
namenlos left10:50
namenlos joined10:54
is_null is it possible to checkout and specify how deep should the history be ? For example, i'd like te checkout with only the 500 last commits10:56
Mikachu yes10:57
up_the_irons is_null: use --depth10:58
is_null thanks10:58
is_null deserves to be RTM'ed10:59
up_the_irons hehe10:59
Mikachu my "yes" was meant to imply that :)10:59
johan-s left11:04
is_null what does this error mean please ? http://rafb.net/p/D8CFCK66.html i've found a thread about it on internet but it's 40-messages long and relates to cygwin and winxp which is not revelant in my case11:07
janm joined11:07
context is_null: well find the real command out of your ant file11:09
so you can get a better mesage possibly11:10
namenlos left11:10
context that or its completely related to ant itself and has nothing to do with git11:10
Tv is_null: someone tried to cat a git ref file directly? that's broken11:11
is_null: they should use git rev-parse11:11
even packed refs will make that fail11:11
context heh11:12
kanru joined11:12
is_null context: i experience the same problem without ant11:12
context is_null: so yeah, you gave us 3 lines of ant output, no /real/ command, no /real/ output, and no /real/ context11:12
is_null my bad, let me prepare a description of the problem11:13
context the cat: line is compltely understandable, thats standard11:13
so 2 lines of output11:13
Tv the fault is in whoever uses cat for that purpose11:13
context is_null: dont use non git tools to get sha1 hashes from a git repo11:14
stillLotR joined11:14
fultilt left11:15
johan-s joined11:21
garrin left11:21
namenlos joined11:22
kmapshould11:25
shouldkmap11:25
LotR left11:33
lcapitulino joined11:34
Phoop joined11:35
glommer joined11:35
Ademan i'm looking at the man page for git-push, you can push things to git across http? O_o is there any sort of authentication that goes on?11:38
is_null ok, i got my report done : http://rafb.net/p/FtDzmn19.html any tip or idea please ?11:40
robewald|work left11:44
hlisv561 Ademan: Authentication on server side is implemented by HTTP daemon. What is supported in client side is dictated by curl library used.11:49
Ademan hlisv561: so in the case of apache would .htaccess dictate that?11:49
hlisv561 Ademan: The authetication employed is matter of Curl library in client side and Apache on server side. As far as I know, there is no specific authentication support in git itself for HTTP push.11:50
mithro joined11:50
hlisv561 Ademan: Probably apache can be configured in this regard using .htaccess...11:51
Ademan alright thanks11:51
cedricv joined11:52
hlisv561 is_null: Maybe default branch on remote side is set to nonexistent one?11:52
is_null hlisv561: indeed, thanks !11:52
kelvie left11:54
vbgunz joined11:58
stillLotRLotR12:04
dsaxena joined12:10
njero joined12:19
mithro left12:20
mithro joined12:20
Yuuhi joined12:24
kelvie joined12:28
Cap_J_L_Picard left12:33
Cap_J_L_Picard joined12:34
cmarcelo joined12:39
octopod if I have two git-svn clones of the same repo on two different machines, is it possible to set up so I can git push/pull between them before dcomitting from one? Or am I best doing a normal git clone of one of them from the other?12:44
hlisv561 octopod: I think that using git-svn with repository setup like that is not very advisable due to limited branch model of SVN. And one has to be careful doing pushes into repositories with working trees due to push-to-HEAD problems.12:51
ironfroggy left12:52
FunkeeMonk joined12:52
hlisv561 octopod: And neither is doing git clone of one from other necressarily a good idea for repo that has branches to dcommit to SVN.12:54
octopod hlisv561: ok, thanks... basically what I want to do is be able to move local changes to a development server to let others preview them before they're committed to svn12:55
hlisv561 octopod: DVCS (such as Git) easily can take development model that is hierarchial with peering. CVCS (such as SVN) pretty much assumes two-layer model (central repository and its users).12:56
destruct_ joined12:56
tiagosab joined12:56
tiagosab Hi! How do I find out in which branches a commit is?12:57
hlisv561 octopod: If you just want to offer previews, make copy of the preview branch (rebased on top of latest from SVN) somewhere where it is accessable. But make clear to other users that that branch is not stable.12:57
octopod hlisv561: no one would be using git on the preview branch apart from me, I just really want to be able to push a local branch to the remote server, I'm not sure what you mean by "make a copy"12:59
hlisv561 octopod: Pushing a branch makes copy of a branch since branches are local.13:02
namenlos hi, is there a possibility to interact with mercurial users using git?13:03
Leonidas joined13:04
destruct left13:07
destruct_destruct13:08
glommer left13:08
moh_moh13:09
Lash| joined13:12
robfitz_ joined13:17
Cerebon left13:22
maks_ namenlos: hg-to-git13:26
barthus left13:27
robfitz left13:28
robfitz_robfitz13:31
loops joined13:31
careo joined13:33
namenlos maks_: thx. so i am able to convert from hg to git. but am i right if i say, that there is no such thing like git-svn?13:34
johan-s left13:36
Ademan left13:43
Ademan joined13:44
ironfroggy joined13:46
ironfroggy left13:46
ironfroggy joined13:47
jj-_ joined13:48
jj- left13:48
kukks joined13:51
TuxCM- joined13:51
Ryback_ joined13:53
bdiego joined13:57
EmilMedv1 joined13:58
EmilMedv1emilmedv113:59
emilmedv1EmilMedv113:59
EmilMedv1 left13:59
EmilMedve left14:02
EmilMedve joined14:03
Cerebon_ joined14:05
Tux__ left14:07
unreal joined14:07
kukks left14:11
kukks joined14:12
is_null what command to set the default branch please ?14:15
johan-s joined14:16
noodl hi. can anyone tell me what this error means, please? (the local machine is mac os 10.5 running 1.5.3.7 and the remote is linux running 1.5.3.8) http://dpaste.com/33136/14:17
Cerebon_Cerebon14:17
ironfroggy left14:20
ironfroggy joined14:20
hlisv561 is_null: If it is repository without working tree, I think one has to either use 'git symbolic-ref' or hand-edit the repository. The symbolic reference to default branch is called HEAD.14:22
is_null hlisv561: i have a working tree but i'm unsure if git is aware of it's name14:27
HEAD has "ref: refs/heads/merged", which is my working tree14:29
hlisv561 is_null: I was talking about the repository on the server...14:30
loops noodl, perhaps Git isn't set up properly on web3.. or not in path ?14:30
is_null hlisv561: thanks, i'm quiet confused since the repos i work on is on the server14:31
*as woll14:32
noodl hmm, it's in /uar/local/bin but i'll make sure that's in PATH for a non-interactive shell14:32
kukks left14:33
kukks joined14:34
jj-_jj-14:34
loops is_null, i'm joining this conversation late; can you restate the issue you're having easily?14:34
is_null it was caused by a misunderstanding of mine and lack of reading the manual, causing two repos to cohabit on the server14:36
loops okay.. Git shouldn't have a problem with 2 repos on a server.. have you sorted it out for yourself?14:38
noodl loops: good call. it's not an issue with $PATH but the remote git installation seems incomplete (has roughly half the git-* executables as my local one)14:40
is_null i did sort the http hosting, thanks hlisv561. But i just figured that it's not possible to clone with --depth via HTTP; though that's something i want to be part for public deployment - which hosting solution allow it please ?14:41
loops noodl, it may have been installed with the gitexecdir option, moving some of the lower level plumbing commands out of standard PATH.14:42
is_null, git-daemon.14:42
noodl loops: make install complains about: gtar: This does not look like a tar archive14:43
priidu_ left14:44
loops noodl, sorry that's a new one on me..14:45
noodl lemme try the build from scratch14:46
failed again. here's the complete configure/make/make install output in case anyone has seen this, http://dpaste.com/33141/14:53
loops noodl, do you have a copy of gnu tar installed on that machine instead of gtar ?14:54
johan-s left14:54
noodl tar (GNU tar) 1.14 << that's the only one. (gtar links to it)14:55
loops noodl, looking at the Makefile, it seems gtar should only be invoked on SunOS.. odd14:55
IRSeekBot left14:56
johan-s joined14:57
loops noodl, does the command gtar cf - . | gtar tf -14:57
typed at the command line work for you?14:57
cannonball joined14:58
noodl yep14:58
mjc joined14:58
loops hmmm14:58
EmilMedv1 joined14:58
noodl shows the list of the directories from tar stream on stdin, and works in the templates/blt directory. same works with xf -14:58
EmilMedv1emilmedv114:58
EmilMedve left14:59
emilmedv1 left14:59
EmilMedve joined15:00
is_null i'm failing to fetch to repo and i don't understand why, this is the log from git-deamon : http://nopaste.com/p/a4nyGqi5qb15:01
johannes touch /var/www/devangels/git/.git/git-daemon-export-ok might help15:02
loops is_null, take a look at the git-daemon man page.. you need to either use --export-all, or use a flag file in each repo to mark it for export via git-deamon15:02
noodl loops: gah, it fails because i have CDPATH set. not sure why, with '.' in the path, but anyway it's installed now. sorry :(15:03
is_null ah, i've read it but i didn't understand, thanks15:03
stick joined15:03
loops noodl, okay.. (btw you should never "export" CDPATH, it should only ever affect the shell, nothing executed by it)15:03
cbrake_awaycbrake15:04
lcapitulino left15:04
noodl loops: ah! my bad. and woohoo, i finally have the original clone command working. thanks a bunch for your time :)15:04
loops np.. glad you got it working.15:04
dysinger joined15:05
lcapitulino joined15:07
GrimRC joined15:10
pedro__ joined15:10
GrimRC hi all; I have kernel 2.6.24, and I've used git-init to turn it in to a repository; I've done make distclean, but there are still files that are (git)ignored; how do I list the untracked files?15:11
EmilMedve Did you try 'git ls-files -i'?15:13
GrimRC no, but I get this: ls-files: --ignored needs some exclude pattern15:14
I'm new to git; I must be using that command wrongly15:16
EmilMedve Is adding --exclude-standard helping?15:16
If all you want to do is to remove _all_ the untracked files, try 'git clean -d -x -f`...15:16
GrimRC it just dumps usage info with -i and --exclude-standard15:17
I want to unignore all the ignored files, so that I can merge wireless-2.6 without fatal errors15:17
I mean, I want to unignore the ignored files, because there shouldn't be any left after make distclean, if I understand it right; from Googling, it seems sometimes vmlinux* files get accidentally ignored15:18
loops GrimRC, if this is a brand new repo that you created, nothing should be ignored by Git.15:18
GrimRC Linux kernel comes with its own .gitignore files15:19
loops ahh.. so can you just edit those to get the results you want?15:19
GrimRC yeah, but I don't know how to get a list of untracked files so I can fix them all in one go15:19
EmilMedve At this point I'm not sure I understand what exactly do you want to do...15:20
zapnap joined15:20
EmilMedve git clean -x -d -f should clean up all the untracked files...15:21
zapnap left15:21
Tv GrimRC: man git-ls-files15:22
kanru left15:22
loops git ls-files is pretty awful when it comes to just asking for something simple like... give me a list of all ignored files..15:23
GrimRC I can't work out the command-line to do it15:24
loops GrimRC, git ls-files -o seems to do it15:26
kukks left15:26
Tv loops: how is that pretty awful?15:26
GrimRC what I'm ultimately doing is, turning my 2.6.24 kernel in to a repository, adding a branch called wifi and the remote wireless 2.6 repository, doing a git-fetch of the remote repository, then a git-merge so I have a modified 2.6.24 kernel - is this even right?15:26
loops but the documentation and UI sucks bad15:26
kukks joined15:27
loops Tv: to get ignored files you'd expect to be able to say "git ls-files --ignored"15:27
Tv yeah, and the docs lie about it needing an argument too15:27
but still, that's an extra whooping 10 seconds time spent15:27
loops tv: and when you read the documentation.. you ask yourself what the --other option does and it says list "other" files.. not very helpful.15:27
Tv anything not covered above ;)15:27
GrimRC loops: thanks for that - it works15:27
loops Tv, sure.. it's not the end of the world.. just a blemish15:28
GrimRC doing git-fetch from a remote repository only fetches all that meta-data stuff right? so that when I do git-merge it only downloads what's needed? right??15:28
pedro__ left15:29
Arjen No15:29
loops No..15:29
GrimRC is there any sensible way to do that?15:29
Arjen git fetch gets all that the local repository doesn't have yet, compared to the remote15:29
GrimRC so I have master which is 2.6.24 - I should have made a new branch called wireless-2.6 (the same name as the remote repository), then git-pulled?15:30
I mean merge local master in to local wireless-2.6, then git-pull the real wireless-2.6?15:31
Tv GrimRC: more like git fetch && git checkout -b wireless-2.6 remotes/origin/wireless-2.615:31
i guess15:31
you're not being very precise, so I can't be very precise ;)15:31
rubydiamond left15:31
GrimRC so git-fetch downloads objects, meaning it downloads all the data?15:32
Arjen Yes15:32
GrimRC how do I do a diff/rsync across the internet, of my kernel and theirs?15:32
chris2 joined15:33
Tv GrimRC: you really don't15:33
GrimRC: you fetch, then do everything locally15:33
GrimRC but that'd mean I download everything from them, making my copy of the Linux kernel useless?15:34
Tv shared bits are reused15:34
GrimRC maybe the shared bits were reused, I can't tell15:34
so I don't need to merge my kernel and theirs, I just check theirs out now15:35
I mean, I fix these broken ignores and then do that15:36
Lash| left15:36
Tv GrimRC: you sound quite confused about git fundamentals -- don't know if you have the right background for this, but can't hurt to try: http://eagain.net/articles/git-for-computer-scientists/15:36
aroben joined15:36
DodjiDodji|away15:39
GrimRC yeah so this stuff about hashing with SHA-1 means that I can pull from other people's repository in a sane manner, as long as I have my Linux kernel included with git-init15:39
Tv fetching a subsystem-specific tree is internally no different from fetching a new version from linus' tree15:41
kumbayo joined15:41
GrimRC so that should mean it's downloaded efficiently as possible (like rsync)?15:41
Tv better than rsync most of the time ;)15:42
bobesponja joined15:45
GrimRC du -ch !(.git) = 308MB and du -ch .git = 446MB --- I have Linux 2.6.24 in my working directory (and in master branch) and I have wireless-2.6 git repository git-fetched too15:46
pedro__ joined15:47
GrimRC .git/objects = 443MB - seems like I've done something wrong, coz wireless-2.6 is basically modified kernel15:48
arw_ hm? i don't understand, why do you think there is something wrong?15:50
GrimRC when I commited my copy of the kernel to master, it seemed to take up much less space15:51
are objects compressed?15:51
semi_ hey, does git work with jira? (jira issue tracker http://www.atlassian.com/software/jira/ )15:51
svn apparently does15:52
but couldn't find any info from the web15:52
arw_ GrimRC: yes and no.15:52
GrimRC: running 'git gc' compresses the uncompressed ones15:53
EmilMedve left15:55
johan-s left15:55
EmilMedve joined16:05
kanru joined16:16
kumbayo left16:19
kukks left16:22
kukks joined16:23
namenlos left16:24
dsaxena left16:24
langenberg left16:28
GrimRC left16:28
namenlos joined16:34
tjafk2timj16:34
namenlos left16:38
agorf joined16:39
agorf hello. anyone knows the git equivalent of svn copy?16:39
vmiklos just copy and git add16:40
agorf won't this prevent git from knowing where the copy came from?16:40
Debolaz2 agorf: git detects this automagically.16:41
agorf Debolaz2: oh. ok, thanks16:42
arw_ no. git detects the copy by the files content, not any special data that something like 'svn copy' records.16:42
Debolaz2 agorf: The reason why this works is that git sees the file, as arw_ pinted out, has the same content, and hence is related to the original file.16:42
agorf Debolaz2: so i need to commit the copy before doing any changes to id16:43
it*16:43
Debolaz2: in subversion, you can svn copy foo bar and then make changes to bar, and subversion remembers that bar came from foo.16:44
vmiklos git log --follow does the same16:44
you can do the same here16:45
jrockway agorf: no, you can change the copy on the same commit where you make the copy16:45
vmiklos then git will say "foo.c is copied from bar.c: they are 85% similar"16:45
jrockway yup16:45
chrizz joined16:46
arw_ unless of course the similarities are so small that the copy will become undetectable, but then the copy was useless anyways :)16:46
agorf what i basically am doing is moving a big block of code from foo to bar16:47
vmiklos just do it, then see that git annotate -C will recognize it's copied from foo16:47
lol_h joined16:49
KirinDave joined16:50
agorf vmiklos: hm, it doesnt16:52
vmiklos you can try --find-copies-harder :)16:54
IRSeekBot joined16:54
HG` joined16:54
cehteh left16:55
djpig left16:55
bentob0x left16:59
alley_cat joined16:59
johan-s joined17:02
agorf vmiklos: http://rafb.net/p/DJihCg62.html17:03
here's a short example that doesnt work for me17:03
drizzd_ agorf: By default there need to be at least 40 or so matching characters. You can change the default by supplying it to -C, e.g. git annotate -C -C10 copied_file17:04
mediogre left17:05
L33trDaNu joined17:06
L33trDaNu is there a way to see what files were affected with git log ?17:06
agorf drizzd_: hm, i have no luck with that. maybe im doing something wrong17:06
blix_ left17:06
z3ro_ left17:07
drizzd_ L33trDaNu: git log --name-status17:07
L33trDaNu drizzd_: thanks17:08
drizzd_ agorf: In your case the similarities are so small, you'd probably have to use -C -C3 or something17:08
Phoop left17:09
reval joined17:09
agorf drizzd_: yeah, i tried with C ranging from 1 to 1017:09
Tv I don't think -C means the number of lines17:11
the number afterwards is a more abstract "score" from in tens of percents17:12
the 40 char limit is harcoded IIRC17:12
make a less minimal minimal failing example ;)17:12
tiagosab I am using git to track an upstream cvs, but I just found that the stable branch has duplicated commits (only in git, not in cvs). I checked it out again with git-cvsimport and I found the same result. Any hints?17:13
agorf Tv: in my normal example, i moved 66 lines from foo to bar, and it still doesnt work17:13
Tv agorf: please just reiterate that "short example" so it has more data17:13
tbecker left17:14
vmiklos i just checked, i moved a functom from foo.c to bar.c, i modified the function in May 2007. after copying the function, git annotate -C still says May 2007, and not Jan 2008, so the copy detection works properly here17:14
agorf Tv: yes, what im saying is that in my normal case, i did the exact same thing as with this small example, with the only difference that i had such enough data17:14
vmiklos function*17:14
Tv agorf: sure but please redo the short example with enough data17:15
vmiklos (the function is 141 lines long)17:15
desegnis joined17:15
z3ro joined17:15
Tv agorf: what happens to me usually at that point is i see the short example work, and realize what the difference is between it and the real case, and understand what happened and why17:15
agorf vmiklos: what is the output i should expect from git annotate? will it contain the name of the source file?17:16
Tv: i see your point17:16
vmiklos without -C git annotate will say you modified the function today17:16
sverrej left17:17
agorf vmiklos: ok my bad. it works17:17
vmiklos with -C, it will realize today you just copied it and it will show the date of the last _real_ modification17:17
agorf vmiklos: i was expecting to see a source filename of shorts17:17
thank you both for your help17:17
vmiklos the commit name is shown, you can see the commit using git show <hash>, and then you'll probably see the source of the function as well17:18
agorf vmiklos: ack. thanks :)17:19
vmiklos np :)17:19
drizzd_ agorf: git blame will show you the filename17:19
ReinH joined17:19
agorf drizzd_: indeed17:19
reval left17:20
FunkeeMonk left17:23
alley_cat left17:33
lukass joined17:34
sunblush joined17:35
nkallen left17:37
alley_cat joined17:38
KirinDave left17:38
bogner joined17:40
bogner is it possible to write a hook to change my .gitignore file before it's read by git? i want to ignore files based on the existence of other files (ignore foo.ps and foo.dvi if foo.tex exists, for example)17:43
i can write a script to find out which files to ignore and update the .gitignore, but i don't know how to get that script to be called at the right times17:44
sgrimm left17:47
sgrimm joined17:47
jrockway bogner: why not ignore *.ps and *.dvi? do you ever want those checked in?17:47
ironfroggy left17:47
bogner well, i can ignore dvi, but i happen to have a few ps files i want in the repository (they never change, but i like them to be cloned with the repo)17:48
right now i just have .gitignores in the directories i have tex files in, which works well enough, but i'm curious about whether something like this is possible17:50
jrockway i don't think a hook exists right now... but it would be trivial to implement the functionality you desire17:50
everything is shell/perl scripts. just hack something in :)17:50
s/everything/nearly everything/ ;)17:50
Catfish left17:52
bogner yeah. i suppose git-ls-files would be the place to hack it in, then?17:52
harinath left17:52
meyeringjim-errands17:55
harinath joined17:55
alley_cat left17:56
ebel left17:57
arwed joined17:58
bogner left17:59
bogner joined17:59
reval joined18:01
langenberg joined18:01
drizzd_ bogner: you'll probably be better off using exceptions. And you _can_ add ignored files I think.18:02
pmezard_ left18:03
bogner drizzd_: add ignored files in a hook, you mean?18:03
Tv bogner: forget the hook part ;)18:04
KirinDave joined18:05
Tv bogner: and you really probably just want to put exceptions in .gitignore18:05
KirinDav joined18:05
alley_cat__ joined18:06
drizzd joined18:08
kukks left18:12
kukks joined18:13
cehteh joined18:13
tvachon joined18:14
djpig joined18:14
docelic joined18:16
langenberg left18:16
langenberg_ joined18:17
ironfroggy joined18:17
arwed left18:18
xpgs joined18:18
xpgs left18:19
alley_cat__ left18:19
pgssgp joined18:19
KirinDave left18:21
KirinDavKirinDave18:21
drizzd_ left18:22
cedricv left18:22
janm left18:24
Leonidas left18:25
jwbjwb_gone18:28
langenberg_ Odd thing just happened, I did a: git svn rebase; git checkout -b new_feature; commit, commit, commit; git checkout master; git merge master..new_feature; git svn dcommit. And it anded up as a single SVN commit.18:37
ended*18:37
It shouldn't be doing that right?18:37
Erh, and just a 'git merge new_feature'18:38
Sonderblade joined18:39
alley_cat joined18:39
doener langenberg_: that's how a real merge is supposed to end up18:41
langenberg_ I just tried it again, now I get a serie of small commits.18:42
Could it be because one of my commits was a git revert ?18:42
doener probably because you didn't get a merge commit, but a fast-forward18:42
kevwil joined18:43
langenberg_ When does that happen?18:45
bogner left18:45
doener when there's no new commit in master since you branched18:46
langenberg_ Ah, then it squashes all the changes from the branch?18:46
timocratic joined18:47
doener no, then a fast-forward happens18:47
say you do: git checkout -b foo; edit; git commit -m foo; git checkout master; git merge foo18:47
yeowman joined18:47
doener then you have: X (master) -> Y (foo)18:48
mithraic joined18:48
doener obviously, merging the changes from foo can be achieved by just moving master forward18:49
but if you have this:18:49
X --> Y (master)18:49
\18:49
-> Z (foo)18:49
mithraic I seem to have wedged myself pretty good, and could use some help un-wedging.18:49
Upon git push, I get this error:18:49
aazar joined18:50
mithraic error: remote 'refs/heads/master' is not a strict subset of local ref 'refs/heads/master'. maybe you are not up-to-date and need to pull first?18:50
doener then the merge must creates a new commit M, that joins the two lines of history18:50
s/creates/create/18:50
M has two parents, Y and Z18:50
mithraic This is on a local branch that points to master on the remote18:51
pombreda left18:51
Zariel joined18:52
doener SVN cannot represent such a history. So what git-svn does, is ignoring Z and just creating a new revision with the changes from Y to M18:52
Zariel right im trying to setup GIT on a webdav share, but i cant access the webdav in winxp =/18:52
doener so the changes the happened in the merged-in branches are squashed in _SVN_, git still retains the correct history18:53
L33trDaNu left18:53
L33trDaNu joined18:53
doener langenberg_: in general, unless you really _want_ such a squashed merge (e.g. when the branch also exists in SVN), you should rebase instead of merging18:54
langenberg_ doener: Ah, I really don't want a squashed merge. All branches are locally.18:54
I should rebase with the branch?18:54
pmezard joined18:55
doener langenberg_: yeah, just rebase, no need to merge at all. Just "git svn rebase" the branch and then dcommit it directly. If you then "git svn rebase" your master, it will get the commits from svn and you can drop your branch18:56
langenberg_: or you can do "git rebase master my_branch; git checkout master; git merge my_branch"18:56
jwb_gonejwb18:57
doener that way, you're guaranteed to get a fast-forward and can just dcommit from master18:57
which way you prefer is up to you. The latter is probably less confusing from the git point of view18:57
L33trDaN1 joined18:58
Ademan_ joined19:01
docelic left19:02
langenberg_ Okay19:03
hachi anyone know how to get git-cvsimport to authenticate with the cvs server?19:03
Man-erg left19:03
langenberg_ doener: Does that mean that all small commits I make during my branch, get also to be small commits in SVN? (That's what I prefer)19:03
hachi I'm stracing it and the comm with the server shows it not sending the password19:04
doener langenberg_: yep19:04
langenberg_: rebasing creates a linear history without any merge commits19:04
arwed joined19:04
langenberg_ doener: What about: git svn rebase; git checkout -b feature; modify; commit; git checkout master; git svn rebase; git rebase feature; git svn dcommit?19:05
doener langenberg_: nope, that will rebase master with "feature" as upstream19:06
alley_cat left19:06
doener you can do "git rebase master feature" instead, but that basically ends up the same as my first suggestion19:06
langenberg_ Ah, okay :)19:07
doener with master still requiring a "git svn rebase" to get the changes you dcommitted from feature19:07
langenberg_ I'll try that the next time, thanks.\19:07
mithraic Any suggestions for my little problem?19:08
doener langenberg_: to see how git-svn works, try looking at your master in gitk19:08
Ademan left19:08
langenberg_ doener: Well what I don't get about git-svn in gitk, is that I'm not seeing my local branches, why is that?19:09
doener langenberg_: were they merged yet?19:10
langenberg_: gitk by default only shows the history of the current branch19:10
try: gitk --all19:10
langenberg_: if you look at your master's history in gitk, you should notice one branch that branched from master and then joins back into master19:11
that join point is the merge commit that you see squashed in svn19:11
git-svn only follows the primary line of history, creating SVN revision that are equal to the commits in that line of history.19:13
L33trDaN1 left19:13
doener and that branch was outside the primary line of history, thus SVN only got two revisions: before the merge and after the merge19:14
L33trDaNu left19:14
kevwil left19:16
sgrimm left19:17
langenberg_ aah19:21
lemme check19:21
p4tux joined19:26
tiagosab left19:29
Leonidas joined19:33
reval left19:33
mugwump you don't have to restart gitk, you can go "view...edit" and put "--all" in there19:40
capisce joined19:43
pombreda joined19:49
lol_h left19:55
alley_cat__ joined19:58
kukks left19:59
kukks joined19:59
mithraic_prime joined19:59
semi_ can I sort all blobs in a repo by size?20:01
arwed left20:01
semi_ and if I were to remove some accidentally versioned unnecessary binary files from the repo after git-svn clone, would git-svn still be able to talk to the svn repo?20:02
I mean, doing git-filter-branch to remove something from history20:03
antares joined20:03
sgrimm joined20:09
kergoth whats the easiest way to copy a commit & its associated tree from one git repo to another, that dont share history? copy it over in the filesystem and cherry-pick it?20:10
peso joined20:11
kergoth wait, nm, alternates worked easier20:13
vmiklos you can fetch the tree object20:13
and then create a commit that points to the tree but has a parent from the other repo20:14
mithraic_prime left20:14
kergoth fetch in what way?20:15
mithraic left20:15
context kergoth: you could prolly use git-show and git-apply20:18
capisce left20:20
alley_cat__ left20:30
glommer joined20:35
shep-work joined20:36
shep-work how can i find what tags apply to a specific hash?20:37
more specifically, the hash for the version that I am working in20:37
alley_cat joined20:38
shep-work i see git-show-ref20:43
johan-s is there a hook that can be run when people clone a repos?20:43
shep-work which seems really close20:43
saimon left20:43
thiago_home shep-work: git-describe20:45
saimon joined20:45
shep-work thiago_home: thanks! looking at the man page, i see that if the HEAD^1 is tagged, then it will add cruft to the end of the tag20:49
thiago_home: is there a way to skip that, and only show if a tag points at *this* version ?20:49
alley_cat left20:51
madewokherd joined20:51
semi_ is git-svn supposed to detect svn merges?20:54
drizzd shep-work: git show-ref -d <tagname> | grep `git rev-parse HEAD`20:54
If <tagname> points at HEAD, this will succeed.20:55
mikearthur joined20:55
mikearthur hey20:57
http://git.fredemmott.co.uk/?p=yanihp;a=summary20:57
http://mikearthur.co.uk/gitweb/?p=mikepete.git;a=summary20:58
the prior has a URL field whereas mine (the latter) doesn't20:58
how do I add that?20:58
shep-work drizzd: thanks. that is close to what I want20:59
drizzd: what I really want to do is tag the code with a version, then use this bit of code to see if i am building a tagged version20:59
drizzd: so i dont already know the version, as you suggest21:00
also, where can i file bug reports for git documentation?21:02
and feature requests21:02
drizzd shep-work: then you can just do git-describe --abbrev=021:03
shep-work drizzd: but, say I tag now, then change a file21:04
drizzd: git-describe would report that the current state is tagged21:04
thiago_home semi_: no21:04
semi_ how about tags?21:04
kevwil joined21:05
lcapitulino left21:05
semi_ it asks for the tags dir but still makes a tags/foo branch instead of a tag21:05
with --stdlayout21:05
s/asks for the tags dir but still//21:05
sNov joined21:06
langenberg joined21:07
kevwil left21:08
thiago_home semi_: tags in Subversion are actually branches. For all purposes, that is.21:09
why git-svn does it like that, I don't know.21:09
semi_ thiago_home: yes, I'm aware that svn does not actually have real branches or tags, just copies21:10
but still git-svn has options for setting tags dir21:10
so it might do something special to them21:10
vmiklos so subversion tags are branches. why git-svn would create a tag for a branch?21:10
thiago_home in git, a tag is something that appears in the middle of your branch21:11
semi_ I'm just asking why does it take tags dir as option21:11
if it matters squat21:11
thiago_home so your current tip is a child of that tag21:11
in Subversion, a tag is a tip of a branch.21:11
even if it tagged, very seldom would your current HEAD be a child of that tag21:11
nzkoz joined21:12
drizzd semi_: You may want to have a look at http://repo.or.cz/w/git.git?a=blob_plain;f=GIT-VERSION-GEN21:13
duncanm left21:13
semi_ drizzd: looking, but I am not sure which discussion you refer to21:15
langenberg_ left21:15
drizzd semi_: It checks if the repo is dirty, for example. You were asking about that.21:15
doener semi_: it does matter. Without the tags dir, it wouldn't be able to find the tags21:15
semi_: and to avoid name clashes, it prefixes the remote branches for the svn tags with tags/21:16
drizzd semi_: I guess I lost you somewhere21:16
pombreda left21:17
semi_ drizzd: I'm not sure if I was asking that. Am I just having a brain deadlock or am I the right person?21:17
doener semi_: doing real tags is impossible as soon as someone comes up with the great idea of actually modifying a "tag-branch" in svn21:17
drizzd semi_: No, I confused you with shep-work...21:18
semi_ drizzd: ok np21:18
doener: so I figured, but couldn't it do things optimistically with some special command line parameter and if that fails then redo the regular way21:18
doener semi_: personally, I'd find that even more confusing, because suddenly tags could disappear21:19
semi_ oh, true, that could happen in the future after you did the clone21:20
didn't realize21:20
now I see21:21
thanks21:21
doener and finding a matching commit in some of the real branches - if such a thing exists at all - is probably way too costly21:21
GrimRC joined21:21
shep-work drizzd: heh, i was wondering if some of that would be useful to me ;-)21:21
doener and then, I went out of ideas when I originally thought about improving the situation ;-)21:21
GrimRC hi again; does anybody know if I can merge just 1 file from another branch in to my working copy?21:22
dsaxena joined21:22
unreal left21:22
doener GrimRC: you can incorporate the changes, but git won't store any metadata about such a "merge"21:23
GrimRC doener: oh cool yeah; how do I do that?21:23
nud joined21:24
drizzd shep-work: yeah, sorry about that. it's late... I didn't quite understand what you meant by the current 'state' being tagged. You were talking about the repository being dirty, right?21:25
doener easiest is probably: git checkout $dstBranch; git diff $(git merge-base $dstBranch $srcBranch) $srcBranch -- $file | patch -p121:25
thiago_home has the code to find the original commit21:26
thiago_home if the svn tag is a perfect copy of another branch and is never modified21:26
this breaks if there are any file modifications or if the copy isn't of the full and entire branch21:27
doener GrimRC: another possibility is: git show $(git merge-base $dstBranch $srcBranch):$file > baseFile; git show $srcBranch:$file > newFile; git merge-file $file baseFile newFile; rm baseFile newFile21:27
careo left21:30
Tv i'd imagine git show BRANCH FILE | git apply21:31
dsaxena left21:32
doener Tv: s/show/diff/ ?21:32
Tv doener: pretty much the same thing21:33
GrimRC doener: git-diff HEAD other_branch_here -- path/to/file seems to work21:33
shep-work drizzd: been there :-)21:33
Tv doener: but not with that exact s//21:33
doener: is you show a commit, it shows the diff21:33
doener: and is easier to type than the *right* syntax to git diff21:33
doener: as you demonstrated ;)21:34
shep-work drizzd: but yeah, say i have --A--o--o-->21:34
drizzd: with tag 'A'21:34
drizzd: if i am at the HEAD of that branch21:34
drizzd: git-describe will say 'A-2-asdasd'21:34
GrimRC git-show other_branch:path/to/file > path/to/file21:35
doener Tv: but you don't show a commit with the command you gave. Actually "git show HEAD~20 builtin-commit.c" is empty here, while "diff" shows a patch21:35
Tv doener: your diff doesn't do what you think21:35
doener: and your HEAD~20 doesn't happen to touch that file21:35
GrimRC git-diff HEAD other_branch -- path-to-file | patch -p121:35
doener: need a : between path and commit I think21:36
Tv GrimRC: correct, lower level, more to type21:36
GrimRC: no21:36
BRANCH:FILE means show this file21:36
git show BRANCH means show the whole commit21:36
git show BRANCH FILE FILE.. means show these files of the commit21:36
the change to those files that is21:37
doener Tv: ah sorry. Still, as soon as you have more than one commit, or just know a range in which the commit lies, diff is easier21:37
Tv doener: yeah if you're not talking about a single commit21:37
doener Tv: and in what way does my diff not do what I expect?21:37
Tv doener: that form compares working tree to the commit you name21:38
doener: not the changes that commit introduced21:38
doener: oh and i meant the s/// thing21:38
doener: the full merge-base thing you said seems correct (though not very robust)21:39
doener Tv: yeah. That was due to the single commit vs. commit range misunderstanding.21:39
just didn't want to type the whole merge-base thing again. For HEAD~20, the merge base is obvious and I simply assumed a clean working directory ;-)21:40
mithro left21:41
doener oh well, and I obviously would've merge some stuff from the current branch into the current branch... blah :-)21:41
s/merge/merged/21:41
doener should stop talking now21:41
GrimRC I asked the wrong thing; I was just after pulling one file out, not true merge; the git-show and git-diff work for me; surprised it's not simpler21:44
EmilMedve left21:44
doener GrimRC: just getting a file from a certain commit is easy: git checkout $sha1 -- $file21:44
peso left21:44
GrimRC ohhh!21:44
doener: so that long line was to merge properly21:45
doener yeah21:45
EmilMedve joined21:45
GrimRC hehe my bad21:45
pgssgp left21:46
drizzd shep-work: yeah but git-describe --abbrev=0 will just show you the tag and using git-show-ref -d you can check if it points to the current HEAD21:47
shep-work drizzd: ah, thats the key i need21:49
drizzd: let me go try that21:49
lukass left21:50
hharrison left21:50
mikearthur left21:52
timocratic left21:53
sverrej joined21:53
glommer left21:55
GrimRC left21:56
shenson_not_here I have a git repository that one of the objects is missing from, how do I go about fixing that?21:57
unreal joined21:58
bdiegomidgar21:59
timocratic joined22:01
sunblush left22:02
mugwump shenson_not_here: procedure in the git user's manual22:06
Sonderblade left22:06
shenson_not_hereshenson22:10
dsaxena joined22:10
EmilMedve left22:10
nzkoz mugwump: you going to warkworth this weekend?22:11
mugwump nzkoz: yes, starting the drive up tonight22:12
I guess I'll pitch camp at the first looking soft spot when it starts to get dark and finish the drive in the morning :)22:12
halorgium nzkoz: have you fallen into the git-pit? :)22:13
oh, kiwifoo-ing eh?22:13
lyakh joined22:18
lyakh hi, another simple question: how can I see from what branch I branched my current branch?22:18
desegnis left22:19
lyakh or just any branch for that matter22:19
nzkoz halorgium: yeah, kiwifoo, but git-questions abound22:19
lyakh and without gitk preferably22:19
Cerebon left22:20
nzkoz mugwump: you should do a session on 'getting to git' or some such, migration for us is harder than it should be, but definitely something we're considering22:21
langenberg left22:22
majoh joined22:28
shensonshenson_not_here22:29
rhett joined22:29
rhett how do I search git commits that mach a string? gitk is really confusing to me22:29
there are like 3 search fields, and none of them work22:30
Leonidas left22:30
lamont` joined22:30
loops rhett, from the command line you can do git log -S'search string'22:31
mugwump nzkoz: sounds a very technical topic for kiwifoo :)22:31
nzkoz mugwump: getting to beer?22:32
then surprise us with git22:32
loops rhett, the latest version of gitk has a box you can just fill in to search22:32
mugwump My planned talk title was "When You Have a Hammer: applying lessons from source control to management of legislation, or: Git + Law = Westminster++"22:32
octopod left22:33
nzkoz ok, I guess I'll have to 'buy' you a beer and talk about our specific needs :)22:34
mugwump sure, sounds good ... I can show off my Perforce importer as well, I'm thinking it could be adapted to work for SVN and CVS22:35
gitster lyakh: the answer to the question is undefined, if you are talking about the global history. Inside your local repository, you can find it out by "git log -g that-branch" and look for an Reflog entry that says "branch: created from blah".22:35
nzkoz people use perforce? ;)22:36
loops hi gitster22:36
mugwump google do, rampantly22:36
loops mugwump, is your p4 importer in contrib? or a different one?22:36
DrBehavior joined22:36
bobesponja left22:36
mugwump loops: it's the one at http://utsl.gen.nz/gitweb/?p=git-p4raw22:36
gitster loops: I suspect rhett wanted to learn "git log --grep=string".22:36
mugwump It's not quite ready for prime time yet, but will be soon22:36
lyakh gitster: thanks, I think, looking for "created from" will do!22:37
rhett thanks guys22:37
gitster lyakh: The obvious reason that the question does not have any meaningful answer in the global history is this (I am not doing this only to help lyakh, by the way, but for people to look in the channel log).22:38
DrBehavior left22:38
gitster "git branch b1 master; git branch b2 master; git checkout -b mine master; work work; git commit".22:38
rhett no gitster that just greps the log messages22:38
i want to search the source code edited22:39
gitster rhett: your question was ambiguous.22:39
rhett ok, my bad22:39
gitster Then -S or "git log -p | less".22:39
loops mugwump, nice..22:39
lamont left22:39
gitster Now, did the branch "mine" come from master, b1, or b2?22:39
You cannot tell from the topology you can see from the global history.22:40
lyakh hm, I think you can define it to be "master"22:40
gitster The best you can do is "git merge-base master mine" to see where 'mine' diverged from 'master'.22:40
Think again. master, b1 and b2 all point at the same commit.22:41
lyakh I understand, but b1, b2, and mine _start_ there22:41
and master brings you there22:41
Mikachu there is no such distinction in git22:42
gitster That's not recorded in anywhere in the global history.22:42
Mikachu a branch only points at the one commit, and that commit in turn has the history22:42
gitster Yes. Branch is an illusion without reflog.22:42
And it is designed that way.22:43
mugwump I like to think of that as branches are observed, not declared22:43
pmezard left22:44
gitster If you do this "git checkout -b mine master; git commit; git commit; git checkout master; git merge mine; git checkout mine; git commit ; git commit", then, you _started_ mine from master 4 commits ago (master~2), but there is nothing in the shape of the resulting history that records that fact.22:44
The only thing you can tell is that mine has two more commits ahead of master.22:45
aazar left22:45
aazar joined22:45
agorf left22:47
lyakh but one can trace branches? like show log of a branch?22:48
Mikachu you can see what you have done with the branch with git-reflog22:48
lyakh ok, thanks22:49
vmiklos (or git log -g)22:50
gitster yeah, the important point to remember is that reflog is a local matter.22:50
nzkoz mugwump: interesting stuff in this new p4 thing. for us the challenge is on the other side, how do we maintain a backwards compatible read only mirror in svn22:51
gitster In the global history, it does not matter if you created those 4 commits (see example 6 minutes ago) on 'mine' branch and then fast-forward-merged them into 'master', or you just built them directly on 'master', if you show the resulting 'master' to other people to make it global.22:52
loops nzkoz, there was a proposed SoC project to make a svn server for git.. (like the git cvsserver)22:52
don't know if it was accepted or anything done tho.22:53
nzkoz loops: yeah, something like that could be really interesting, but it's non-existent from what mugwump said last time we spoke22:53
rxKaffee joined22:53
nzkoz visa issues or somethign?22:53
lyakh git log -g doesn't show "created" for me...22:53
ah, ok, it was "Created":-)22:53
rxKaffee anyone know of some reviews of repo.or.cz, or comparisons to other similar services?22:54
Fullmoon left22:55
halorgium nzkoz: excellent, i'm not invited but i'm flying up to akl tonight, having lunch with a couple of guys who are going :)22:57
csc` joined22:58
pombreda joined22:59
Ryback_ left23:00
mjc left23:01
ilogger2 joined23:03
mithro joined23:18
flaguy joined23:25
dataangel joined23:30
dataangel git newb question: So when you 'add' a file it puts it in the pool of files to be in the next commit. And when you commit, it just commits to your local copy, right? And then, if you decide to have a central repository somewhere, the way that you handle committing to it is have the central repository pull yours, yes?23:31
dataangel is seeing if he understands this whole distributed thing23:31
nud_ joined23:31
doener dataangel: a distribution point (e.g. a repo at repo.or.cz) is usually being pushed to23:33
fonseca It is easier to push your changes to the central repo.23:33
dataangel what does repo.or.cz mean? I saw that written somewhere else23:34
doener dataangel: that's a domain name ;-) It's a git hosting service23:34
dataangel oh ;p23:34
doener ie. http://repo.or.cz/23:34
dataangel if you're using a repository like that though, when you commit it's still only to your own local git right? Then when you do a 'push' it can go to some remote host like repo.or.cz, but not when you commit like in cvs?23:35
doener yeah. commit is local. Only when you want to publish your commits you push them.23:36
sNov joined23:38
dataangel sweetness23:43
I like the idea of tracking history on your box before you have to push :D23:43
hachi anyone know how to get git-cvsimport to auth properly with a pserver? I'm dumping the network traffic and it's not sending the password as far as I can see23:43
dataangel so if I checkout a project to two different folders, A, and B, and then I make some changes in the A folder, and then commit, the B folder version will never know about it unless I tell it explicitly to merge with the A folder version right? It's not like cvs where you can be in folder A, change things, commit, and then update in B and have the changes reflected there23:45
hachi I'm really wanting to check out the source to openldap using git23:45
doener dataangel: right. But you can also just create a branch in B. Nobody will see it, unless you push it23:48
bobesponja joined23:49
jaalto joined23:49
jaalto I mistakenly added many files to be committed. Can the effect be cancelled by "rm .git/index" safely?23:50
nzkoz jaalto: git status tells you how to get out of that situation23:52
mugwump jaalto: try git reset --mixed23:52
cehteh jaalto: git gui offers a nice way to deselect them23:52
mugwump or use git gui23:52
jaalto git gui is not available (I'm logged remotely)23:52
nzkoz: In this case I'm seeking for sledgehammer to calcel all in one sweep. The "git reset HEAD" works for single files23:53
emiquelito joined23:53
emiquelito hi all! how can I change the message of an old commit?23:54
the commit hasn't been pushed to the shared repo yet23:54
mugwump emiquelito: try git rebase -i23:54
jaalto mugwump: The reset cleans the staging area?23:54
mugwump jaalto: correct23:54
jaalto ok23:54
mugwump with --mixed it does23:54
with --hard it does the files as well23:54
emiquelito mugwump thanks, but I thought rebase -i was used to remove an entire commit23:55
I would like to keep the commit but just change its message23:55
mugwump you can edit the commit message on the way through23:55
emiquelito cool, thanks23:56
nzkoz git commit --amend too23:56
mugwump I personally use stacked git for this; stg uncommit -n 5; stg pop -n 4; stg refresh -e; stg push -a; stg commit23:56
to change the commit message of a commit 4 commits ago23:56
jaalto mugwump: I have always been wondering why people would use quilt functionality with git? For me the branches seem more natural23:57
mugwump that's right, many people are quite happy with 'git rebase -i'23:57
It's a bit unidirectional for me23:58
I like to go forward, backwards, change a bit here, a bit there, etc23:58
jaalto I mean, separate branch for each feature: Like push/pop with quilt23:58
Perhaps it's the workflow question. I on the other hand like to merge features together and keep the lines of development separate (in contrast to push/pop like in quilt)23:59

Logs Search ←Prev date Next date→ Channels Documentation