IRCloggy #git 2008-06-10

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-06-10

dsal OK. Start editing, then.00:00
chris2 left00:00
loops joined00:00
gass dsal, humm ... this is wayyyyyy too complex00:01
jkp_ left00:02
loops gass, i got bumped so i missed a bunch of the conversation.. but what you wanted sounds easy00:02
gass, you just want a new branch yes?00:02
gass loops, i know ... but i am a git newbie/ svn fan00:02
dsal it's this: git checkout -b mynewbranchname sometag00:02
gass dsal, i got that00:03
dsal That's all of it. What are you missing?00:03
gass but i also want that lenny branch is equal to before "Imported Upstream version 0.11~rc1"00:03
nat2610 joined00:03
dsal git checkout -b mybranchname 90d4675e00:04
loops gass, to create the lenny branch, git branch lenny <point you want it to start from>00:04
gass, or use dsal's checkout option to create it and check it out in one step00:05
dsal Must run to train. good bye and good luck. :)00:05
dsal left00:05
xaiki joined00:06
jamessharpe left00:06
gass loops, that is weird because there are 2 other "branches" called debian/version and the upstream.00:06
aeruder joined00:06
loops gass, why is that weird ?00:06
gass because i want a branch with master and debian, at the tag debian/0.10.4-200:07
but mantaining the apart00:07
them*00:08
brosner joined00:09
loops gass, you want your master to start at debian/0.10.4-2 ?00:09
aryx left00:10
gass yes, and upstream/0.10.400:10
lorandi joined00:10
loops you can't have master be two things at once..00:10
gass but it seems to be ...00:10
one is only the debian dir00:10
EiNZTEiN left00:11
gass the other is the upstream's source00:11
loops gass, so what you're struggling with is that the debian dir and the upstream source are separate?00:12
gass yes00:12
for example, tree etch has both also00:12
and i want to create tree lenny00:13
with both00:13
lorandi left00:13
gass i branched upstream/0.10.400:13
loops gass, are you still talking about the repo at git://git.debian.org/git/pkg-trac/trac.git ?00:13
gass yes00:13
timocratic left00:14
gass loops, can you explain the heads, tags and the upstream/ debian/ origin ?00:14
loops okay.. i just cloned it.... when i do git branch -r i see origin/HEAD origin/etch origin/master and origin/upstream00:14
gass yes00:15
loops when i git checkout origin/master and then later git checkout origin/upstream they look similar, i don't see a debian dir00:15
gass true00:15
loops gass, so i'm struggling to understand what you're seeing and where you're trying to go :)00:16
gass lol ... i think i am not seeing the picture ... and mixing things ...00:16
loops gass, yeah, i think you've maybe not got a good picture of the ways Git is different from svn yet00:17
gass true00:17
well ...00:17
i want to branch upstream at tag debian/0.10.400:17
loops gass, heads and tags simply point to different point in the history of the repo.. i individual commits in the DAG00:18
gass heads are the latest version00:18
tags are "in the middle" versions00:18
right?00:18
loops gass, okay.. so you want a new branch named "lenny" that diverges from origin/upstream at the tag debian/0.10.4 ?00:18
gass true00:19
loops gass... so simply create a new branch.. git branch lenny debian/0.10.400:19
then you can check it out to see that it really worked :) git checkout lenny00:19
jbunster left00:20
gass loops, one important question ... git clean, cleans all changes?00:20
spearce joined00:20
loops gass, git clean is primarily used to remove files that are _not_ version controlled. So it is quite dangerous, because there is no way to use Git to recover them once they are deleted.00:21
gass, git reset and/or git checkout is used to cleanup files that _are_ version controlled00:21
gass ok,, thanks00:21
schacon left00:22
loops gass, i'm not sure it will help for the type of questions you have about Git, or if you've seen it, but you may want to take a peek at http://git.or.cz/course/svn.html anyway00:23
gass thanks loops00:23
it worked as you said00:23
checkout changes the branch?00:23
and rebase the tag?00:23
loops checkout is much the same as in svn.. it updates your working files to be equal to a given version/branch00:24
queso|awayqueso00:25
loops gass, so.. git branch lenny debian/0.10.4 creates a new branch named lenny that starts from the debian/0.10.4 tag00:25
gass i understood that now :P00:25
loops gass, git checkout lenny makes lenny your "current" branch and all your working files equal to that branch00:25
gass i was confusing a non confusing scene00:26
loops once you understand that then you can understand dsal's shortcut.. you can do both the above steps in a single instruction00:26
git checkout -b lenny debian/0.10.4 (which creates a new branch named lenny based on debian tag, and then checks it out)00:26
hein2 joined00:26
Sho_ left00:26
hein2Sho_00:27
loops "git branch" by itself will show you all your local branches and put an asterisk * beside the branch you currently have checked out00:27
lorandi joined00:27
capisce joined00:27
loops gass, anyway, hope you've got your legs under yourself now.. Git really is rather easy once you get passed the initial shock of it.. good luck :o)00:28
cmarcelo left00:29
panagos joined00:29
gass loops, thanks ... git really seems to be powerful ... and sometimes not that diferent from svn ... but a lot faster and feature full00:29
loops, one BIG feature, make several changes and commits offline00:29
loops gass, agreed. Once you get comfortable in Git, svn seems like a straight jacket00:30
panagos how can i make git-branch also display branches created from e.g. git-bisect? the -a flag dooesn't do that...00:32
capisce_ left00:32
Eridius|work try git show-ref00:32
capisce_ joined00:32
texel left00:33
panagos Eridius|work: that does the trick, although it is not as funky as git-branch :)00:35
lamont` joined00:35
Eridius|work hehe00:36
git-bisect doesn't make branches, it makes refs00:36
panagos Eridius|work: well, aren't they the same thing under git?00:37
Eridius|work no, git-branch restricts itself to certain refs00:37
notably refs/heads and refs/remotes00:37
just like git tag uses refs/tags00:37
capisce left00:40
thannoy__ joined00:41
at_random joined00:41
at_random hi00:42
peeja joined00:42
Mog joined00:42
Mog hi i have a small project with just two commiters and all of a sudden i cant commit i get the following error http://pastebin.ca/1043408 any ideas whats wrong / how to fix?00:44
spearce objects/ae must be owned by the other user.00:45
you'll need to make it writable by both of you, and set the core.shared property with git-config.00:46
Mog its in chgrped with us both in the group00:46
at_random is anybody using a git repo via samba that lives on a windows server?00:46
spearce Mog: but i don't think its writable by the group.00:46
Mog hrmm should be, i chgrped it when i made it00:47
panagos say i have branches a and b, and i merge b into a (so the tip of b doesn't change); does git keep track of which parent a was formerly pointing to? that could be useful e.g. when viewing a history of merges00:47
spearce at_random: it's an odd configuration, in theory it would work, but it wouldn't be recommended.00:47
joeyb left00:47
Mog git-config core.shared brought up 0 results...00:47
at_random spearce: yea, i know...00:47
spearce Mog: http://www.kernel.org/pub/software/scm/git/docs/git-config.html, search for core.sharedRepository (yea, sorry i got the name wrong earlier)00:48
Mog no worries00:48
thanks for your help00:48
spearce panagos: yes and no. yes it stores the prior value of a locally in the reflog (git reflog show a; git log -g a) but it doesn't publish that data when you push or fetch.00:48
at_random left00:49
panagos spearce: is there a history visualization tool that can show that? or, does this have anything to do with the colours of the joints between commits in git-gui?00:51
spearce there isn't really a good way to visualize the reflog because it can have cycles and so forth over time.00:52
but yes, merges show up as joints in gitk (which is git-gui's visualize function)00:52
thannoy_ left00:54
k0001 left00:56
thannoy__ left01:02
gass loops, to commit to the server is git push, right?01:02
what command to i use to send the local commits to the server?01:03
sscj joined01:04
Eridius|work gass: git push01:04
Mog spearce, can i just chmod -R g+rw the whole project dir01:04
to fix previous snafu?01:04
gass Eridius_, fatal: The remote end hung up unexpectedly ???01:05
Eridius|work gass: it means exactly what it says01:05
gass no log?01:05
Eridius|work what do you mean, log? The connection closed unexpectedly.01:06
gass humm ... maybe no permissions?01:07
zlin if I set user.email both globally and in a particular repo are both emails supposed to be shown by git config -l ?01:07
agib left01:08
Eridius|work zlin: git config shows the configuration space it sees. if you want to know what's in a specific file, you need to tell it the file to look at01:08
doener_ joined01:08
Eridius|work otherwise it'll show you the "current" values01:08
which means global values overridden by local values01:08
zlin it shows both the global value and the local value on separate lines here01:09
Eridius|work o_O01:09
oh you're right01:09
but if you use, say, git config --get user.email, it'll show you the latter value01:10
zlin ahh, yes01:10
peeja left01:12
spearce Mog: yes01:12
josb left01:12
Mog thanks01:13
its all better now01:13
zlin thanks btw. :p01:16
pombreda left01:17
wurble left01:19
ketralnis left01:21
Mogmog01:21
Leefmc joined01:22
david_koontz left01:23
sbeyer left01:26
Gorbulas joined01:27
Gorbulas hello01:28
gass Eridius|work, lol ... no permissions on the git repo01:28
Eridius|work heh01:28
gass Eridius|work, i added a new branch locally, how can i move it to the repo01:28
?01:28
Eridius|work by pushing it. read the manpages or tutorials01:28
gass git push says everything updated01:29
mogMog01:30
Mogmog01:30
gass Everything up-to-date :(01:30
Gorbulas I'm trying to use git with a svn repository hosted by someone else that does not have /branches /tags /trunk etc. will git-svn still work correctly?01:31
gass Gorbulas, yes01:32
Gorbulas I just do the init without telling it where the tags and branches are?01:33
lorandi left01:33
mjc left01:33
gass Gorbulas, yes01:34
digitalhobbit left01:34
adante_ joined01:35
lea_w joined01:45
spearce left01:45
pombreda joined01:45
mogMog01:45
Mogmog01:45
iiijjjiii joined01:52
adante_adante01:52
amishdude01 joined01:53
iiijjjiii are there separate git mailing lists for developers and users?01:53
amishdude01 left01:53
johnw left01:55
kelvie_ iiijjjiii: nope01:59
this was discussed before on the mailing lists, and I think we're not going to go that route01:59
I'd think most users of git are developers anyways :p02:00
nkallen left02:00
bobesponja left02:00
FunkeeMonk joined02:01
madewokherd left02:01
CodeOfficer joined02:02
Eridius|work left02:03
mogMog02:04
Mogmog02:04
DrNick left02:04
DrNick2 joined02:05
mogMog02:08
Mogmog02:08
quesoqueso|away02:08
destruct_ joined02:10
queso|awayqueso02:10
gitte left02:12
garrin joined02:13
gitte joined02:14
kukks left02:15
ag joined02:15
statim left02:17
VitaRara joined02:17
mogMog02:17
Mogmog02:17
bdiego joined02:20
destruct left02:21
pombreda1 joined02:21
jerbear joined02:22
VitaRara_ left02:22
jerbear lea_w: you around?02:22
vbgunz left02:24
jerbear i'm trying to debug a problem i'm having with gitweb... i've narrowed it down to a single command (git-for-each-ref) that doesn't work on a single repo... the command outputs nothing when run through the cgi script, but it does when running on the command line.. any ideas why this would be different?02:24
i have a number of other repos that work correctly, but this one doesn't for some reason02:25
lea_w left02:25
jerbear anyone?02:27
mogMog02:27
Gorbulas check the environment?02:28
or permissions02:28
jerbear Gorbulas: what do you mean?02:28
Gorbulas: permissions look good, everything's readable by all02:28
Gorbulas maybe you have some odd environment variable set02:29
bobesponja joined02:29
jerbear Gorbulas: that would affect a single repo out of a number of others?02:29
Gorbulas or maybe the command is outputting to stderr instead of stdout02:29
no I'm just guessing02:29
does the repository name have weird characters in it?02:30
jbunster joined02:30
jerbear Gorbulas: interesting... redirecting stderr to stdout has revealed something... "error: refs/heads/master points nowhere!"02:30
how the heck could that have happened?02:30
yofel left02:31
hidenowt joined02:32
hidenowt left02:32
jerbear how would i fix this?02:32
Gorbulas are you sure the permissions are correct?02:33
on .git/refs/heads/master in particular02:33
jerbear i can push/pull from this repo... how would i be able to do this if the master branch was not connected02:33
tenpaiyomi left02:34
Mogmog02:35
jerbear ok, it was set to 660, setting to 644 fixed it... why would this be set? i certainly didn't do it, and i've been running into this over the past couple of days... permissions not looking correct suid bits set02:36
destruct_destruct02:36
pombreda left02:37
huangjs joined02:38
jerbear any ideas?02:38
would git, itself, change the permissions, for some reason?02:39
jpieper joined02:39
markkalderon left02:40
jerbear left02:41
imyousuf joined02:41
imyousuf How can I delete a remote branch? :)02:41
huangjs Hi, I have a git repo shared through NFS, but when others pushed their changes, the newly created directories and files in .git/objects/ will have other usernames as owner. the problem is the default priviledge of these directories are 755 so others can't write to them. Is there a way to solve this problem?02:41
imyousuf I mean I have branch in my remote repo and I want to delete it, how do I do that?02:42
GeertB joined02:54
Thumper_ imyousuf: git push remote :branch-to-delete02:55
DrNick2 left02:56
DrNick2 joined02:57
[1]intripoon joined02:59
imyousuf Thumper_: should first delete the branch locally or just simply run the command?02:59
Thumper_ no need to delete locally first02:59
imyousuf ok trying it03:00
spearce joined03:00
imyousuf Ah thanks Thumper_ it worked :)03:00
Thumper_ imyousuf: wlcm :)03:01
mogMog03:01
Mogmog03:01
mogMog03:02
Mogmog03:02
kanru joined03:02
Gorbulas when I'm using git-svn, is there a way to change the e-mail addresses of people committing to svn?03:02
at_random joined03:04
at_random hi.. i had a strage problem. I made changed, commit, then did "git svn rebase" and got "Using index info to reconstruct a base tree...03:05
Falling back to patching base and 3-way merge...03:05
error: Entry 'app/views/users/_friend_profile_left_side.rhtml' not uptodate. Cannot merge.03:05
fatal: merging of trees a665d43e7a458dd24c4c09b5275c3a5687ad75a7 and e9dcae20b4b1a6a63b617b17d1534d39e763ddd6 failed03:05
Failed to merge in the changes.03:05
Patch failed at 0001."03:05
but when i did git stat, there were unmerged files03:06
no changes at all, actually03:06
sorry for typos... "made changes, commited, then..."03:07
igorgue left03:11
mogMog03:11
Mogmog03:11
igorgue joined03:11
nkallen joined03:12
mogMog03:12
Mogmog03:12
intripoon left03:16
[1]intripoonintripoon03:16
pombreda1 left03:24
pombreda joined03:26
joevandyk_ joined03:28
xenoterracide joined03:30
xenoterracide does git pull only merge with the current branch?03:30
bdiego left03:30
spearce yes03:31
Deepspawn joined03:34
eternaleye joined03:34
fhobia joined03:34
Deepspawn left03:35
bugfux joined03:38
bugfux how can I check out a file that was deleted in a previous commit?03:38
proxie joined03:38
spearce bugfux: `git checkout $thatcommit^ -- $path` where $thatcommit is the commit it was deleted in. the ^ suffix tells git to actually read from the parent of $thatcommit, where $path still exists.03:39
that will load the file into your index, making it appear staged for commit, and put it into your working directory.03:39
bugfux path is the path to directory right03:39
or no to the actual file, but the directory has to exist?03:40
spearce well, directory or file. if you give it a directory it gets all files in that directory recursively.03:40
jbunster left03:40
spearce no, it doesn't need to exist first either. we'll make the paths we need as we go03:40
flaguy joined03:41
bugfux that worked perfectly03:43
GeertB left03:45
xenoterracide vim uses the $PAGER value for git log right?03:45
by default03:45
pombreda1 joined03:45
stouset joined03:45
xenoterracide s/vim/git03:46
joevandyk__ joined03:46
xenoterracide sorry :P03:46
spearce yes, we use $PAGER, and default to less if $PAGER isn't set03:46
jmalonzo joined03:47
janm left03:47
pombreda2 joined03:49
bugfux left03:53
bryanray left03:54
stouset left03:54
joevandyk_ left03:55
imyousuf spearce: regarding mavenizing jgit - I tried with pointing the test resources to the original location but without much result :(. Then I was thinking that I could create a MS lnk file and linux symlink to point to that test resources. what do you think about that?03:56
spearce hmm. i'd like to avoid symlinks, .lnk on windows is a crappy substitute03:56
imyousuf Yeah, but without copying the file this is the easiest03:57
spearce so can we move the test resources? is it just the .pack/.idx data?03:57
imyousuf there is another though03:57
spearce or are we talking about all of the test class sources?03:57
imyousuf yes, its justthe .pack/.idx03:57
s/another/another option/03:57
spearce oh. those never change. just move 'em.03:58
imyousuf ok :), thats what I did :)03:58
gitte .lnk do not work with maven, AFAICT.03:58
janm joined03:58
gitte You really cannot rely on symlinks on Windows.03:58
flaguy left03:58
gitte Live by it, or die by it.03:58
imyousuf hmm03:58
spearce you really can't rely on anything on windows. except blue screens.03:58
gitte Right.03:59
imyousuf yeah the blue screen is quite reliable :)03:59
gitte You have symlinks in cygwin.03:59
imyousuf it will behace consistently :-D03:59
gitte But then, maven is a Java program which does not use cygwin at all.03:59
imyousuf s/behace/behave/03:59
spearce jgit has some weird code to better handle cygwin based git.03:59
gitte What does it do?04:00
spearce e.g. sometimes it forks cygpath.exe --windows04:00
imyousuf We can also avoid that by introducing a properties file for contains the path and the code will read the path from it by that way we can separate the test resource from the tst folder all together04:00
gitte Oh, that's bad. What happens if cygwin is not installed?04:00
pombreda left04:00
gitte Does it try over and over again, making Windows _even_ slower?04:00
spearce then we assume you aren't using it and just do plain windows calls.04:00
gitte k04:00
spearce no, we're aren't that stupid. we only call cygpath.exe a few times as we startup opening a repository.04:01
gitte But you try once, right?04:01
Once per Git call, or once per repo?04:01
statim joined04:01
spearce yea, we scan %PATH% and stat for cygpath.exe on class init. so that sort of sucks.04:01
gitte Hrm.04:01
spearce if we find it, we call it like 5 or 6 times per repository we open to read .git/config, .git/objects, .git/logs, .git/refs, .git/packed-refs04:01
gitte I planned to use jgit in a project of mine.04:01
spearce think new-workdir in cygwin.04:01
gitte (Actually, the project that takes 104% of my time ATM.)04:01
Well, I wanted to have a better solution for new-workdir.04:02
But Junio seemed not too keen on the .git file idea.04:02
Which would have been just the 1st step, of course.04:03
spearce it wouldn't be hard to change how we decide cygwin is available to be more efficient. like make the user actually tell us they want cygwin by setting an environment variable before they start the jvm or something.04:03
imyousuf one question, does that mean jgit will not run on windows unless git over cygwin/msys is installed?04:03
spearce its more than just the new-workdir, objects/info/alternates when using cygwin paths can be an issue04:03
peeja joined04:03
spearce imyousuf: no, it works just fine without either installed.04:03
gitte imyousuf: no, spearce just said it will fall back.04:03
imyousuf ok :)04:03
pombreda1 left04:03
spearce it just spends a few microseconds stating for a (non-existant) cygpath.exe.04:03
jmalonzo_ joined04:04
Leefmc left04:04
gitte spearce: actually, the few microseconds are a bit longer, because of Windows' filesystems.04:04
spearce i'm aware of that.04:04
gitte is happy to have _no_ Windows box anymore.04:04
spearce but a few microseconds extra on JVM startup for a big IDE like Eclipse is a drop in the bucket.04:04
gitte I do not even have to do Windows for work, 'cause I haven't got one.04:05
spearce a few microseconds startup for a command line tool blows.04:05
gitte 'xactly.04:05
And I plan to use it as a command line tools.04:05
s/s\.$/s/04:05
gitte can't even type anymore. Time for another beer.04:05
imyousuf spearce: Alternate solution to copying the file is we can introduce a properties file for contains the path and the code will read the path from it by that way we can separate the test resource from the tst folder all together (re-run - I was referring to the paths read in the tst code)04:06
spearce java for command line programs in general sort of blows due to the high cost to just initialize the jvm and load the core application classes.04:06
gitte spearce: not that bad anymore, what with Java6.04:06
spearce imyousuf: so i'm confused, just moving the resources in our source tree to another location isn't suitable?04:07
gitte And I thought that the pom.xml changes prevented us from needing symlinks...04:08
tjafk1 joined04:10
gitte BTW spearce: do you think it would be easy to teach jgit about shallow clones?04:11
jmalonzo left04:11
spearce not too bad. i think the ugly part for shallow clones is the transpot part, not the revision walking machinary.04:12
imyousuf spearce: it works fine, but at some point if the test data is changed or added or new test data is required, then they will require copy-pasting as well. But we have a properties for pointing to the location, then we can put the test resources to a third directory (or keep it in the current one) and read the location prefix from a properties file or system properties.04:12
s/we have a/we may\/can have a/04:12
spearce imyousuf: i thought we were talking about moving it, not copying it. if we move it and add or change data in the future its only at one location.04:13
gitte spearce: okay, but that is basically off-loading the work to the server.04:13
imyousuf spearce: oh ok, moving it would not be suitable as that would require specifying different paths for different build system04:13
I think I will implement what I am trying to say and send out a patch :), that would make it easier04:16
spearce ok. i want to avoid having to store `pwd` into some file somewhere just so the test suite can find its input files.04:16
but other than that, i'm ok with moving those resources around if we need to, they aren't that big of a deal to rename. unlike the source code.04:17
imyousuf hmm04:17
janm left04:17
spearce gitte: the shallow clone is just a set of grafts we need to cache in the repository and apply during revision walking, right?04:18
speaking of which, jgit doesn't honor the grafts file. :-\04:18
gitte Oh.04:18
mtodd_ joined04:18
gitte okay.04:18
DrNick2DrNick04:18
gitte It is not just for revision walking; those grafts have to be sent to the server when requesting an upload.04:18
(i.e. fetch)04:18
capisce joined04:19
nkallen_ joined04:20
nkallen left04:21
peeja left04:23
spearce i really don't think the graft data would be that hard to implement. may be easier than it is in c git. we have things like garbage collection and a class called ObjectId. no const unsigned char*. :)04:23
gitte will give it a try tomorrow.04:23
mog left04:25
FunkeeMonk left04:27
aroben joined04:28
tjafk left04:28
pombreda2 left04:30
capisce_ left04:30
queso left04:33
huangjs Hi, I need some help. I have my git repo on a NFS server shared with others. But when others pushed their commits, the newly created directories in .git/objects/ will have them as owners. Is there a way to ensure the owner is always me or add group writable priviledge to all files and dirs afer git push?04:33
awx_ joined04:33
Gorbulas huangjs: you should look at the mount options for nfs04:33
gitte set core.sharedRepository.04:34
But you have to chmod manually first.04:34
huangjs Gorbulas: I have no priviledge to change the NFS settings04:34
gitte Best would be with group sticky bit (g+s)04:34
huangjs gitte: I'm doing it manually, it's ...04:34
gitte: is there a git config to ensure that? or use post-update?04:35
gitte [05:31] <gitte> set core.sharedRepository.04:35
huangjs gitte: ok04:35
gitte can say it a 3rd time ;-)04:35
huangjs gitte: I know how to fix it. thanks!04:37
gitte yw!04:37
huangjs btw, I started using git since last week, it's really fast.04:37
mediogre joined04:37
lamont`lamont04:37
bobesponja left04:38
rafl joined04:38
spearce` joined04:41
spearce left04:41
spearce`spearce04:41
gitte Yep, it's fast alright.04:41
chendo[work] joined04:42
gitte So fast that even Mercurial seemed slow to me, recently.04:42
chendo[work] I'm trying to pull a set of changes that includes converting a folder to a submodule04:42
pergesu joined04:42
nat2610 left04:42
gitte I did a "hg pull" on JDK, and I was _so_ annoyed when it came back only a few seconds later, and only to say that it was up-to-date!04:42
chendo[work] But when I try to pull, I get an incomplete pull with the error message: fatal: cannot read object e475cf78a49ede1ba6c83fdae7028d7d9da4cd85 'vendor/plugins/attachment_fu': It is a submodule!04:42
Merge with strategy recursive failed.04:42
gitte Yep.04:43
chendo[work] Any ideas?04:43
gitte submodule support is, uhm, not complete.04:43
I think, however, that in your case it is just the directory attachment_fu not being empty.04:44
chendo[work] Oh.04:44
Hmm04:44
huangjs left04:45
gitte Am I right?04:45
jim___ left04:46
aroben left04:46
chendo[work] Uhh there's files in it now because it's a submodule, but the history shows that the entire folder was deleted04:46
But since submodule support is not complete...04:46
aroben joined04:47
gitte Well, I think that you are mistaken that it shows the history.04:48
I think that it is _still_ a directory, _not_ a submodule.04:48
You should be able to tell by looking for .git/ in that directory.04:48
chendo[work] Well we're just going to go back to what we were using before04:48
gitte If it exists, it is a submodule. If it does not exist, it is _not_ a submodule.04:48
Sure!04:48
chendo[work] By history I mean git log04:48
gitte wonders why you asked, if you go back anyway.04:49
chendo[work] Like the delete of the original attachment_fu worder was there04:49
Yeah I was wondering if it was a problem that can be solved04:49
But I'm just gonna be lazy and just ignore it until submodule support is 'complete'04:49
peeja joined04:54
pombreda joined04:56
CodeOfficer left04:58
CodeOfficer joined05:02
swtaarrs joined05:06
l0verb0y left05:08
aroben left05:08
gitte chendo[work]: that will certainly get submodule support be complete in no time at all.05:08
gitte throws the hands in the air and leaves in despair.05:09
gitte left05:09
aroben joined05:09
mstormo chendo[work]: Hmm, that's _really_ in the spirit of OSS..05:10
chendo[work] What?05:11
mstormo "I'm just gonna be lazy and just ignore it until submodule support is 'complete'"05:11
chendo[work] Well, I actually get paid because I work on the projects we're working on, not hacking OSS projects.05:11
mariusSO joined05:12
mariusSO chendo[work]: It _would_ have been nice if it rather said "Hey, *that's* something *I'd* like to work on! Give me a sec, and I whip up a patch!".. :-)05:12
chendo[work] Yeah it would also be nice if oil was cheap again, there was no world hunger, and there was a cure for AIDS and cancer as well ;p05:13
nkallen_ left05:19
pombreda1 joined05:21
peeja left05:21
spearce` joined05:21
spearce left05:21
at_random left05:22
spearce`spearce05:22
Arme[0]Arme[N]05:23
JonathanT joined05:25
mithro joined05:27
eternaleye left05:29
eMBee good afternoon05:31
mariusSO morning05:32
(07:32 here ;-)05:32
tenpaiyomi joined05:34
robinr joined05:35
pombreda left05:37
hobbes006 joined05:38
angasule_ joined05:38
Fullmoon joined05:39
CodeOfficer left05:39
FunkeeMonk joined05:40
Fullmoon left05:40
Fullmoon joined05:40
Fullmoon left05:41
Fullmoon joined05:41
Fullmoon left05:41
Fullmoon joined05:41
tenpaiyomi left05:42
crab joined05:42
eMBee good afternoon05:42
crab hi.05:42
JonathanT left05:43
eMBee what is the best workflow if i want to rebase a bunch of commits, but manually review each one of them,reorder, and possibly edit them?05:44
just cherry-pick one at a time?05:44
tpope you could rebase -i and set each to edit05:45
eMBee hmm, i think cherry-pick; show; amend; ... seems easier in this case05:46
tsc_ joined05:48
eMBee at least one commit should be squashed into another as well05:48
hmm, maybe i should try rebase -i to learn something new05:50
digitalhobbit joined05:50
RaceCondition joined05:50
crab embee: definitely rebase -i05:51
eMBee yeah, i just see in the manpage that it can split and squash commits too05:52
BabelO joined05:53
eMBee so it's more me being unfamilar with it that makes the other feel easier :-)05:53
better fix that ;-)05:53
tsc_ Anybody know their way around the http-push code? I'm interested in extending it to push to amazon's s305:54
piclez_ joined05:56
nat2610 joined05:57
robinr left06:04
roham[rt] joined06:05
xaxxon joined06:08
ph^ joined06:08
xaxxon I have a git repo on my box. I want to back it up somewhere else. Is there a doc on how to do that? Basically a master/central repository to push to just to have it on another machine06:09
tenpaiyomi joined06:11
tenpaiyomi left06:12
deavid joined06:13
xaxxon I guess just copying out the .git?06:13
Antiarc joined06:15
Antiarc Hey folks. Newbie question.06:15
xaxxon newbie anaswer06:16
answer06:16
scary part is I may be the only one here..06:16
Antiarc I just got back from vacation, and cloned a git repo onto my laptop to work on it. I just attempted a git push back into the repo it was pulled from, but the changes don't show up in my filesystem, though the commit is there in git log06:16
xaxxon :\06:16
Antiarc So, how do I propagate those changes back to the filesystem?06:16
xaxxon you don't06:16
that's a big nono in git06:16
jkp joined06:17
xaxxon but I'm not exactly sure why06:17
just that you don't push to a repo where you want to see the changes06:17
doener_ http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e7306:17
Antiarc That seems horribly ignorant of common VCS usage.06:17
Thanks.06:17
xaxxon I think if you do a fetch from the other end it may work better?06:17
ajonat joined06:17
xaxxon common centralized vcs usagE?06:18
Antiarc Well, yeah ;)06:18
I'm coming from the SVN world06:18
Where I'd normally just do a checkin back to my "home" repo.06:18
doener_ Antiarc: well, you can't push to a working copy in svn at all, so...06:18
Antiarc The local repos are fantastic for working offline, but I need to get it back into my primary development environment now ;)06:19
mcgrof joined06:19
doener_ Antiarc: the repo _got_ updated by the push, just your working tree and index are out of date now06:19
xaxxon fetch06:19
joevandyk__ left06:19
Antiarc Ah, okay, that makes sense.06:19
xaxxon whereever you want a working directory, think of that as a client, not a server06:20
wherever the stuff you want is is the server06:20
Antiarc Okay, that makes sense.06:20
xaxxon checks his shoulder to make sure linus isn't there waiting to smack him06:20
xaxxon if you pull from another repo to your central repo, it will get the change..06:21
ajonat left06:21
xaxxon but it just won't be reflected in the FS06:21
angasule_ left06:21
johan-s left06:21
ajonat joined06:21
xaxxon on the central repo06:21
Antiarc I guess I was expecting the clone source to function as a server.06:22
xaxxon yep. and that's the mistake :) Every copy is equal06:22
doener_ Antiarc: it can serve as a server, but only for fetch.06:22
(ok, you can push as well, but as the faq says, if you don't know exactly what you're doing, don't)06:22
Antiarc Oy, this is going to be a pain.06:22
xaxxon just fetch :)06:23
alwys fetch06:23
Antiarc The problem is getting the machines to see each other.06:23
xaxxon oh06:23
capisce_ joined06:23
xaxxon yeah, I have the same problem06:23
Antiarc I'm running a Linux VM inside of Windows on the laptop, and the networking is all funky.06:23
doener_ Antiarc: you can put a bare repo $somewhere reachable from both06:23
xaxxon you can push to a repo and then clone another copy on that machine for FS use06:23
i.e. have 3 repos06:24
doener_ then you can push to the bare repo and fetch from there06:24
Antiarc hm. seems a little roundabout but would work.06:24
doener_ for two machines for the same dev it might look like a workaround, but once you got more people, it starts to make sense06:25
xaxxon and really, it's the same thing you'd have to do with svn06:25
you still need 2 client copies and a server copy06:25
right?06:25
Antiarc yeah. I was just confused about how git repos functioned.06:25
doener_ no "oops, box is turned off", and you can then choose what to push to the bare repo, so none of your WIP stuff gets exposed06:25
Arrowmaster Antiarc: ohh switching to git finally?06:27
Antiarc I've been using git for about 2 months now, but just barely ;)06:27
Arrowmaster about the same06:27
Fullmoon left06:29
thiago_home joined06:29
daaku joined06:30
swtaarrs left06:30
Antiarc Hrm. git fetch from my primary environment to the laptop repo seems to do nothing. Because I did a git push before joining the channel, perhaps? ;)06:30
doener_ Antiarc: exactly ;-)06:31
Antiarc *chuckle* and so the question becomes, what's the right way to revert that before I go screw this up further?06:31
digitalhobbit left06:31
Antiarc pull a previous commit?06:31
doener_ Antiarc: did you have any changes on the box you pushed to that weren't on the box you pushed from?06:31
Antiarc Nope.06:32
doener_ git reset --hard06:32
Antiarc (which, in theory, makes this -really easy-)06:32
Aha!06:32
Okay, I see now.06:32
that resets to the state in the repo, at the expense of any local changes.06:32
doener_ exactly06:32
Antiarc Thanks a ton.06:32
namenlos joined06:32
mcgrof crap, git-p4 submit --continue is not a real valid option06:33
doener_ and the local changes you currently see are what your working tree/index are missing from the pushed stuff06:33
mcgrof anyone know a decent alternative? The only other options I see are -M and --origin06:33
xaxxon and in your "central" repo, all you need is the .git directory.. you can grab that, move it somewhere and delete all the FS stuff06:33
Antiarc Okay, cool.06:33
doener_ well, or just "git --bare init" somewhere, and then push there06:34
capisce left06:34
spearce left06:34
njal joined06:36
robinr joined06:36
njal what is the recommended way of creating a sandbox branch for myself in a git repository? just create the branch using git branch, then deleting everything currently in it?06:37
xaxxon what are you deleting?06:37
doener_ define "sandbox branch" please06:37
xaxxon we can wait :)_06:38
njal "sandbox branch" = (in my head, at least); small pieces of example code etc that I write for myself and fellow developers that is somehow related to the project - prototype code etc06:38
Antiarc that's just a branch06:38
branch, make your changes, commit to that branch, and switch back to your original branch/master branch06:39
alecs left06:39
xaxxon you almost want a parallel comments section?06:39
nat2610 left06:40
xaxxon more like railroad tracks than a branch06:40
njal xaxxon: thats true. I guess the concept of a sandbox branch doesnt really make sense, since I would probably require code that is in master branch while writing06:41
xaxxon there's not really anything like that, I don't think.. like.. here I am in my project and I want to see my docs for it, so I checkout the doc "branch" and now I have my docs06:41
now I check out my unit-test branch and I have the unit tests for that project06:42
AlexB Leftover Subversion-ism. :-)06:42
pombreda1 left06:43
bentob0x joined06:43
jkp_ joined06:46
_zack joined06:47
_zack left06:48
_zack joined06:48
piclez_ left06:51
angasule joined06:51
priidu joined06:54
priidu left06:57
jkp__ joined06:57
janm joined06:58
jkp left06:59
priidu joined07:00
robinr left07:01
Modius_ joined07:01
chendo[work] left07:03
lea_w joined07:11
jmalonzo_ left07:11
jkp_ left07:11
Antiarc left07:14
normalpe1son joined07:18
shawn__ joined07:19
Ted joined07:20
thiago_home left07:21
lea_w left07:28
eMBee what exactly happens (or is supposed to happen) on git fetch <new-remote-repo> ? i don't see any branches from the remote repo appear. do i need to specify them?07:31
aroben left07:32
eMBee ok, seems pretty clear that i need to specify the branches or add the repo first, i just wonder then wjat fetch does without those. it does something.07:35
jkp__ left07:35
eMBee seems like it does copy all commits07:36
doener_ IIRC it stores the refs in FETCH_HEAD, I think...07:36
igorgue left07:37
doener_ * branch HEAD -> FETCH_HEAD07:37
eMBee yes, i was wondering which commits though, since no branches are specified, it could get none as well07:37
doener_ so, yeah...07:37
eMBee like how does it know which commits to get?07:38
doener_ well, seems that it fetched HEAD for me07:38
fetched from a local git.git clone07:38
eMBee yes, looks like the same here07:38
heh, that's exactly what i did as well :-)07:38
nofxx left07:39
JonathanT joined07:40
csc` joined07:45
RaceCondition left07:48
lea_w joined07:48
krawek left07:52
mtodd_ left07:52
mtodd_ joined07:52
eMBee hmm, sometimes i get confused by simple things: does A..B include A or not?07:53
i think not, because A should be reachable from A07:54
nud joined07:58
fhobia left08:00
reel_ joined08:01
tsc_ left08:04
brosner left08:05
alenoosh joined08:11
nutrimatt joined08:17
RaceCondition joined08:22
Arme[N] I just merged a project(A) with subtree merge to a project(B) and then I changed A project through project(B) working copy, now I want to push those changes in to the A repository, How to do this? I can't find a real example of this situation in subtree merge HOWTO page08:26
daaku left08:26
redondos joined08:30
ebel joined08:31
sbeyer joined08:33
thiago decides to repack: 192 packs and 105 MB worth of unpacked objects08:34
GregersP joined08:34
thiago eMBee: that's now how you read it08:35
eMBee: you should read "everything reachable from B, except what's reachable from A"08:35
since A is reachable from A, A.. will exclude it08:35
mithro left08:36
mcella joined08:43
Fullmoon joined08:48
petteri joined08:49
dwmw2_gonedwmw208:52
pilif|awaypilif08:56
charon joined09:00
koke joined09:03
ajonat left09:07
ajonat joined09:07
ft joined09:07
mediogre left09:20
_zack left09:25
chris2 joined09:25
Tv left09:25
n00b2000_ joined09:27
n00b2000_ hi. I have a git repository on which I accidentally ran git-reset --hard <some old tag>09:27
(sorry for the message break) how do I revert back to the up-to-date head?09:27
charon n00b2000_: look for -g in 'man git-log', look at its output to figure out the '...' in reset --hard HEAD@{...}09:30
thiago if you have done absolutely nothing since, you can try this too:09:32
git reset --hard ORIG_HEAD09:32
n00b2000_ charon, thiago - thanks, you saved my ass09:34
n00b2000_ left09:34
jeckelaway09:35
lu_zero_lu_zero09:36
beeble what would be the best way if i want to "checkout" an old revision to do some testing, but be able to change back to the current HEAD?09:37
mariusSO beeble: If you want to do changes to that old revision when testing, create a branch for it. 'git checkout -b test_of_old_stuff <sha1 of old revision>'09:38
if not, just 'git checkout <sha1 of old revision>', and use a so-called "detached head"09:39
Then just 'git checkout <previous branch name>' to get back to what you had before09:40
CodeOfficer joined09:40
beeble mariusSO: thx, i should have read the message from git checkout <sha1> more carefully. seemed like an error but with the detached head in mind it looks right09:43
mariusSO The "error" with a detached head is that you cannot make a commit to it, unless you first create a branch for it.09:44
other than that, harmless09:45
beeble everything with a lot of output seems wrong at the first moment ;)09:46
but yes, it just want to warn me. so it's fine and good09:46
thesaint4444 left09:47
Tv joined09:53
lea_w1 joined09:53
lea_w left09:53
lea_w1lea_w09:53
_zack joined09:54
lea_w left09:56
lea_w joined09:56
Catfish When I git stash && git stash apply, Xcode thinks that the project file has changed and wants to reload it10:01
Any guesses why?10:01
bremner Catfish: file access time?10:02
Catfish bremner: If that was the case, opening the project file in an editor & closing without saving would have the same effect, right?10:03
dwmw2dwmw2_gone10:03
dato uh, I'd expect git stash apply to alter the mtime, no?10:04
Catfish Even if the file hasn't changed?10:04
bremner Catfish: well, ls -l confirms that git stash apply updates mtime.10:07
Catfish hm10:07
On a totally separate note, doesn't Majordomo offer daily digest mails?10:08
awx_awx10:10
markkalderon joined10:10
CodeOfficer left10:11
lea_w1 joined10:12
lea_w left10:12
lea_w1lea_w10:12
lu_zero left10:14
lu_zero joined10:14
Debolaz Hrmm.. Is it possible to get git to only pack x amounts of objects at a time? The problem is that even counting the objects in the repository takes too much memory.10:17
Ademan joined10:20
kukks joined10:20
capisce joined10:22
jkp joined10:22
jkp hi all...how do i clone a specific branch of a repository?10:23
waawaamilkvampyr jkp: not sure if this is what you're after, but:10:25
git clone -n [remote]10:25
git checkout [branch]10:25
?10:25
mcella left10:26
mcella joined10:26
lea_w1 joined10:27
lea_w left10:27
lea_w1lea_w10:27
mcgrof anyone know if Id tags are standard of some sort?10:28
like who the heck came up with it?10:29
cypher23 what do you mean with "id tags"10:30
?10:30
Arjen jkp: You can't clone just a branch, you always clone the whole repository10:30
waawaamilkvampyr presumably $Id$ as is common in CVS ?10:30
mcgrof cypher23: #ident "$Id: //foo/bar/crap.c#5 $"10:31
broonie mcgrof: Not officially, though quite a few revision control systems use the same syntax.10:32
mcgrof broonie: know which one might have used it fist? Just curious10:33
broonie mcgrof: RCS or SCCS.10:33
mcgrof also, because of it it seems it can reate huge issues with fast-import scripts and wrapper for git10:33
capisce_ left10:34
Arjen Why?10:35
mcgrof running into this same issue with git-p4 right now. If git would support it, which seems easy to do it remove sthis burden from wrappers and import scripts10:35
imyousuf left10:35
broonie What is the issue which you are running into?10:36
mcgrof right now git-p4 is broken, because of this same issue, (patch pending, I'll send it to the list soon). Was trying to figure out the best way to deal with it but it would be all penalties on performance and they are just hacks10:36
git-p4 right now clones and removes the tags, however, the patch will feail on the depot as the tag *was* removed.10:37
The right solution seems to just have git deal with it IMHO10:37
as a flag at least10:37
otherwise your wrappers need to hack it up10:38
I just removed this check in git-p4 and its been working fine, except for cases where I have a series of commits and the tags will change and I have hunks with the tags within.10:39
another consideration is the directory move - the tags will change10:39
so I have to deal with this right no wmanually10:39
was looking for the right solution and I think if git could handle this internally, maybe as an option, it would help with wrappers10:40
markkalderon left10:40
mcgrof what do you think?10:40
I'll just address this on the lists10:41
cebewee can perforce kill the tags on itself?10:43
for cvs/git-cvs-import you use -kk for cvs and -k for git-cvs-import and it works fine.10:44
koke_ joined10:44
mcgrof cebewee: I was looking into that, I couldn't find it :(10:44
cebewee: that would be the proper wrapper solution for git-p4 in the meantime10:45
git-p4 uses p4 print10:45
so it would have to be an option to it, and I don't see one10:45
there's -q flag which does: suppresses the initial line that displays the file name and revision, but that doesn't remove it from the source code print10:46
at first, I was considering using some sed, but even then, that wouldn' work as you still then have to retrieve the right Id when you want to apply the patch in perfoce, which it always leaves it10:47
so to submit into p4 your hunk *needs* to right tag10:48
if git had it, well this would resolve the issues. I guess the issue there is if this is a standard or not10:49
and if different version control systems use different implementations10:49
so hence my original question10:49
lu_zero left10:49
cebewee i think such tags are broken, as they create conflicts when there are none.10:50
and you need to differentiate between binary and text files10:50
Xyrio joined10:52
jettero is there a git remote command to tell the remote to merge on a push from the source?10:53
mcgrof I don't care two shits about the tags, for all I care they can disappear from the face of te earth, but a solution for wrappers is still needed :(10:53
koke left11:00
anathematic joined11:00
lu_zero joined11:01
Xyri0 left11:02
Debolaz Gah, this object count is going in 10 objects per second...11:02
And there are 1.5m of them to count.11:04
mugwump repack --window=10000 ? :)11:08
mcgrof heh I just ran into a case where the p4 *reduced* the #version number from the tag instead of increasing it11:08
l0verb0y joined11:08
jengelh just that a superwindow does not help all that much than11:09
Lucine2Ariella11:10
mariusSO mugwump: Will make checking out files really slow, since you potentially have to apply 10k deltas to a file before you get the revision you'd want11:10
mugwump mariusSO: you're confusing it with --depth11:11
mariusSO smacks self11:11
mariusSO that's correct11:11
mugwump big windows are fine, I normally don't use more than about 200 for my brute-force packing attempts though11:11
don't really know where the typical point of diminishing return is11:12
anathematic left11:12
mariusSO would be an interesting graph11:13
mugwump hmm, could perhaps calculate it on carbon belch day11:14
mariusSO same with unpack time in relation to --depth11:14
correlated with final repo size11:15
mcgrof no I take that back it didn't reduce the id number11:18
Debolaz mugwump: I use --window=100 now. Doesn't change the fact that git wants to swallow enormous amounts of memory just to look at the repository.11:20
mugwump which operation did that?11:20
jasam joined11:22
thiago suggestion: git tag also take a --contains argument, like git branch11:22
Debolaz mugwump: The counting stage of git-repack.11:23
So right now I'm tarring the repo up and moving it to a machine that has a few gigs of ram.11:23
markkalderon joined11:24
RaceCondition left11:24
Debolaz Counting 10 objects per second just isn't acceptable.11:24
mugwump your system is thrashing then ? ie, lots of si/so visible on vmstat11:25
that does sound a bit odd, I would have thought it could just hit the index to count. have you looked at the source for hints?11:26
markkalderon left11:27
Sho_ left11:27
Debolaz I recall that when counting, it actually opens every individual file. I'm guessing it does so in an extremely inefficient way too, because tar is speeding through them without any issues.11:27
Recall from previous investigation on an unrelated issue.11:28
mugwump hmm11:33
I think the problem is it has to walk the entire object graph11:33
Debolaz tar will be done in an hour or so I think. git would had literally spent months on this.11:33
mugwump to see which objects are connected11:33
Debolaz mugwump: For counting?11:33
mugwump for repacking11:33
for counting which objects need repacking11:34
you're using repack -a -f ?11:34
Debolaz Yes.11:34
mugwump how many packfiles do you have?11:35
it does sound like you're running into an unfortunate worst case tbh11:35
Debolaz None. As I said, I've been unable to pack it.11:35
It will literally take months to make any packs at all on this repo.11:35
mugwump oh. what does git count-objects -v say?11:35
roham[rt] left11:36
mugwump (that should use a faster count method, I think)11:36
Debolaz It's counting roughly 10 objects a second. That means the counting stage alone, and nothing else, will take 3 months.11:36
mugwump or, how many loose objects do you have, roughly?11:36
Debolaz There are 1.5m objects.11:36
mugwump ok11:36
which filesystem?11:36
Debolaz UFS2.11:36
mugwump heh11:36
Kbyte joined11:37
mugwump does that have directory hashing of any type?11:37
sbeyer left11:37
jengelh even FAT would perform better! </s>11:37
Debolaz Yes. But you're missing a point I made before now, tar has no such performance problems.11:37
I'm tarring this repo up now at a very high speed, with compression.11:37
mugwump it's doing a different thing11:37
you're comparing a disk-level backup to a vacuum, in DB terms11:38
Sho_ joined11:38
Debolaz I realize there's a difference, I'm just saying I'm having a hard time seeing that the filesystem itself is the performance problem. Random access to any arbitrary object seems very fast.11:38
But directory hashing is used in the filesystem yes.11:39
mugwump ok. this is FreeBSD I assume?11:39
Debolaz Yes.11:39
mugwump I'm just wondering whether it might not go so slowly on Linux, I think it's inode/VFS stuff is faster for this particular case11:39
Debolaz I'll start trying other systems when the tar is ready.11:40
mugwump sure. this is why the auto-repacking was added, really11:40
you tend to blow the OS' dircache (or equivalent) with usage like that11:40
you might be able to set some kernel tunables and increase the size of the cache perhaps11:41
you're not importing ports are you? :)11:41
Debolaz But can't git simply not try to pack the whole object tree at once? Doing it chunks at a time seems to solve this issue.11:41
dsop can i something like an incremental blame? So like: this line first appeard in commit abc then modified in commit cd1 and commit db211:41
mugwump sure, you can do that11:41
Debolaz I'm importing FreeBSD. :-)11:41
mugwump right, yes11:41
l0verb0y- joined11:42
mugwump git-fast-import also solves this in a much better way11:42
output all the revisions of an RCS backing file from a CVS repo in order, for instance, and you already get a whole lot of repacking on your first output run11:43
Kbyte left11:44
Kbyte joined11:44
Debolaz But isn't there a program that can take a directory of objects and simply just compress them into a pack without having to start counting the whole repo, or any of the extra stuff, just compress a bunch of files?11:45
Kbyte left11:45
Debolaz Heck, I don't even need compression, as long as the number of files are reduced.11:45
mugwump sure, git-pack-objects will wok like that if you like11:45
Kbyte joined11:45
mugwump but seriously, if you find yourself doing this multiple times, I recommend adopting the approach used by git-p4raw (on utsl.gen.nz/gitweb/?p=git-p4raw)11:46
Ilari git-repack without the -a option?11:46
mikeando joined11:46
lcapitulino joined11:47
Debolaz Ilari: I don't think that would help much.11:47
lcapitulino left11:47
mugwump ie, break up the conversion into phases: 1) survey input metadata (like parsecvs) and place into Postgres tables, 2) export file blobs (to git-fastimport), 3) mine out history from metadata, place into further tables, 4) export branches to git-fast-import11:48
if you make all of the stuff that touches the database transaction-safe, you don't drive yourself nuts with repeated runs11:48
mikeando left11:50
Ted left11:52
crab hi.11:53
so i cherry-picked some changes from master into rel, but they have different commit ids, and now if i do "git log rel..master", that change is shown even though it's been merged.11:54
Ted joined11:54
crab what can i use to see only those changes that i really need to merge?11:54
Fullmoon left11:55
chris2 left11:55
mugwump why, with git log --left-right --cherry-pick rel...master, of course11:55
crab oh, of course.11:55
:)11:55
Ted left11:56
crab except that it still shows me that commit.11:57
l0verb0y left11:58
mugwump bah11:58
do the git-patch-id's for the patches show the same?11:58
also, I might have the order of the arguments backwards11:58
crab yes, patch-id shows the same thing. reversing the arguments didn't help.11:59
mugwump hmm. well, at the very least, git rev-list with those options should show a "+" or a "-" by the ones that do match12:00
obviously they're not just excluded like I was hoping12:00
crab git-rev-list shows only ">" lines.12:01
mugwump you are using three "."'s, right?12:03
you know, I think I've encountered cases where this didn't work12:04
because the "..." takes the latest merge base, not the first point of divergance12:04
that bit where it describes the merge base as:12:05
s/merge base/symmetric difference/12:06
git-rev-list A B --not $(git-merge-base --all A B)12:06
Fullmoon joined12:06
mugwump this is probably wrong12:06
a symmetric difference arguably should use an earlier commit than that12:07
Debolaz mugwump: Piping find objects/ into git-pack-objects yielded significantly better counting performance.12:07
nud left12:07
crab mugwump: damn, i wasn't using three dots. sorry!12:08
mugwump Debolaz: of course, the chances of git doing a good job at compressing that lot in any kind of reasonable time are very slight12:08
crab thanks, that works.12:08
Debolaz mugwump: But we're merely talking about counting performance though, not compression?12:09
mugwump sure12:09
I found that repacking a repository like that yielded a 350MB pack for perl12:09
then, later, one produced where I'd fed the file revisions into git-fast-import in a per-file order (ie, all the revisions of a file sent in order), it got down to 110MB12:10
intripoon left12:10
mugwump with the same repack options12:10
d0k joined12:11
mugwump the nature of the repack object window selection algorithm is that well corellated history packs better12:11
intripoon joined12:11
intripoon left12:12
intripoon joined12:13
koke_ left12:14
mugwump anyway, I have to go to bed - but do go and have a look at git-p4raw - and I'm more than happy to discuss this with you offline - FreeBSD is one thing I'd love to have a complete GitTorrent of :)12:14
best of luck, Debolaz !12:15
Beket joined12:15
intripoon left12:15
lorandi joined12:16
lorandi left12:16
intripoon joined12:17
crab left12:19
lorandi joined12:21
EmilMedve joined12:23
juanjoc joined12:25
vanderkerkoff joined12:27
nud joined12:27
vanderkerkoff hello peeps. Some numptie forgot to not put our documents folder into git. I tried git rm -r 'public/\*ments/' but it's failing12:28
how do I remove the folder public/documents and all things in it?12:29
Catfish *ments?12:31
vanderkerkoff documents12:31
:-)12:31
Catfish Doesn't git rm -r public/documents work?12:31
vanderkerkoff two secs12:31
I'll tell you the error now12:31
fatal: pathspec 'public/documents' did not match any files12:32
git rm is for files I th ink12:32
Catfish And public/documents exists in your working copy?12:33
vanderkerkoff yep12:33
alenoosh left12:33
Catfish Works fine for me on 1.5.512:33
vanderkerkoff from this page it seems that git rm is for files12:33
http://www.kernel.org/pub/software/scm/git/docs/git-rm.html12:33
not for folders12:33
Catfish -r12:34
Allow recursive removal when a leading directory name is given.12:34
agib joined12:34
Debolaz vanderkerkoff: git doesn't really track folders.12:34
vanderkerkoff does that mean recursivley remove the directories?12:34
Catfish No12:34
It removes any files within that directory12:35
vanderkerkoff righto12:35
lu_zero left12:35
vanderkerkoff I got you both, so if you want to remove a directory, how woulk you do that?12:35
but if git doesnt track it12:35
Catfish You just remove all files within it12:35
vanderkerkoff it's going to be hard12:35
:-)12:35
Debolaz vanderkerkoff: You don't, you just remove the files. There's no such thing as a directory in git. :)12:36
Catfish Which can be achieved by git rm -r directory12:36
vanderkerkoff here's my structure, public/documents/4/original/filename.ext12:37
the number changes with every file uploaded12:37
as does the filename12:37
so I'll have to manually go through all the number files and make sure there's no files in them wont I?12:38
using git rm12:38
hmm12:40
i think my local system must be bolloxed12:40
garrin left12:40
Arjen What does 'git status' say, after the 'git rm -r public/documents' ?12:40
vanderkerkoff same as it does prior to it failing Arjen12:41
there's something wierd going on here12:42
I can drill right down in the folders to the docuement itself12:42
and git rm -r nameofdocument and it still gives errors12:42
vbabiy-laptop joined12:42
vanderkerkoff fatal: pathspec 'public/documents/1/original/AcademicOffences.doc' did not match any files12:43
I'm in the original folder12:43
here's the command12:43
git rm AcademicOffences.doc12:43
so I might think that git doesn't know about that file12:44
so git status12:44
looks ok12:44
:-)12:44
Catfish Are you using the right case?12:44
As in, does git think that the folder is 'Documents', and your local filesystem is giving 'documents'12:45
vanderkerkoff ahh12:45
there's only one folder, documents12:45
Catfish git ls-files public/documents ?12:47
vanderkerkoff Catfish, you beauty12:48
[1]intripoon joined12:48
vanderkerkoff you were right, git knows nothing of the entire documents folder12:48
:-)12:48
that's why you can't delete it12:48
:-)12:48
eikke joined12:50
bentob0x left12:50
eikke is there any easy way to find out which commit removed/changed a given line?12:50
(ie in which commit a method was renamed)12:51
vanderkerkoff can you search in gitk for it?12:51
eikke no gui :)12:51
Arjen eikke: git log -S ?12:52
deavidsedice joined12:52
Arme[N]Arme[0]12:52
Arme[0]Arme[N]12:52
eikke Arjen: whats the syntax if 'string' then?12:53
Arjen git log -S'string to search for' -- file_to_search_in12:53
something like that12:53
eikke thanks12:53
nrl joined12:58
Tv left12:59
koke joined13:03
stouset joined13:05
intripoon left13:05
ajonat left13:07
sgrimm joined13:10
intripoon joined13:12
redondos_ joined13:13
holizz joined13:16
redondos left13:17
redondos_redondos13:17
VitaRara left13:18
ajonat joined13:21
SRabbelier Arjen: and how do you do that if you want to search the logmsg instead of the diff?13:25
Mikachu log --grep=hello13:26
SRabbelier Mikachu: mhhh, and plumbing style that's git-rev-list --grep ?13:26
Mikachu i daren't say, there was some discussion recently about those two commands that confused me :)13:27
SRabbelier Mikachu: how about the '-S' switch to git log..?13:27
Mikachu didn't we just establish that searches the diffs?13:27
schacon joined13:27
SRabbelier Mikachu: yes13:27
Arjen SRabbelier: the --grep is in rev-list13:27
SRabbelier Mikachu: but, plumbing style, there's no -S in rev-list13:27
schacon left13:28
Arjen It's a diff thing, and that's not in rev-list13:28
Mikachu i'm not going to say if any of them is plumbing or not13:28
SRabbelier Arjen: mhhh... is there a plumbing-style way to do -S?13:29
Mikachu but obviously you seem quite convinced already13:29
SRabbelier Mikachu: anything in git log is porcelain :P13:29
Mikachu: man git(7) tells me that git log is porcelain, so I can't use "git log -S"13:29
[1]intripoon left13:30
Arme[N]Arme[0]13:30
Mikachu SRabbelier: grep 'git log' *.sh13:30
SRabbelier Mikachu: heh, I know.. it's bad :(13:30
Arjen SRabbelier: Why can't you use it?13:30
SRabbelier Arjen: not supposed to use porcelain in my GitStats project :P13:31
vanderkerkoff left13:32
Arjen SRabbelier: You can control the exact output of log with --pretty, so I don't see it as a real problem13:32
[sand-man] joined13:32
proxie left13:32
SRabbelier Mikachu: also, it's only git-bisect.sh, git-merge.sh, git-request-pull.sh, git-stash.sh, git-submodule.sh; that are sinning, and only in a few places (about 10)13:32
Arjen Otherwise, use git rev-list and 'manually' do a diff-tree on the successive commits13:32
SRabbelier Arjen: yeah, I did, too slow :(13:32
Mikachu SRabbelier: there aren't any more users of rev-list13:33
1113:33
Arjen SRabbelier: Surprise, surprise :-)13:33
bryanray joined13:33
SRabbelier Arjen: not really, forking != cheap :(13:33
Mikachu SRabbelier: ask junio :)13:33
SRabbelier Mikachu: on how to do it?13:33
Mikachu if git-log is porcelain and/or plumbing13:33
SRabbelier Mikachu: I'll do it together with asking about "git branch --contains"13:33
there's no counterpart13:33
jerbear joined13:34
Mikachu git branch is not plumbing either :)13:34
SRabbelier Mikachu: it's under Main porcelain commands13:34
Mikachu: exactly13:34
Mikachu: and there's no plumbing counterpart of "--contains" either13:34
panagos left13:34
SRabbelier and doing it manually is, you guessed it, slow..13:34
panagos joined13:34
jerbear can someone help me understand how alternates work?13:34
tenpaiyomi joined13:34
ciaran29d left13:35
cmarcelo joined13:35
intripoon left13:35
Arjen SRabbelier: Well, git log can even output NUL13:35
s between commits13:35
Mikachu jerbear: you write a path to another git repo in the alternates file, and when git tries to look up an object locally that it can't find, it looks in that object repo too13:35
SRabbelier Arjen: mhhh, yes, that's true.. mhh13:35
Mikachu jerbear: everything is written locally though13:35
jerbear: (if it can't be found in the alternate)13:36
SRabbelier Arjen: I guess it's porcelain but with plumbing tendencies :P13:36
Arjen SRabbelier: And with a --pretty=$format you can exactly control the output13:36
venger joined13:36
Arjen SRabbelier: So in this case, I don't see a real problem with using git log13:36
intripoon joined13:37
jerbear Mikachu: i'm trying to check out this gitweb fork.. it says that if i have an existing git repo, i can just use --reference when cloning it, but i'm not sure how to use it once it's been cloned13:37
SRabbelier Arjen: mhhh, sound argument, I'll poike the list though :)13:37
venger git gui has a nice little "Revert changes" selection that revert changes to a specific file. What is the cmdline equivalent to what it is doing ?13:37
Mikachu jerbear: use what? --reference?13:37
SRabbelier venger: git checkout -- file13:37
Mikachu jerbear: it's an option to clone, so i guess you can't then13:37
jerbear: it'll copy objects from the referenced repo instead of fetching it from the remote13:38
venger SRabbelier, interesting, thanks13:38
SRabbelier venger: yw13:38
venger: note that 'git revert' is totally different, it actually creates a -commit- that reverts another one13:38
jim__ joined13:39
jerbear Mikachu: is there a way to remove an alternate?13:39
Mikachu git gui should probably say something like 'undo work tree changes' to avoid confusion13:39
jerbear: i don't know if reference adds an alternate13:39
SRabbelier Can I specify a commit date on the commandline, or is GIT_[COMMITTER|AUTHOR]_DATE the only way13:39
?13:39
jerbear Mikachu: is there a way to tell what alternates exist?13:41
eternaleye joined13:41
Mikachu jerbear: cat .git/info/alternates iirc13:41
jerbear Mikachu: ok thanks13:41
Arjen SRabbelier: I think only the env variables13:41
SRabbelier bummer13:42
Arjen (That's how commit-tree gets its information)13:42
SRabbelier nods13:42
SRabbelier ah well, on to manual labor then13:42
[1]intripoon joined13:42
[1]intripoon left13:43
vbgunz joined13:43
broonie_ joined13:43
godog joined13:44
Arjen Manual labor?13:44
SRabbelier Arjen: setting the dates through export first, then commiting13:46
rtyler oh how manual :p13:46
SRabbelier very :P13:46
capisce_ joined13:46
Arjen SRabbelier: In a shell script?13:46
SRabbelier Arjen: nah, it's a one liner anyway13:46
Arjen GIT_COMMITTER_DATE=foo git commit-tree ... ?13:47
No export needed13:47
SRabbelier Arjen: I can still use 'git commit' :P13:47
Arjen I could be misunderstanding you completely, of course :-)13:47
SRabbelier Arjen: no you're right :)13:47
Arjen That's porcelain!13:48
SRabbelier but if I use export I only have to set the date once :P13:48
Arjen Heretic!13:48
SRabbelier Arjen: ah, yes, but this is manual labor as said13:48
not code ;)13:48
Arjen Heheh13:48
rleigh joined13:48
jasam left13:49
[1]intripoon joined13:50
hobbes006 left13:51
broonie_broonie13:52
SRabbelier Arjen: erm, is it right that GIT_AUTHOR_DATE is ignored when committing an empty tree? 0.o13:53
stouset left13:54
lu_zero joined13:56
SRabbelier nvm, misformatted the date field :P13:56
gass how can i step into a new head?13:57
git checkout branch?13:57
RandalSchwartz step "into"?13:58
you mean, check out a branch?13:58
or create a new branch?13:58
new branch = git checkout -b newbranch oldbranch13:58
gass i discovered it ... git checkout origin/branch13:59
RandalSchwartz when you do that, you won't be able to commit13:59
you're only "looking" at that branch14:00
you can commit only to local braches14:00
so you just want to look at it?14:00
RandalSchwartz waits for gass to come back14:01
jmalonzo joined14:02
capisce left14:02
capisce joined14:02
l0verb0y- left14:02
markkalderon joined14:03
pombreda joined14:04
eternaleye left14:04
jepler joined14:06
intripoon left14:07
[1]intripoonintripoon14:07
hobbes006 joined14:07
jmalonzo_ joined14:08
jerbear has anyone ever installed the gitweb fork that repo.or.cz uses?14:08
reel_ left14:08
pasky any trouble there?14:09
jerbear pasky: are you talking to me?14:09
RandalSchwartz who else is talking? :)14:10
brosner joined14:10
jerbear just making sure :)14:10
yes, actually... it's mainly with getting it to work with git-browser14:10
RandalSchwartz [quiet room] [jerbear asks question] [pasky clarifies] [jerbear says "for me"?]14:11
RandalSchwartz boggles14:11
reel_ joined14:11
jerbear RandalSchwartz: i think we've clarified that i can be a bit dense... happy?14:11
rtyler gives RandalSchwartz a cookie14:12
rtyler now he'll be happy :D14:12
pasky jerbear: well, um, any trouble there? :)14:12
lawtech joined14:13
RandalSchwartz hands the cookie to pasky14:13
jerbear i've linked the git-browser dir to my web root, which it seemed to be looking for. when i go to graphiclog, it just shows the "loading" status at the top, and nothing happens14:13
capisce_ left14:14
deavidsedice left14:14
pormi joined14:14
pormi hello there14:14
janm left14:15
Tv joined14:16
jerbear pasky: any tips for getting this working?14:16
pormi m..14:17
pormi left14:17
Catfish left14:17
namenlos left14:17
ph^ left14:18
Catfish joined14:18
pasky hmm14:18
jast jerbear, i did a small patch against git-browser iirc, after that it worked14:18
pasky jerbear: not immediately - well, check the settings, you might find it instructive to compare master and mob branches of git-browser14:18
jast don't recall the specifics though14:18
gass RandalSchwartz, here14:19
xyzzy_ joined14:19
Eduard_Munteanu joined14:19
gass RandalSchwartz, i want to change to that branch14:19
RandalSchwartz, and then edit it14:19
jerbear pasky: compare them? i don't understand14:19
compare what?14:20
Eduard_Munteanu Hi. I registered a repo on repo.or.cz. But I don't know how to tell git to use my SSH key to auth.14:20
bentob0x joined14:20
Eduard_Munteanu When pushing, it keeps asking for a password.14:20
RandalSchwartz gass - then you want to create a local branch14:20
as I said before14:20
and then you ignored14:20
pasky Eduard_Munteanu: check with regular ssh repo.or.cz first14:20
RandalSchwartz if you ask a question here, don't ignore the answers.14:20
jbunster joined14:20
RandalSchwartz git checkout -b newbranch oldbranch14:20
gass RandalSchwartz, sorry ... i thought i got it14:20
jast Eduard_Munteanu, if your key is in ~/.ssh/id_{d,r}sa it's used automatically. try ssh -vv [email@hidden.address] for lots of details.14:20
RandalSchwartz whacks gass with a LART stick14:20
jmalonzo left14:21
gass RandalSchwartz, i have the branch created ... i just want to edit it14:21
RandalSchwartz no you don't14:21
you have a view on a remote branch14:21
that's not "created"14:21
you need to learn the difference between remote branches and local branches14:21
gass RandalSchwartz, i have to go out, be back in a minute14:21
RandalSchwartz see "git branch -a -v"14:21
Eduard_Munteanu jast, must my key have the comment in the form of [email@hidden.address] or it can be user@localhost?14:21
gass RandalSchwartz, so i have to check it out and re-create it?14:21
RandalSchwartz eh?14:22
jast Eduard_Munteanu, the comment can be anything as long as it's there14:22
RandalSchwartz you need to do what I said14:22
jast (perhaps not strictly anything but foo@bar definitely works)14:22
RandalSchwartz git checkout -b newbranch oldbranch14:22
gass RandalSchwartz, how can i edit the remote branch?14:22
RandalSchwartz how many times should I type that for you?14:22
gass ok, ok14:22
done14:22
RandalSchwartz you don't edit a *remote* branch14:22
you commit to a *local* branch14:22
have you been through the tutorial?14:22
probably a good time to do that now14:22
markkalderon left14:24
jerbear pasky: what is the proper way to install this version of gitweb?14:25
Ilari gass: Remote branches form mirror(s) of other repository(ies). You don't want to edit those mirrors...14:25
gitte joined14:25
stouset joined14:26
pasky jerbear: just clone and build it :) but you seem to be confused about gitweb vs git-browser14:27
armedblade joined14:27
pasky i already gave my hints about git-browser and have nothing much to add14:27
ciaran29d joined14:27
venger left14:28
armedbladevenger14:28
jerbear pasky: yes, git-browser has to be cloned separately from gitweb, right? there are no instructions as to how to integrate the two.... only how to set it up standalone14:28
jossipek joined14:29
pasky well, repo.or.cz's gitweb has it integrated :)14:29
ph^ joined14:30
Modius_ left14:30
jerbear pasky: that what i cloned.. it didn't appear to be14:30
Modius_ joined14:30
Eduard_Munteanu jast, it says "debug2: we sent a publickey packet, wait for reply", but then goes on asking for a password.14:30
janm joined14:31
jast Eduard_Munteanu, directly after that debug2 message?14:31
Eduard_Munteanu jast, no, it goes on checking for DSA keys.14:32
RandalSchwartz are you using openssh, or that weird one that comes with solaris?14:32
Eduard_Munteanu RandalSchwartz, openssh14:32
RandalSchwartz ok - nevermind then14:32
I had trouble once because I thought I was using openssh14:32
and it was some freaked out old code14:32
Eduard_Munteanu jast, http://pastebin.com/d5f8e20c114:35
njal left14:35
[1]intripoon joined14:37
jerbear left14:37
piclez_ joined14:37
brosner left14:38
Ilari Eduard_Munteanu: What files are in '~/.ssh' besides config and authorized_keys?14:39
pilif Eduard_Munteanu: could it be that you are using one of these insecure private keys as generated by the defect openssl package?14:39
Ilari Eduard_Munteanu: Also, what distro?14:39
pilif they are often blacklisted14:39
Eduard_Munteanu Ilari, there are just these: id_rsa id_rsa.pub known_hosts14:39
Ilari, Gentoo. And I know about the Debian problem, I think it does not affect Gentoo.14:40
pilif it depends what the key was initially generated with14:40
jast that leaves another easy explanation: maybe you pasted the public key incorrectly on your repo account, perhaps with superfluous line breaks or something. you could try updating your public key on repo.14:40
sgrimm left14:40
Eduard_Munteanu openssh-4.7_p1-r1 and openssl-0.9.8e-r314:41
Pieter you can edit your keys now?14:41
jast yes14:41
Eduard_Munteanu Okay, I will insert the key again into the webapp.14:41
jast my patch got applied upstream \o/14:41
Pieter good :)14:42
jast yeah... i wrote the patch mainly for my own good ;)14:42
i was affected by that debian madness too14:42
Pieter madness? THIS IS SPARTA!14:43
jast sure :)14:43
rtyler git push into-pit14:43
Eduard_Munteanu Okay, will copy with cat ~/.ssh/id_rsa.pub | xclip -i -selection clipboard and paste normally14:44
(this is what I use to paste patches into my email client)14:44
Ilari Eduard_Munteanu: '-selection primary' and middle-click the textbox (unless browser is buggy)? :-)14:45
RandalSchwartz useless use of cat!14:45
jmalonzo_ left14:45
Eduard_Munteanu RandalSchwartz, yeah, you're right.14:45
RandalSchwartz xclip -i < ~/.ssh/id_rsa.pub14:45
I still wonder where people start learning to type that useless cat14:45
Eduard_Munteanu Ilari, I prefer using paste, but...14:45
RandalSchwartz maybe it's a windows thing14:46
pilif Eduard_Munteanu: what does the content of id_rsa.pub begin with? For authorized_keys it usually conists of one line beginning with ssh-rsa. I've seen public keys in the x509 text format one (--- BEGIN PUBLIC KEY---) which would not work.14:46
s/one/once14:46
jengelh use DSA keys14:46
jast rsa > dsa14:46
Eduard_Munteanu pilif, ssh-rsa stuff. Though the public key is x509-like.14:46
pilif, sorry, private key14:46
jengelh but RSA is encumbered :)14:46
Mikachu RandalSchwartz: i think you can even do < ~/.ssh/id_rsa.pub xclip -i14:47
pilif Eduard_Munteanu: that's ok. It's just the format of the public key14:47
RandalSchwartz in good shells, yes14:47
Mikachu RandalSchwartz: if you really want to have the filename to the left14:47
RandalSchwartz but I've seen broken shells that wouldn't do that14:47
Eduard_Munteanu jengelh, doesn't RSA work with repo.or.cz.14:47
RandalSchwartz so I no longer suggest that14:47
Mikachu ah14:47
RandalSchwartz some variants of bash, I think14:47
not being a bash user, I woudln't know14:47
I try to avoid most gnu abominations14:47
jast rsa works with repo, no worries14:47
Mikachu what shell do you use?14:48
RandalSchwartz zsh14:48
Mikachu aha, good :)14:48
RandalSchwartz only because it lets me run something on ssh14:48
pilif loves his zsh14:48
RandalSchwartz but I don't understand even 1/10th of zsh14:48
it's far too complex for a shell14:48
I need "ssh remotehost somecommand" to run stuff on remotehost14:49
csh and zsh are the only two I found to do that14:49
and I really really hate csh14:49
tro joined14:49
Mikachu the globbing syntax is so good i don't even know how to use find :)14:49
Eduard_Munteanu jast, nah, it does the same thing.14:49
pilif it's complex, but it's quite probable that the feature would want is in zsh14:49
RandalSchwartz so I was happy to do zsh14:49
Eduard_Munteanu jast, still asks for a password.14:49
redondos RandalSchwartz: example?14:49
Eduard_Munteanu Should I update my openssh & openssl?14:49
ceez joined14:49
RandalSchwartz example for hating csh?14:49
ironfroggy joined14:50
redondos redondos@thruster:~$ ssh nceurope.dyndns.org hostname14:50
nc-server14:50
just an example14:50
ironfroggy I'm tryin to determine what commit a particular change in a diff between two branches came from. is there a good way to determine this?14:50
redondos I am also a zsh user, but I don't get your point14:50
RandalSchwartz oh - run *my* per-host stuff before running the actual command14:50
such as updating path or setting envars14:50
since that's not considered a login shell, most classic shells won't run anything14:51
anyway... gotta drive.14:51
redondos bashrc is not read?14:51
RandalSchwartz runs off to work14:51
redondos yeah, anyway.14:51
pilif well... there's always .bashrc vs. .profile14:52
RandalSchwartz see my comment above about bash14:52
and gnu14:52
pilif like .zshrc vs. .profile14:52
RandalSchwartz I won't touch bash with a 100 foot pole14:52
redondos yes, ok, bash sucks.14:52
RandalSchwartz it sucks in the same way that csh sucks14:52
pilif actually, I'm inclined to agree on that one.14:52
RandalSchwartz designed by people who didn't understand that DWIM escape sequences are bad14:52
but that's another story14:52
RandalSchwartz wanders off for real14:53
ironfroggy can i search commits by the contents of the diffs?14:53
maybe that will help me narrow down this change14:53
njal joined14:53
intripoon left14:54
CodeOfficer joined14:54
bentob0x what is the best, 'cleanest' way to use git on Windows? msysgit or cygwin?14:54
pilif ironfroggy: I don't know about that, but there's always git blame14:54
jengelh probably cygwin because it provides more nix semantics14:54
[2]intripoon joined14:54
jast the only downside with cygwin is that it pretends all files are executable14:55
bdiego joined14:55
jast so you should set core.filemode to false14:55
rdavila joined14:56
naeu joined14:57
intripoon joined14:57
stousetstouset|away14:58
Arme[0]Arme[N]14:59
pygi left14:59
stouset|awaystouset14:59
Kbyte left15:01
CodeOfficer left15:04
xyzzy_ left15:04
Catfish left15:04
Tv left15:04
lu_zero left15:04
Ademan left15:04
BabelO left15:04
adante left15:04
cnk left15:04
brendon_ left15:04
mattf left15:04
sscj left15:04
Beket left15:05
Mikachu ironfroggy: git log -Sword15:05
heh, "word" is the word you want to search for there, that is15:06
GregersP left15:07
CodeOfficer joined15:07
xyzzy_ joined15:07
Catfish joined15:07
Tv joined15:07
lu_zero joined15:07
Ademan joined15:07
BabelO joined15:07
adante joined15:07
sscj joined15:07
cnk joined15:07
brendon_ joined15:07
mattf joined15:07
cupsh joined15:07
afton joined15:07
jmspeex joined15:07
_bob_ joined15:07
bronson joined15:07
[1]intripoon left15:08
agib does a tracking branch work for push operations too? I basically want to keep 2 branches on my local repository and github... (a master branch for deployment of my production rails application and a staging branch for deployment to my staging server). Does this make any sense?15:08
pergesu left15:08
mattf afaik, tracking information isn't taken into account when pushing15:09
vbabiy-laptop Hey guys if want to reset a file to back to what it was a few commits ago how would i do that15:09
Mikachu vbabiy-laptop: git checkout <a few commits ago> -- thefile15:09
mattf if the local and remote branches have the same name push just works, if they don't you need to push to a specific remote ref15:09
agib, (above)15:10
vbabiy-laptop Mikachu: and what if i want to bring that forward to the current master15:10
Mikachu vbabiy-laptop: that's what i said how to do15:10
gass RandalSchwartz, i'm back :)15:10
mattf vbabiy-laptop, <a few commits ago> == HEAD^^^, a couple ago == HEAD^^15:11
pilif gass, but by now, he is gone15:11
agib mattf: how can I create a branch on a remote repository? (github)15:11
mattf agib, just push to it15:11
gass pilif, oh ..15:11
brosner joined15:11
pilif gass: he was pretty clear in the instrucations he gave though. Just do what he said and you'll be fine15:11
ironfroggy left15:12
pilif s/instrucations/instructions/15:12
gass pilif, lol ... short time git user here. ...15:12
madewokherd joined15:12
agib mattf: git push origin staging_branch ?15:12
hector joined15:12
agib ahh ok15:13
thank you15:13
mattf agib, if you want to push your current branch, yeah15:13
[1]intripoon joined15:13
[2]intripoon left15:14
tvachon joined15:14
[2]intripoon joined15:14
gass pilif, so i got it ... i think ... i do checkout -b local_branch origin/remote_branch15:14
pilif, and give the sabe name15:14
bobesponja joined15:15
piclez_ left15:15
Cacheaway joined15:15
gass sabe = same15:15
piclez_ joined15:15
SRabbelier Well, it friggin took me 2 hours, but now I do have a super-sweet http://repo.or.cz/git-browser/by-commit.html?r=git-stats.git !15:17
intripoon left15:18
Sho_ left15:18
ebel_ joined15:18
ebel left15:20
ebel_ebel15:20
intripoon joined15:20
pombreda1 joined15:22
markkalderon joined15:22
kumbayo joined15:24
Sho_ joined15:25
venger left15:25
Cacheaway is there a way to undo a merge?15:26
SRabbelier Cacheaway: "git reset --hard HEAD^" will clobber your checkout and set it to before the merge15:26
jpeeler joined15:26
SRabbelier Cacheaway: assuming the merge is the last thing you did15:26
Eduard_Munteanu Cacheaway, a merge is marked by a commit, so you can use git-reset15:26
Cacheaway SRabbelier: thanks a lot15:27
SRabbelier Cacheaway: yw :)15:27
Cacheaway I was on the right track, just forgot about the ^ notation15:27
SRabbelier Cacheaway: ah, you couldof also used the reflog15:27
queso joined15:29
Mikachu Cacheaway: if the merge conflicted and you want to abort it, use just git reset --hard, no HEAD^15:30
SRabbelier Cacheaway: replying to what Mikachu said: that is because if there is a conflict no commit has been made yet15:30
charon left15:31
Eduard_Munteanu How can I undo a git-push?15:31
venger joined15:31
[1]intripoon left15:32
gza joined15:32
gza morning15:32
Mikachu Eduard_Munteanu: git push remote anysha1:refname15:32
lea_w left15:32
Eduard_Munteanu Mikachu, well, the repo was empty before that, so can I use 00000 as the dest ref?15:33
venger if it want to pull all commits from "stage" (a repo based on master) into "master" would I run "git pull stage master"?15:33
SRabbelier Eduard_Munteanu: you can delete the branch15:33
Mikachu Eduard_Munteanu: to delete a branch, git push remote :branch15:33
Eduard_Munteanu Oh, thanks to both of you.15:33
[2]intripoon left15:33
SRabbelier yw15:33
Mikachu: nice teamwork there :P15:33
intripoon left15:35
pombreda left15:35
venger *or* could I run "git merge stage" while master is the current HEAD?15:38
vmiklos venger: git checkout master; git merge strage15:38
exactly.15:38
venger ok thanks15:38
johan-s joined15:38
ruphy left15:38
gza Anybody here using gitosis (or something else?) for an intranet?15:38
SRabbelier gza: probably a bunch of people, but it's best to just ask your question ;)15:39
bugfux joined15:39
venger vmiklos, so is it that git pull is preferred for pulling remote branch commits?15:40
gza Any links to gitosis sites?15:40
JonathanT left15:40
tvachon left15:40
vmiklos venger: pull is fetch + merge15:40
JonathanT joined15:41
venger aye15:41
vmiklos if you merge a local branch, then fetch is a no-op, so it's possible but isn't too logical15:41
iirc 'git pull . stage' would still work..15:41
venger gza: I run it. http://weblog.techno-weenie.net/2007/12/25/moving-to-git, http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way,15:41
mando joined15:42
Eduard_Munteanu left15:42
biz using gitosis, is there a way to split the 'writable =' line in the config into multiple lines? with lots of projects a single line is quite unclear on a short look15:43
Mikachu biz: did you try if it works already?15:44
biz Mikachu: No.15:44
chrisb joined15:45
gza venger: cool thanks...putting together a paper to argue moving to Git15:47
github, gitosis is one of the points15:48
venger well are you going to put it into practice first? one cool things is msys (MINGW32) on windows clients works quite nicely for me against my remote linux repo15:49
gza I hope we can try out git with a few projects and possibly use git-svn15:50
championdusk joined15:53
hobbes006 left15:53
championdusk hello, how can I do a git pull and force all overwrites?15:54
gza most are on mac...but we have a few windows users...and yes that tool is point as well15:54
vmiklos git fetch origin; git reset --hard origin/master?15:54
gza venger: here's the document so far....thoughts? http://pastie.org/21228615:54
vmiklos or something like that15:54
pombreda1 left15:56
biz Mikachu: Seems like simple multipe 'writable = foo' lines don't work15:56
Mikachu okay15:56
venger gza have you watched the Linus git youtube video? just add his points on how its different and why its better because its "distributed"15:57
redondos left15:57
gza well I'm not really arguing SVN vs. Git....I have to argue Git vs. Mercurial15:57
vmiklos haha15:58
that's harder :)15:58
gza both are distributed...but I think there's more development and adoption of Git15:58
which should mean better docs, more productivity tools etc...15:58
krawek joined15:59
digitalhobbit joined16:00
kumbayo left16:00
cannonball joined16:02
gza I think I have an error in that doc...16:04
FunkeeMonk left16:04
pombreda joined16:05
gza I called gitosis an open source github like system...16:06
I think gitorious.org may be something more in line with that?16:06
[1]intripoon joined16:06
mcella left16:07
EmilMedve left16:07
EmilMedve joined16:07
tvachon joined16:07
ruphy joined16:07
fhobia joined16:09
hagna joined16:13
hagna why doesn't git use pack files by default? I have to repack and prune manually?16:13
alley_cat joined16:14
quesoqueso|away16:14
[2]intripoon joined16:15
k0001 joined16:21
RaceCondition joined16:22
k0001 left16:23
jbunster hagna: no. It packs from time to time.16:23
k0001 joined16:23
warlock_mza joined16:23
d0k_ joined16:24
dato there is nothing like bzr shelve for git, is there? (is like an interactive stash, selecting what to stash away)16:25
priidu left16:25
hagna jbunster: oh I didn't see that here http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#git-concepts16:27
jbunster: good to know16:27
priidu joined16:29
away left16:30
Arme[N] left16:31
piclez_ left16:32
piclez_ joined16:32
d0k left16:33
hagna left16:36
hobbes006 joined16:37
[2]intripoon left16:37
timocratic joined16:38
nud left16:39
[1]intripoon left16:40
mithro joined16:40
madewokherd left16:40
madewokherd joined16:40
ngng joined16:41
pombreda left16:42
naeu left16:42
bronson_ joined16:43
FullmoonMisha16:43
rubydiamond joined16:43
queso|awayqueso16:44
reel_ left16:46
koke left16:48
jeckel joined16:48
lea_w joined16:49
eternaleye joined16:49
igh joined16:50
EmilMedve1 joined16:50
gberdyshev joined16:51
fhobia left16:52
EmilMedve left16:52
EmilMedve1EmilMedve16:52
holizz How can I get hold of the summary that git push displays? i.e. the "931cfcb..bbd347d" part (from a post-update script). Or at least a way to convert a sha1 to an unambiguous partial sha1.16:56
igh left16:57
Misha left16:59
_zack left16:59
ebel left17:00
cedricv left17:02
warlock_mza left17:03
bugfux left17:05
charon joined17:05
elliottcable joined17:06
elliottcable left17:06
elliottcable joined17:06
cedricv joined17:07
cedricv left17:07
l0verb0y joined17:09
RaceCondition left17:11
JonathanT left17:12
mithro left17:13
docwhat joined17:13
docwhat Hello!17:13
quesoqueso|away17:13
eternaleye_ joined17:13
docwhat Is there a way to get the remote repository a branch (specifically the current branch) is tracking?17:13
hagna joined17:15
eternaleye left17:15
felixflores left17:17
panagos left17:18
RaceCondition joined17:20
_graham_ joined17:20
elliottcable left17:23
elliottcable joined17:24
felixflores joined17:25
elliottcable left17:25
elliottcable joined17:25
lea_w left17:25
koke joined17:26
deavid left17:26
stousetstouset|away17:26
elliottcable left17:27
elliottcable joined17:27
ropiku joined17:28
ropiku Hello, how can you manually resolve merge conflicts ?17:28
Arjen ropiku: Find the conflict markers ('>>>>>>>>>' and '<<<<<<<<<<'), fix it, git add the file, done17:29
docwhat: git remote show origin ?17:29
vbgunz left17:29
docwhat no...17:30
ropiku Arjen, thanks, i'll try17:30
robinr joined17:30
docwhat Arjen: I'm looking for something that returns "origin/master" from the branch "master"17:31
oh wait, I typed your command wrong.17:31
Arjen: Yeah, that's close...The info could be gotten from there, though it's an ugly and less-robust-than-I'd-like parse.17:32
ruphy[[17:32
[[ruphy17:32
Arjen docwhat: It was just off the top of my head, maybe there's some plumbing command17:34
docwhat I didn't mean to disparage; thank you for the help. :-)17:35
queso|awayqueso17:35
simmel joined17:35
ropiku And how can you fix a 'entry not uptodate' ? It doesn't add >> markers ?17:38
Fullmoon joined17:38
joevandyk_ joined17:39
thiago_home joined17:39
elliottcable left17:39
elliottcable joined17:40
stouset|awaystouset17:40
joeyb joined17:40
Ilari ropiku: What operation gave those 'entry not uptodate' things? Merge?17:41
ropiku Ilari, git pull (and git merge remotes/origin/master)17:41
Ilari ropiku: Pull/Merge with local modifications in tree is not recommended.17:42
Beket joined17:42
Ilari ropiku: ... Uncommitted modifications, that is.17:42
ropiku Ilari, thanks17:43
_zack joined17:43
vbgunz joined17:44
Ilari ropiku: AFAIK, with merge (including merging pull), it is not always an error.17:44
joeyb Has anybody seen issues where you add a submodule to a project that already has submodules and other folks who are doing fetches/pulls don't get the new submodule (despite git submodule init/update's being run) but people who do fresh clones *do* (get all the submodules)?17:44
(Sorry for barging in with a question straight away! :))17:44
Ilari ropiku: If you have local modificications, there is no easy way to then back off the merge without losing those modifications.17:44
Tv joeyb: you *do* know that it isn't automatic, i hope..17:45
ropiku Ilari, thanks, i'll commit then merge17:45
gza What are the names of the native Java and Ruby apis for Git?17:45
Ilari ropiku: Also see rebase (which IIRC is strict about local changes). It gives cleaner history (or causes complaints from others, depending on use.) :-)17:46
gza: AFAIK, Java is Jgit. And there are two Ruby ones...17:47
joeyb left17:47
jaybee_ joined17:47
jaybee_ Tv: thank you for your response! "automatic" in what sense? shouldn't a git submodule init + git submodule update trigger pulling down both updates to existing submodules' HEADs and drawing down any ones added (to the repo that you're pulling from)?17:48
jaybee_joeyb17:48
Tv joeyb: yeah i'm just making sure they understood to *run* those after merge17:48
joeyb Tv: yep! it's strange because clones have the new submodule without issue. but people who are fetching/pulling and doing the init/update routine have the .gitmodules file updated ... but the base dir for the new submodule is not created and of course nothing heads inside on a submodule update call...17:50
nud joined17:50
kewark joined17:50
Tv joeyb: sounds like they didn't run init+update17:50
joeyb: reproduce with a minimal example if you can17:50
bugfux joined17:51
Ilari Isn't that directory created by merge (since there's submodule entry now)?17:51
krawek left17:51
entie joined17:51
Tv bah 2/3 of my usb ports flaked out :(17:51
joeyb Tv: I've confirmed that they *did* run them. Will do! And I'll scour their .git dirs to see if I can find the stopping point. Thank you for your help, just wanted to make sure I wasn't missing the point entirely! :)17:51
Eridius|work joined17:52
pombreda joined17:52
Ilari Tv: What errors they produce?17:52
gza Ilari: JGit is a eclipse plugin?17:52
joeyb Ilari: I'd think so, but it's not there on a merge/pull and it's considered a new dir if you mkdir it manually. I'll dig in and report back if I find anything interesting...17:52
Tv [12658.309629] usb 7-1: new high speed USB device using ehci_hcd and address 617:52
[12673.843061] usb 7-1: device not accepting address 6, error -11017:52
joeyb left17:53
Tv Ilari: repeated 4 times with increasing addresses17:53
Ilari: ehci flaked, uhci works17:53
josb joined17:53
Tv Ilari: (right side 2 ports vs left side 1 port, thinkpad t61)17:53
Ilari Error -110... Hmm...17:53
Mikachu that happened a lot to me when i played with rockbox and kept (dis)connecting my ipod17:53
Tv $ errno 11017:53
ETIMEDOUT17:53
Mikachu eventually i'd run out of ports and have to reboot :)17:53
Tv i'm plugging in a usb hub..17:54
Ilari Hmm... And ECHI and USB support isn't a module one could reload? :-/17:54
Tv Ilari: it is but i don't want to risk oops right now17:54
Mikachu if you wanted to risk it, i would try reconnecting the hub17:55
but it might be a bad idea17:55
Tv oh i've been plugging things on/off the bad 2 ports17:55
just that timeout thing17:55
modoc joined17:55
Tv and i'm actively using the good port17:55
jkp how can i see the outstanding conflicts in an open rebase?17:58
Tv git status17:58
pygi joined17:58
jkp Tv: doesnt show me anything17:58
elliottcable left17:58
Tv jkp: then you ain't got any17:58
jkp if i do a git rebase --continue...it tells me "You must edit all merge conflicts and then17:58
Ilari How badly oops screws the kernel varies. It can range from no apparent effect besides program crashing to whole machine locking up straight away...17:58
jkp "17:58
Tv hmm17:58
elliottcable joined17:58
_graham_ left17:59
jkp Tv: shows lots of modified files in status, and i added the files i had to manually resolve17:59
but i cant see whats left to do17:59
venger left17:59
Tv jkp: honestly, i usually use an emacs git mode that makes it look pretty ;)17:59
Ademan left17:59
Ilari jkp: In what section the modified entries are?18:00
jkp Ilari: i dont follow18:00
they are all in "Changes to be committed"18:00
everything is green, ive added them all18:01
gza hmmm....can't find Java Git Api...google not finding anything18:01
jkp i shouldnt have to manually commit this lot should it?18:01
*should i18:01
Ilari jkp: 'git ls-files --unmerged' shows nothing?18:01
joeyb joined18:01
xaxxon left18:02
ricky joined18:02
jkp Ilari: trying it again from the top18:02
elliottcable left18:03
elliottcable joined18:03
jkp worked this time18:05
elliottcable left18:06
elliottcable joined18:06
Debolaz tries various creative methods to pack this impossible to pack repo.18:06
eean joined18:07
eean How can I have a conflict when my local version doesn't have any changes?18:07
zhynn joined18:07
elliottcableec18:07
Ilari Debolaz: How it is 'impossible to pack'?18:08
Debolaz: Contains "exotic objects"?18:08
Debolaz Ilari: Huge repo, only 512MB ram on the machine.18:08
rlb3_ left18:08
Tv Debolaz: i have this alias: repack-nice = !nice -19 ionice -n 7 git repack -d --window-memory=20m --max-pack-size=20018:08
lu_zero left18:09
Tv Debolaz: very unscientific but seems to help18:09
Debolaz With git-repack alone, it only counts 10 objects per second.18:09
Way too slow to be useful.18:10
Tv Debolaz: huge amounts of loose objects on a non-hashed filesystem?18:10
Debolaz Huge amounts of loose objects, but the filesystem (UFS2) has hashing. And I was able to tar the entire repo in just three hours, it's only git that's slow.18:11
1.5m objects to be more specific.18:11
modoc I've pulled a repo from a coworker but am having trouble with a submodule.18:11
Tv you can also feed a list of objects to git pack-objects, to make it stop trying to find optimal order18:12
way less efficient packs but gets you going18:12
modoc the dir shows up but doesn't have a .git dir in it18:12
zhynn anyone have a few moments to help a git noob?18:12
Debolaz Tv: That's what I'm trying now.18:12
Tv zhynn: don't ask about asking, just ask18:12
modoc now git pull says 'cannot read object' ... 'it is a submodule'18:12
What can I try to fix this?18:12
Debolaz Tv: Doing it separately for 0*, 1*, 2*, etc, to ensure I don't get memory issues.18:12
zhynn Tv: I find I get better results when asking first. :)18:12
Ilari zhynn: Unless that request gets ETIMEDOUT... :-)18:13
Tv zhynn: generates unnecessary noise on this channel, and people might not even bother to encourage you to ask your real question18:13
zhynn I have done a git clone repo.git. then i do a git checkout v1.0 (a previous version). this seems to change the head reference, but how do I actually get the files of that version?18:13
Tv zhynn: also encourages mentality where your future questions are aimed at the one person who responded, instead of the whole channel18:14
Debolaz I really wish pack-objects were more verbose though. After it's done counting, there's no progress bar or explanation for what's happening for a long time afterwards.18:14
thannoy joined18:14
josb left18:14
Tv zhynn: git checkout will change the working dir contents to match what you requested18:14
zhynn Tv: yes, that's true.18:14
deavid joined18:14
Tv Debolaz: i find it's usually statting the loose objects, at that point18:14
zhynn Tv: is there any output to reflect that other than the "HEAD is now at..." message?18:14
Tv Debolaz: strace is your friend (on linux)18:14
Debolaz Tv: Yes. I just want a progress bar.18:15
Tv zhynn: unix philosophy - tools are silent unless they fail18:15
Debolaz Tv: Some indication of how fast it's going.18:15
Tv: Also, ktrace > strace :-)18:15
strace needs that pesky procfs on most systems.18:15
Tv Debolaz: pack-objects has --progress and --all-progress18:16
Debolaz: if those don't do what you want, then you need to add that feature ;)18:16
zhynn Tv: yes, though it requires that you know all of the things that the tool is intended to do! I didn't know if checkout updated the reference, updated the working directory files, or both. The output told me one but not the other.18:16
Debolaz Tv: --progress and --all-progrerss doesn't mean what one would think they meant.18:16
Tv Debolaz: so you need to add it..18:17
drizzd_ joined18:17
Tv zhynn: "When <paths> are not given, this command switches branches by updating the index and working tree to reflect the specified branch"18:17
...18:17
Debolaz Tv: Hehe, maybe I should. I'm already running a custom svn, might as well throw a few more modifications on it.18:18
RaceCondition left18:18
Debolaz Err..18:19
custom git18:19
Bah, hot in here. :-P18:19
Or even add a flag to disable the stat calls.18:20
lea_w joined18:21
lea_w left18:21
zhynn Tv: Thanks for the help, i appreciate it. I'll get familiar with it, and it will make more sense to me. ;)18:22
lea_w joined18:23
bentob0x left18:24
ehamberg joined18:26
daaku joined18:27
gberdyshev_ joined18:30
ropiku left18:30
drizzd left18:32
_zack left18:33
nud left18:34
zhynn left18:34
sbeyer joined18:34
redondos joined18:35
_zack joined18:35
championdusk To [email@hidden.address] ! [rejected] master -> master (non-fast forward)18:37
error: failed to push to 'git@courtroomconnect.unfuddle.com:courtroomconnect/remotecounsel.git'18:37
wtf18:37
i used to be able to pull/push, now I can only pull18:37
gitte non-fast forward.18:37
championdusk ya, wtF does that mean18:38
gitte Typically means you have to pull first.18:38
Into your master.18:38
championdusk er, how can I force it18:38
gitte Into your master?18:38
championdusk ya18:38
gitte You need to know what branch you are on.18:38
championdusk I want the copy I have on my machine to be the new hotness18:38
master18:38
gitte And a pull succeeds?18:38
championdusk it did18:38
i don't want to pull again18:38
gitte And another pull says it is up-to-date?18:39
Probably not.18:39
lea_w left18:39
championdusk oh18:39
there we go18:39
--force18:39
gitte Well, if you want to do bad things, go ahead.18:39
championdusk that's a bad thing?18:40
gitte But don't ask me to help you, then.18:40
Of course it is.18:40
Tv championdusk: you're overwriting work by others18:40
gitte Because you do not understand what you are doing there.18:40
championdusk i'm the only one working on this18:40
Tv doesn't look like it18:40
gitte You would lose what is on the remote and not local.18:40
championdusk ok god18:40
Tv championdusk: perhaps you rebase with reckless abandon?18:40
championdusk rebase?18:41
Tv i guess not, then18:41
championdusk quite18:41
hold on, I am going to need my monocle and top hat to continue this conversation18:41
eikonos left18:41
gitte championdusk: why don't you just look what the branches look like?18:43
I mean, it is just a matter of "git fetch origin master && gitk FETCH_HEAD master"18:43
Then you should see exactly what is happening.18:43
And then you should have the perfect precondition to form a decision as to what to do next.18:43
p4tux joined18:44
gberdyshev left18:44
RaceCondition joined18:44
RobotDeathSquad left18:44
championdusk let me give her a whirl18:45
david_koontz joined18:48
entie_ joined18:48
bugfux left18:53
unreal left19:01
unreal joined19:01
eikonos joined19:04
capisce left19:04
entie left19:05
nud joined19:06
arun joined19:07
felixflores left19:09
bronson_ left19:09
felixflores joined19:10
peeja joined19:10
daaku left19:11
jbunster left19:11
Fullmoon left19:16
lu_zero joined19:17
nadim joined19:19
Xyrio left19:20
jkp_ joined19:22
priidu left19:22
arun left19:27
capisce joined19:28
lea_w joined19:29
rubydiamond left19:29
JonathanT joined19:29
lea_w How can I create a tag object that points to another arbitrary object, not just a commit? (for testing purposes)19:30
Ilari lea_w: Doesn't git tag create such things (if you specify object to tag explicitly)?19:31
Mikachu git tag `git hash-object -w myfile` for example works fine19:32
er, with a tagname in there too19:32
but you can give it any sha1 you want19:32
blahed joined19:33
lea_w Right, thanks!19:33
blahed i am having an awful time trying to get a remote repo setup on leopard server19:33
anyone got a sec?19:33
Ilari blahed: Go ahead.19:34
arun joined19:34
blahed fairly sure i have everything setup the way it needs to be19:34
Ilari blahed: You used 'git --bare init', not 'git init', right?19:34
blahed i have a git user with git-shell19:34
Ilari: i used git init initially on a client computer and decided to move it to the server19:35
should i have just pushed it?19:35
Ilari blahed: You only copied .git part of it?19:35
blahed i just moved the entire folder19:35
scp19:35
joeyb left19:35
jkp left19:36
blahed the entire project folder to be more specfic19:36
peeja left19:36
Ilari blahed: If it still has working tree attached, take the .git out of it 'mv foo/.git foo.git' and then delete the working tree on server (rm -r foo)...19:36
vbgunz left19:37
blahed Ilari: now run git --bare init ?19:38
Ilari blahed: If you taken that .git of it, you already have a repository.19:38
Mikachu i think you have to edit the bare variable in config too19:38
blahed Ilari: i took the .git out of it19:38
Ilari No real need...19:38
darkmod joined19:39
lea_w left19:39
darkmod when i do 'git submodule update' it seems to checkout HEAD^ not HEAD -- any suggestions19:40
Ilari blahed: Then there should be repository on server (likely set up for single user only)...19:40
Sho_ left19:40
Ilari darkmod: It should use the revision recorded in supermodule...19:40
darkmod Ilari: where is it recorded -- I can't find it in the .gitmodule file -- is it in the index?19:41
yofel joined19:41
Ilari darkmod: Yes, it is in index. To update it, check out the revision you want in submodule and then 'git add path/submodule'. NO trailing '/'!19:41
blahed Ilari: maybe i have explained things wrong, i am trying to create a repository for my projects on a remote server that i have admin access to19:42
darkmod Ilari: oh, i see.. thanks, had a wrong idea of what git submodule update did. makes sense now. thanks!19:42
blahed Ilari: i have a /var/git setup on that server with git:git setup as owner:group19:42
Ilari: i want my projects stored in /var/git/19:43
darkmod left19:43
Ilari blahed: What isn't working then?19:43
blahed Ilari: well let me just start fresh then.... all of that is setup user/group and the repo location /var/git/19:44
Gorbulas left19:44
blahed Ilari: what should i do next? should i push from my client?19:44
Ilari: is that how i need to get it to the server?19:44
Ilari blahed: If you want multiple users (as in, distinct UIDs) to have push access, you should set setgid bit to all directories, give all directories g+rwx and set the shared flag.19:45
blahed: If you copied the repository files to server, it is on the server now...19:45
Sho_ joined19:46
blahed Ilari: okay well i can't clone.... so something isn't working... I want to start fresh19:46
Ilari blahed: What error does clone give?19:46
blahed fatal: The remote end hung up unexpectedly19:46
Ilari blahed: The URL syntax is something like 'ssh://user@host/var/git/repo.git'...19:46
blahed git clone [email@hidden.address]19:47
Ilari blahed: Try dropping that ':'...19:47
blahed same thing19:48
gza .19:48
Ilari gza: Found that Java API?19:49
blahed: And still don't work if you try 'ssh://git@10.20.30.25/var/git/intranet_content'?19:50
bremner blahed: can you try setting the user in ~/.ssh/config?19:51
blahed Ilari: still no19:51
bremner: setting what user?19:52
bremner blahed: git19:52
blahed bremner: i can do a direct ssh connection just fine to the server19:52
as the git user19:52
so i don't see how it could have anything to do with ssh19:53
bremner blahed: I am curious if the problem is with git's parsing of the url. We had this discussion with another user a few days ago19:53
gza Ilari: I'm in an argument right now about substandard windows support for Git...19:53
bryanl joined19:53
blahed bremner: well i am following a screencast from peepcode19:53
RaceCondition left19:53
Ilari blahed: What is full path of repository (the directory containg stuff like 'objects' and 'refs') on server?19:54
d0k_ left19:54
blahed /var/git/intranet_content19:55
Ilari blahed: Are permissions correct?19:55
bremner blahed: is that a bare repository? (i.e. does it have a .git subdirectory?)19:55
blahed Ilari: yeah..... chown -R git:git on the project19:55
bremner: it does have .git19:55
inside it19:55
bremner blahed: I expect that might be problematic19:56
blahed so, i should remove it?19:56
bremner blahed: actually, let me rephrase. I have only ever cloned remote bare repos.19:56
blahed: no, don't remove the .git19:56
markkalderon left19:56
bremner blahed: try git clone --bare intranet_content intranet_content.git19:57
Ilari blahed: Wrong order.19:57
blahed well on the screencast he has a project on his client computer19:57
bremner curses19:57
Ilari blahed: 'git --bare clone intranet_content intranet_content.git'.19:57
bremner llari: thanks, I always mess that up/19:57
blahed he creates /var/git on the server, scps the project to the server, chowns it to git:git and then he clones it on the client19:57
Ilari That --bare after command might actually work in 1.5.6, but not all run that recent versions...19:58
njal left20:00
blahed no that didn't work either20:01
is there not a way to debug this.... can i not do verbose or something to see what is going on20:01
cedricv joined20:02
Ilari blahed: If that clone on server doesn't work, then you got something seriously wrong...20:02
blahed Ilari: i should clone on the server?20:02
Ilari blahed: It was for debugging...20:03
blahed ok20:03
Ilari blahed: And maybe use that 'git --bare clone', so the clone would be usable for pushing...20:03
blahed: Also, maybe use git account on server so it gets perms right...20:04
blahed jesus, ........ subversion is calling me to come back20:05
Ilari blahed: Also, maybe check out 'gitosis'?20:06
gram and then when i get hooked on 16:9 they are going to take that away and it'll all be 2.39:120:06
wrong channel20:06
ychat joined20:07
felixflores left20:07
blahed Ilari: the bare clone did work20:07
i had to sudo it though because /var/git is owned by git20:07
blowery joined20:08
felixflores joined20:08
Modius_Modius20:08
felixflores left20:08
Ilari blahed: Can you clone the copy you just made?20:08
blahed: From another computer?20:08
blowery is there a way to get a version number corresponding to the most recent sha1 for a subtree inside a git repo?20:08
RandalSchwartz subtree?20:09
blowery like if i have /foo/bar and /foo/baz20:09
RandalSchwartz sha1s apply only to the whole repo20:09
although you can ask what the sha1 is for a subtree20:09
blowery i want to get the equivalent of a revision number for /foo/baz/ and all the stuff inside it20:09
chris2 joined20:10
ForsakenSoul left20:10
blowery to back up a bit, i have a directory full of javascript and i'm trying to build a unique url for that directory. i want it to be /js/$rev/blah20:10
RandalSchwartz hmm. not git-show20:10
where is it20:10
blowery with svn, we used svnversion -c20:10
bremner blahed: Iust tested it, and git clone user@hostname:/path/to/foo.git works for me20:10
s/lust/just20:11
Ilari bremner: Starting from filesystem root?20:11
RandalSchwartz ahh. git-rev-parse HEAD:20:11
that'll be the sha1 of the top of the tree20:11
bremner llari: yes20:11
peeja joined20:11
blowery RandalSchwartz: thanks, i'll poke through the man page for that20:11
RandalSchwartz git-rev-parse HEAD:perl will be the sha1 of the perl/* tree20:11
pasky or git ls-tree -d HEAD perl20:12
bremner llari: so user@host:/var/git/my_repo20:12
pasky timtowtdi20:12
RandalSchwartz why not just use the commit sha1?20:12
it's pretty hard to find a commit given a subtree SHA120:12
Ilari bremner: You use sans-serif font, don't you? :-)20:12
RandalSchwartz (I think)20:12
although it's easy to go the other way20:12
championdusk ok, so when I try a 'git push' it says everything is up to date.. but it's not, there is a ton of stuff on my local machine that isn't in the repo20:13
pasky well, you can get a _set_ of commits given a subtree SHA1, but then it is especially not easy to decide which one to pick ;)20:13
blowery RandalSchwartz: i'd need to know the last commit to affect the subtree. if i could find that, it would work.20:13
bremner Ilari: oops, guilty20:13
championdusk git status, git add (enter new file name here) show that everything is already up to day20:13
RandalSchwartz that's an expensive operation20:13
and "last" in what context?20:13
pasky blowery: how do you define "last" wrt. branches?20:13
bremner kicks konversation20:13
RandalSchwartz right20:13
janm left20:13
RandalSchwartz you *do* understand that git commits are a DAG, right?20:13
blowery pasky: most recent on a known branch20:13
RandalSchwartz branches are an illusion20:13
Pieter slow news day20:14
RandalSchwartz if you commit 1 2 3 on top of A B C20:14
then I commit 7 8 9 on top of A B C20:14
Ilari Most recent on given branch is well defined (its the commit pointed by branch tip pointer).20:14
RandalSchwartz and we merge20:14
is 3 or 9 later?20:14
and if you're only looking at your repo, 3 will be later20:15
and if I'm only looking at my repo, 9 will be later20:15
and what if you rebase20:15
peeja left20:15
pasky blowery: anyway, I think git log --pretty=format:%h Documentation | head -n 1 might be as good for you as anything?20:15
RandalSchwartz yeah "latest commit on a branch" means you aren't git-thinking yet20:15
lorandi left20:15
pasky it will pick one of the sensible candidates at random ;)20:15
RandalSchwartz yeah - at random. good.20:16
kewarkkrawek20:16
Pieter a branch is just a head20:16
blowery RandalSchwartz: ? none of that matters for me. i just need a number to shove in a url and i need to change that number when the subtree changes20:16
i don't really care about "latest"20:16
RandalSchwartz then just use the SHA1 of the subtree20:16
blowery sweet20:16
RandalSchwartz as already stated20:16
don't try to get a date from it20:16
it won't go out with you!20:16
blowery hah20:16
no worries, i dont need a date20:16
jengelh a time perhaps?20:17
blowery just a number to jam in a url20:17
RandalSchwartz although I'm wondering why you're publishing a subtree20:17
maybe your git repo is partitioned wrong20:17
perhaps you really wanted subprojects instead20:17
blowery it's part of a biggish web project20:18
currently hosted in svn20:18
pasky frowns at subprojects20:18
RandalSchwartz averts his eyes at the mention of SVN20:18
pasky subprojects are for extreme cases ;)20:18
RandalSchwartz eeek!20:18
Pieter quick, do the one / two problems quote!20:18
blahed bremner: no luck cloning remotely from the new clone on the server20:18
if that makes any sense20:18
blowery when we publish the app, we grab the latest svn commit for various staticish content subtree and use those to generate unique urls20:18
so like say i have some javascript in /js and the most recent svn commit in /js was 1234, we build a url like /js/r1234/blah20:19
RandalSchwartz continues to shield his eyes20:19
jengelh foreach (mention of svn) { roll }20:19
blowery hey man, i'm just explaining current process. i'm not defending it.20:19
:)20:19
jengelh but we ain't supporting it :p20:19
Pieter the problem is that git really doesn't work like svn. So if you want to really work with git, you'll have to drop svn and assume a new workflow20:20
blowery from what Randal's said so far, it seems the sha1 for the subtree is perfectly suited to what we really are trying to do, assuming it changes when anything in the subtree changes20:20
thiago_home blowery: use the SHA-1 of the commit20:20
blowery: it points to the root of the repository though20:20
modoc How can I see if a local branch references a remote branch?20:21
hagna_ joined20:21
blowery we also need this magical number to not change between commits that do not affect the subtree20:21
bremner blahed: hmm, sorry that's all I got. You already said ssh works, by which I assume you mean ssh git@host works.20:21
Ilari blowery: Yes, changing anything in subtree will change subtree SHA (if it does not, I would like to see those subtrees). :-)20:21
blowery awesome20:21
blahed bremner: yup20:21
RandalSchwartz it's technically feasible for it not to change a SHA120:21
but it would be very difficult to find20:21
felixflores joined20:21
RandalSchwartz and pretty obvious what went wrong. :)20:22
blahed i am like...... almost ready to give up on this remote repository mess, but i need it for capistrano20:22
yofel_ joined20:22
blowery sweet. that's perfect. i never liked the way we did it with svn because the number increments .. anyway. off to try it.20:23
thanks for the pointers20:23
thiago_home modoc: cat .git/config20:23
modoc thiago_home: thanks20:23
markkalderon joined20:24
Pieter hmm20:26
who has heard of libgitcore?20:26
yofel left20:28
yofel_yofel20:28
blahed attttttttthhhhhhhhhhhh20:30
i am ill20:30
hagna left20:31
tenpaiyomi left20:32
Pieter they've done quite some work at libifying git20:33
but I've never heard of it before20:33
alley_cat left20:33
Beket left20:35
felixflores left20:35
championdusk something got f'd up in my git repo... I see all the files I just pushed, but when I pull, it says uptodate, it is not uptodate20:36
how can I check if im on the right version, etc20:36
i also have a 102 fever and my code review is in 30 minutes :)20:37
johnw joined20:37
Ilari championdusk: Are you pulling over HTTP?20:37
championdusk Ilari: not sure, all command line20:37
Ilari championdusk: Are you trying to pull to same repository you pushed from?20:38
championdusk yes20:38
i see my code in the repo, it is the most up to date20:38
however, pulling says upto date, and missed all of it20:38
bartman what branch are you on?20:39
Mikachu championdusk: are you pushing into a repo with a working tree?20:39
championdusk im a git newb (1 week) so I'm not sure20:39
cedricv left20:39
bugfux joined20:39
bartman championdusk: run 'git branch', which branch has a star on it20:39
championdusk i dont remember doing anything other than the initial setup20:39
master20:39
only branch20:39
both machines20:39
mine + staging20:39
bartman and what does this say: git config remote.origin.push20:40
championdusk nothing20:40
bartman and how about: git config branch.master.merge20:40
championdusk the weird thing is, my new changes (like a quick edit to routes.rb) get caught and commited and pushed20:40
bartman: nothing20:40
bartman that's probably why it's not merging anything20:41
can you do a: git diff master origin/master20:41
championdusk bartman: which machine?20:41
bartman does it show the kinds of changes you'd expect to have after the merge?20:41
local20:41
Mikachu i think he pushed into a working tree and then committed, which makes git create a commit that reverts all the changes he pushed20:41
championdusk fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree.20:41
Use '--' to separate paths from revisions20:41
bartman championdusk: do you run commands on the remote?20:41
championdusk yes20:41
I am sshd in now20:42
joeyb joined20:42
bartman Mikachu is probably right then20:42
championdusk ok, how can I fix my stupidity20:42
bartman run gitk, confirm that you have a commit that removes your changes20:42
championdusk what is gitk20:43
bartman :)20:43
championdusk oh my god what the H is this20:43
mithro joined20:43
Mikachu gets the pop corn20:43
bartman Mikachu: can I have some?20:43
championdusk me too?20:43
i am on way too many percs20:43
to be dealing with this right now20:43
i have no idea what im looking for20:44
the thing is, it's IN the repo20:44
all my code is in the repo, I just need to get it onto the staging server20:44
bartman ssh to the server, do a git checkout -f20:45
championdusk now this might be a dumb question, but there have been guys working on the database for about a week straight20:45
mysql20:45
bartman I don't exactly know what's there, but I think you're pushing local maser to remote's master20:45
championdusk none of their stuff will get blown away, right?20:45
Your branch is behind the tracked remote branch 'origin/master' by 5 commits,20:46
and can be fast-forwarded.20:46
bartman you should probably tar up the dir first20:46
championdusk how can I backup the db too20:46
rikur joined20:46
bartman just tar up the tree20:46
the .git dir contains everything20:46
championdusk i'm using mysql20:46
bartman huh?20:46
championdusk right20:46
bartman what does mysql have to do with git?20:47
not-xjjk joined20:47
championdusk nothing20:47
i want to backup the mysql table20:47
bartman redirects championdusk to #mysql20:47
championdusk haha20:47
i see your point20:48
ok, i tared up my dir20:48
bartman you can always go back to that if you break something20:48
championdusk ya20:48
ok, so when I do git checkout -f, I get20:48
Your branch is behind the tracked remote branch 'origin/master' by 5 commits,20:48
and can be fast-forwarded.20:48
bartman ok, so let's fast forward it... git merge origin/master20:49
championdusk that did a bunch of crap20:49
peeja joined20:49
bartman it brought all the changes from origin/master into master and updated the working tree20:49
championdusk cool20:50
so now git pull?20:50
bartman do you need to?20:50
championdusk i don't know20:50
bartman I think that synced it up with the other repo20:50
you see 'origin/master' was already tracking the master branch on origin20:50
but git didn't know you wanted it merged20:51
championdusk that broke my entire app20:51
xyzzy_xyzzy4220:51
bartman when you said "that did a bunch of crap", did it by chance fail?20:52
championdusk no20:53
400 files changed, 20188 insertions(+), 14823 deletions(-)20:53
the db hook broke20:53
bartman wow20:54
did you expect that many changes?20:54
holizz left20:54
championdusk yes20:54
bartman ok20:54
championdusk I installed rails 2.1 in the vendor dir20:54
bartman I see20:54
so what's not working?20:54
did you maybe not commit all the files on the first machine?20:55
championdusk it can't connect to the database20:55
i had the thing IGNORE my database yml file20:55
why does it do this crap20:55
bartman please narrow your questions to stay on topic :)20:55
(for this channel)20:55
championdusk i have a 102 fever, a deadline in 7 minutes, and a broken db20:56
bartman I know little about your database and less about your ruby app20:56
blowery left20:56
pilifpilif|away20:56
bartman you're saying that it works on one end, but not the other?20:57
championdusk right20:57
it can't connect to the database20:57
bartman so on the computer on which you say it's complete, can you run 'git status'20:57
do you have a lot of files listed in 'Untracked files:'20:57
championdusk it overwrote my database.yml file in the repo, I thought .gitignore was supposed to... uhh.. ignore the file names you put in there20:58
sure, sec20:58
eean left20:58
peeja left20:58
championdusk nay, all clean20:58
ebel joined20:58
docwhat left20:58
bartman so, ' git clean -d -x -n ' does not claim it will remove files?20:58
championdusk on local?20:59
bartman yes20:59
not-xjjk left20:59
championdusk ya, some old vim .swp files20:59
but nothing important20:59
sbodo_w joined21:00
bartman ok, so everything is committed21:00
Eridius|_ joined21:00
championdusk ya21:00
bartman let's do a manual push... git push origin master:refs/heads/tmp21:00
that should create a 'tmp' branch on the remote21:00
then ssh there and run: git checkout -f tmp21:01
championdusk well, this is the error i am getting21:01
Mysql::Error (Unknown database 'utf8'):21:01
bartman is git giving you this error?21:01
championdusk my biggest fear is wiping the database21:01
no, my rails app, I beleive you helped me :)21:02
bartman this is #git21:02
:)21:02
championdusk i know!21:02
thank man21:02
bartman good luck21:02
championdusk im not touch anything else21:02
until i know their database is safe21:02
not-xjjk joined21:02
Eridius|work left21:03
xjjk left21:03
Eridius|_Eridius|work21:03
raalkml joined21:06
rukubites joined21:06
raalkml left21:06
felixflores joined21:06
rukubites A question about git-svn: I want to set the svn property svn:eol-style=native on my new files (preferably automatically), using git. How?21:08
Eridius|work AFAIK, you can't21:08
felixflores left21:08
rukubites Well at least I don't ask *easy* questions. :)21:09
bobbit32 joined21:12
bobbit32 left21:12
not-xjjk left21:13
xjjk joined21:13
hobbes006 left21:15
thannoy left21:16
l0verb0y left21:16
rukubites Anyone else chime in? I read a blog where someone said they were thinking of adding git-svn propget/set...21:17
blowery joined21:17
wagle joined21:18
jengelh blargh21:18
rukubites alas.21:21
rukubites left21:21
madewokherd left21:21
SRabbelier1 joined21:22
SRabbelier1SRabbelier21:22
holger_ joined21:23
schacon joined21:24
_zack left21:26
madewokherd joined21:28
holger_ newbie question re distributed development - i am a gsoc student who got his own repo which they told me to clone and work in that. it has a copy of master which doesn't update. (cont)21:29
docwhat joined21:29
holger_ my understanding from http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#sharing-development-examples was that i should clone the master repo and set up my private branches to be pushed to my private one.21:30
so what it the preferred way of doing this?21:30
bugfux left21:30
docwhat left21:30
Ilari holger_: Have two remotes registered, one for official upstream repo and one for private repo.21:32
robinr holger_: when you clone you get a bunch of tracking branches, origin/master etc plus a local branch initially set to the same commit as origin/master21:33
when you fetch only origin/master gets updated21:33
master in your clone is "your" branch21:33
entie_ left21:34
hector left21:35
\ask_ joined21:35
holger_ yup, if i clone what they set up for me i only see a master branch. so to pull the real upstream master, i'd need to pull master from origin?21:35
robinr yes21:36
mugwump use git-branch -a21:36
holger_ easy way to make that the default?21:36
mugwump you'll see all the branches it tracks21:36
robinr of course you can "see" it anyway21:36
gitk origin/master21:36
gitk --all etc21:36
holger_ hmm. git pull origin master doesn't give me anything new either. should it track master on the remote side or am i supposed to set that up somehow?21:39
mugwump look at your .git/config21:39
take a look at the "pull =" line21:40
it's mind-numbingly simple once you see what it's doing :)21:40
holger_ hmm. origin seems to be my own repo. so i need another remote with the real upstream repo and set branch master to that? (i tried googling that, but all the docs seem to assume that you want to publish what you already have or that you at least can set up your public repo yourself)21:41
i'm in the reverse situation. it's set up already and i need to figure out how to use it.21:42
mithro_ joined21:43
quesoqueso|away21:43
Ilari holger_: 'git remote add git git://repo.or.cz/alt-git.git', or something like that?21:43
holger_: Add '-f' there as well...21:43
whataboutmark joined21:43
pombreda left21:43
mithro left21:43
stouset left21:43
blahed i need someone to help me debug my clone21:44
holger_ basically, having it pull master from a different repo (the real master) while still publishing everything to my private would do i think.21:44
pombreda joined21:44
blahed tried to setup a remote repo on my internal server21:45
whataboutmark left21:45
Ilari holger_: You have [branch "master"] in .git/config?21:46
holger_: Also, you have remote already registered for the official upstream repo?21:47
holger_ Ilari: branch master yes. it came from the clone of my private repo and currently has remote = origin (which is the private)21:48
Ilari holger_: Alter that to say remote = <whatever nick the public repo has>21:48
vbabiy-laptop left21:49
nedko joined21:50
BabelO left21:50
holger_ ah thanks. that seemed to work.21:51
Ilari holger_: Also, git pull can be used for 'one off' pulls (git pull <remote-nick-or-URL> <branch>). That fetches the specified branch and attempts to merge it into current branch.21:52
deavid left21:52
ph^ left21:55
blahed Ilari: I just need to copy the .git folder to my remote repo server?21:55
malc_ joined21:55
Ilari blahed: The recommended way is to create empty bare repo (git --bare init) on server (using the same user that will do the pushing) and then populate it using push...21:56
blahed Ilari: yeah, well the push failed... i think i am doomed..... i am going to try it with another user21:56
Ilari: i was still getting the fatal: The remote end hung up unexpectedly error21:56
bronson_ joined21:57
Ilari blahed: Try the following 'ssh user@server git --version'. What it prints?21:57
ph^ joined21:57
joeyb left21:57
joeyb joined21:57
blahed Ilari: command not found21:58
xjjk left21:58
blahed Ilari: and of course that doesn't work with the git-shell because that command isn't valid21:59
Ilari blahed: Does it work for some other user?21:59
blahed Ilari: not if you run the command like that, but if you get a shell and then run the command it is valid21:59
Ilari blahed: It must be valid if you run the command like that.22:00
blahed how do you mean?22:00
goibhniu joined22:00
Mikachu if you use git-shell, it would say fatal: unrecognized command 'git --version'22:01
Ilari blahed: The way git invokes the server program on remote side is essentially 'ssh user@host git-<something> <path-to-repo>'.22:01
sbodo_w left22:01
peter_12 joined22:02
peter_12 I'm seeing a few broken unit tests on OS X 10.5 with git 1.5.5. Should I worry?22:02
blahed Ilari: yeah, but if i am using the git user which has git-shell22:02
it shouldn't matter right?22:02
Ilari blahed: IIRC, there was issue with git-shell that it didn't properly initialize PATH...22:03
blahed Ilari: so what do you recommend22:03
not using git-shell?22:03
Ilari blahed: I don't even know how 'deployment systems' would react to finding that user shell is set to 'git-shell'...22:04
Mikachu peter_12: if it involves märchen, no :)22:04
peter_12 Mikachu: "marchen"?22:05
blahed shouldn't matter22:05
if i can get GIT working, the rest will work22:05
jengelh märchen -- fairytales22:06
Pieter I removed the stupid Märchen file in my git clone22:06
It kept bugging me :)22:06
mugwump nothing to do with märz22:07
jengelh definitely not.22:07
strangy joined22:07
Eridius|work Pieter: I just added it to .git/info/exclude ;)22:07
jengelh though the file existence provides testing that utf8 works correctly22:07
Pieter Eridius|work: hmm, I sometimes get a "removed" status thing too22:08
Eridius|work Pieter: if you removed the file, then you would get removed22:08
srid joined22:08
Ilari blahed: Bit dirty but should work: Symlink the git server programs 'git-upload-pack' and 'git-receive-pack' to some directory that is searched for executables by default...22:08
peter_12 can I connect a remote git repository using ssh?22:08
Eridius|work I just added it to .git/info/exclude so it doesn't think its's a new file22:08
srid I have some uncommited changes in my current directory. I don't want to commit them. How do I throw them away (and get back to last commited state of files)?22:09
Eridius|work git reset --hard HEAD22:09
jengelh peter_12: git is transport agnostic as long as you have a fully bidirectional pipe22:09
srid but I want to restore only a particular set of files22:09
Mikachu pOSiX22:09
blahed Ilari: yeah, jeeze22:09
doener_ srid: git checkout -f HEAD -- files22:09
s/-f//22:09
destruct left22:10
cedricv joined22:10
peter_12 so how would i clone a git repository over ssh?22:11
Eridius|work peter_12: by reading the manpages or basic tutorials?22:11
srid doener_: thanks22:11
peter_12 Eridius|work: great answer22:11
Ilari peter_12: 'git clone ssh://user@path/path/to/repo.git'?22:11
peter_12 Ilari: thanks22:11
Eridius|work Ilari: oh come on, if you just hand out answers like candy, nobody will ever learn22:11
note that you don't need the ssh:// part, just user@domain:path/to/repo.git will work22:12
(i.e. scp-style)22:12
ceez left22:12
xjjk joined22:12
peter_12 Eridius|work: then how does it know to use ssh?22:12
it is the default?22:12
Eridius|work because the user@domain:path/to/repo.git format means ssh22:12
peter_12 ok. I didn't know that was always the case22:13
joeyb left22:13
Mikachu you would have if you looked in the man page22:13
JonathanT left22:14
csc` left22:15
eikonos left22:16
ph^ left22:16
Eridius|work left22:20
Eridius|work joined22:20
queso|awayqueso22:20
peeja joined22:21
capisce left22:21
koke left22:26
eikonos joined22:27
blahed left22:29
peeja left22:31
Debolaz When I have created packs with git-pack-objects, can I remove the loose objects manually with a utility like find?22:31
johnw what do you mean by loose objects?22:32
the ones that are now in the pack?22:32
Debolaz The objects used to create the pack files, living in objects/\d\d/*22:32
Ok, I guess \d wasn't the right regexp sequence..22:33
But yeah.22:33
johnw i've never done that, but it sounds like you want to delete the same objects that you passed to git-pack-objects22:33
Mikachu Debolaz: why aren't you using git-repack?22:33
Debolaz Mikachu: Because it fails miserably on this repository.22:33
championdusk left22:33
Mikachu Debolaz: how about git-prune-packed then?22:33
git-prune-packed - Remove extra objects that are already in pack files22:33
Debolaz Also, the pack files I've made, can I just move them manually into the pack/ directory?22:34
And then run git-prune-packed?22:34
Mikachu i think you need to put it in objects/info/packs as well22:34
johnw Debolaz: you can use this script to remove all your packs: http://rafb.net/p/zcJa6I91.html22:35
mugwump Debolaz: if I were you I'd just move the loose object directories out of the way22:35
johnw and then you can git-repack22:35
mugwump or delete them if you've got a tarball22:35
Debolaz johnw: But as I said above, git-repack doesn't work.22:35
mugwump johnw: this is a *massive* repo22:35
Ilari Debolaz: 'git-prune-packed'?22:35
Mikachu Debolaz: why does git-repack fail? is your repo corrupt?22:35
johnw even after you remove all packs?22:35
Debolaz Mikachu: No, the repo is too big.22:35
johnw ahh22:35
can't you tell repack to create multiple pack files?22:35
Mikachu why not use --max-pack-size=200 or so?22:36
Debolaz Ilari: ?22:36
mugwump there's a nice little conversation about it in the backlog if you're interested, johnw22:36
Debolaz Mikachu: Doesn't matter, it doesn't even get past counting the objects in reasonable time.22:36
Ilari Debolaz: IIRC, that command deleted loose objects that exist in packfile...22:36
johnw mugwump: thx22:36
mugwump from about 11 hours ago22:36
Debolaz Ilari: Ah, got a little confused there since it had been suggested, and I thought you wondered what I wanted to do with it... :)22:36
holger joined22:37
Debolaz But if I have a pack file, how do I install it into the repository?22:38
Ilari Debolaz: Pack files need to be named in certain way (git-pack-objects should name them right) and need to have corresponding .idx files moved there too...22:38
Mikachu Debolaz: i guess you want to read git-repack.sh then22:38
Ilari Debolaz: What is name of the packfile? pack-<40 hex digits>.pack?22:38
Mikachu Debolaz: easiest might be to replace the names=$(git pack-objects... line22:38
Debolaz Ilari: Right now, 0-*.pack|idx, 0 being named after objects/0* which was what I told it to pack.22:39
Mikachu ie, you have a list of objects in a file, so put $(cat file | git pack-objects --non-empty $args "$PACKTMP")22:39
Ilari Debolaz: That won't work.22:39
Debolaz I realize that it won't work, I'm asking how I can make it work.22:39
Mikachu i've successfully done that sometime, don't remember why :)22:40
obviously copy git-repack to . first22:40
Ilari Debolaz: Can you give example filename?22:40
Mikachu i think any name is okay as long as you list it in the info file though22:40
Debolaz I replace the 0-*.pack|idx with pack-*.pack|idx, then move it into objects/pack ?22:40
Mikachu it's not like git is going to go and compute the sha1 of the pack file every time it accessses an object in it and go "aha, this is not the right sha1!111"22:41
Ilari Debolaz: If the names have that 40 hex digits, then that could work.22:41
Debolaz Ilari: The hex stuff is there yes, pack-objects generates it automagically after the prefix I specify.22:41
The 0- 1-, etc, has just been so I can keep track of what has been packed.22:42
Ilari Debolaz: Then just rename the files to pack-<...>.pack/.idx and move them to .git/objects/pack...22:42
wereHamster joined22:42
Debolaz Ilari: What about the info file stuff that has been mentioned, does this need to be fixed?22:42
Mikachu am i somehow less trustworthy than Ilari?22:42
sbeyer ;)22:43
wereHamster is there an easy way to find out if a particular commit is part of a tree? in master there is a commit, and I'd like to check if the same patch was applied to a branch22:43
eternaleye_ left22:43
Ilari Debolaz: What info file? If you mean the one in objects/info?22:43
Debolaz Hehe, I was about to comment how I didn't mean to exclude any help.. :)22:43
jast Mikachu, yep... your name is too close to a certain cartoon character.22:43
Mikachu jast: http://www.behindthename.com/name/ilari22:44
Debolaz git-update-server-info I guess does that job?22:44
jast interesting22:44
Mikachu that's a different info file ;)22:44
Debolaz That's the only info thing git-repack touches though?22:45
Mikachu oh hm, yeah maybe that packs file is only for http:// after all22:45
i tried moving it away and nothing broked22:45
sbeyer hmm, is it somehow possible to generate "local tags"?22:45
Mikachu shoots lightning bolts all around22:45
Mikachu sbeyer: git tag mytag sha122:46
then just don't push it ;)22:46
mithro_mithro22:46
mugwump Debolaz: how big was your pack?22:46
sbeyer Mikachu: and how can I assure that git doesn't push the tag when I push a branch? ;)22:47
mugwump esp. vs source files22:47
Mikachu sbeyer: it never pushes tags when you push branches, it only pushes tags when you push tags22:47
jengelh git does not push tags by default22:47
sbeyer Mikachu: hmm I'm too unsure about "git push" to risk ;)22:47
Debolaz mugwump: Packing by objects/0*, the pack files gets roughly 180MB large.22:47
Mikachu Debolaz: git count-objects -v?22:47
eternaleye_ joined22:48
mugwump 1.5million objects or so22:48
ok, so you're looking at about 2.8GB22:48
sbeyer Mikachu: usually I do "git push a_remote a_branch", but sometimes only "git push" and sometimes it works, too ;-) I've never cared about more detail in that ;)22:48
mugwump how big is the original cvsup?22:48
Mikachu sbeyer: you have to say git push --tags to push tags22:48
sbeyer: or the tagname22:48
sbeyer Mikachu: thanks22:48
malc_ left22:50
Debolaz mugwump: It's a subversion repository, checking the size of it now.22:50
peter_12 left22:50
mugwump oh, they downgraded to subversion?22:50
Debolaz 3.4 GB SVN repo size.22:51
mugwump right22:51
have you converted all the branches within the svn repo to git branches?22:51
Pieter Debolaz: you packed those objects yourself?22:52
Debolaz Yes.22:52
Pieter: Yes, git repack can't handle it.22:52
Mikachu you mean you're too impatient22:52
mugwump Mikachu: shut up22:52
Pieter Debolaz: if you did it yourself, how did you figure out the ordering?22:52
Mikachu mugwump: ?22:53
Ilari Hmm... Might just taking body of packfile (everything after 12 byte header before 20 byte trailer) concatenating these bodies, writing header and trailer for new packfile and then indexing it work?22:53
joevandyk_ left22:53
mugwump I'm surprised you didn't get more compression than that22:53
Debolaz Pieter: I didn't, I just do find objects/0* -type f | perl -pe 'filtering' | git pack-objects 022:53
Pieter that explains the bad compression then22:53
Debolaz Right now I'm not concerned with compression at all.22:53
Pieter yeah, I'm just saying22:54
Debolaz I'm just concerned about reducing the amount of files in the repository so git will be able to deal with it.22:54
holger_ left22:54
ychat left22:54
mugwump sure22:54
Pieter (is this a public repo?)22:54
mugwump maybe the upstream repository is just compressed well22:54
ie, svn's deltas are arranged pretty well already22:54
Debolaz Pieter: Yes, I've put it online.22:55
jengelh git's are better22:55
timocratic left22:55
Pieter mugwump: he got bad compression because he just used the filename ordering22:55
mugwump I guess that earlier note applies though - without being able to walk the full graph, the algorithm that finds likely good delta candidates is stymmied22:55
ffs there are a lot of people who think that people are doing things wrong in this channel22:55
Debolaz http://git.andersberle.com/?p=freebsd.git is the gitweb for the repo.22:56
Ilari Debolaz: Where those 1.3M objects all loose before repacking?22:57
Debolaz Ilari: Yes.22:57
Ilari Ouch...22:57
Debolaz Doing git pack-objects manually works well from a performance point of view however.22:57
Pieter yes, I'm not saying you shouldn't do that22:58
Mikachu mugwump: are you saying we shouldn't say anything when people are doing things wrong?22:58
fwiw, i didn't say anyone did anything wrong either, so i'm not sure who you're referring to22:58
mugwump no, I'm saying you should try and listen and understand what people are doing before saying they're doing it wrong22:58
stop taking me literally22:58
Pieter who said anyone was doing anything wrong?22:58
jast you're all doing it wrong! <- now i did22:59
Mikachu i only corrected the statement that git repack couldn't handle it, which it can, i can understand if you don't want to wait for it22:59
i don't like people telling me to shut up for no good reason22:59
Ilari Debolaz: Can you get 'git rev-list --all --objects' output dumped to some file?23:00
mugwump Debolaz: did you try the repack after removing all the loose objects?23:00
Debolaz mugwump: I'm not done creating packs yet.23:00
mugwump ah :)23:00
Pieter how long does the packing take?23:00
(I thought git-svn autopacked every 1000 commits or so btw)23:01
wereHamster left23:01
Mikachu i wonder if passing --window=1 or so would help, since the 10 objects it tries will most likely be useless anyway23:01
cannonball left23:01
Debolaz Pieter: A few hours per chunk, for a total of 16 chunks. Ie, a chunk is objects/0* 1* 2* etc.23:01
Pieter heh, painful :)23:01
mugwump Mikachu: well, there's always a chance :)23:01
Debolaz Well, it's not as painfull as waiting 3 months (That's the figure I calculated anyway) for git-repack to even just get done counting the object, let alone do anything usefull with them.23:02
mugwump how does that 180MB compare in disk space reduction? ignoring allocation overhead23:02
Eridius|work Debolaz: the object counting isn't linear23:02
Pieter the object-count thing goes exponentially or o23:02
HobbesGuest2590423:02
Hobbes`` joined23:02
mugwump yes. thinking further about that time vs tar, it's down to the fact it's seeking randomly, and the OS can't hold the 1.5m directory entries in memory at once, so has to do lots of disk seeks for every object access23:03
Pieter mugwump: 180*16 = 2.9GB vs3.4GB svn23:03
Debolaz It had a more or less constant count of 10 objects per second.23:03
jossipek left23:03
mugwump I meant, compared to the loose objects23:03
Pieter ah23:03
Eridius|work Debolaz: it definitely speeds up at some point23:03
Debolaz mugwump: Working on that.23:03
Pieter wasn't there someone who had already created a freebsd repo in the what-vcs-system-should-we-use phase?23:04
timocratic joined23:04
Pieter ah, here23:04
500MB for /src23:04
Mikachu Debolaz: how long did the actual import take?23:04
Debolaz mugwump: 430 MB23:06
Meaning the git repo is close to 6.5 GB23:07
mugwump right23:07
Debolaz Mikachu: 4 days or so.23:07
hagna_ left23:07
charon left23:07
Pieter you can distribute the packing thing nicely though23:08
just send 15 other guys a 400MB tarball23:08
Mikachu hm, but repacking just a few hundred megs shouldn't take many hours...23:11
Ilari Machine trashing due to too large window/delta base cache?23:12
gza Pieter: did you go to Railsconf this year?23:12
Lytol joined23:12
Pieter gza: no23:12
gza ok different pieter then... ;)23:13
doener_ Debolaz: just wondering, which OS/fs is that repo on?23:13
Pieter :)23:13
freebsd, I'd guess23:13
yofel left23:13
brosner left23:13
Lytol is there a way to query a remote server for commits that you haven't yet fetched (without actually fetching them)?23:13
doener_ Pieter: I'd guess so, too. But you can't know for sure without asking ;-)23:13
mugwump doener_: sure you can, read the logs from 12 hours ago23:13
Mikachu Lytol: you can see the sha1 of the tip, but that doesn't tell you much23:14
Guest25904 left23:14
Pieter Lytol: git-peek-remote will tell you if the branch heads are different, but not how many commits23:14
doener_ mugwump: I wouldn't have known that it was mentioned there ;-)23:14
Lytol hmmm...23:14
mugwump however I think Linux' dircache would probably also suffer from a similar problem23:14
Eridius|work left23:14
juanjoc left23:14
Eridius|work joined23:14
doener_ mugwump: ext3's dir_index can make a big difference though23:14
mugwump dircache. dircache.23:15
Debolaz FreeBSD yes, with UFS2.23:15
jengelh ext3 worst23:15
well, perhaps still above the ufses.23:15
Mikachu i started a git repack -adf on linux-2.6 3 minutes ago and it's already 15% done, and this computer is 5 years old23:15
Pieter I wonder why the freebsd cvs guy thinks he'd have to split op /src23:16
jast how many objects does linux-2.6 have?23:16
Pieter if it's only 400MB23:16
Mikachu i guess it might be much slower if the source objects are loose though?23:16
jast: 82868423:16
jengelh Mikachu: too slow :p23:16
jast that's very likely, yes23:16
Pieter you can also do something neat like writing the new pack to another disk23:18
or using fast-export | fast-import as some sort of primitive packer :)23:18
Mikachu would be possibly useful if you could disable the page cache for that new file too :)23:18
Ilari And if fast-import tried to use previous version of each file as delta base?23:19
chris2 left23:19
Pieter it doesn't really23:19
but, what if?23:19
it only has the stream as input, and no loose objects in it's git dir, so shouldn't matter23:19
unreal_ joined23:20
Mikachu wow, it suddenly jumped to 100% there23:21
Ilari Yea, it jumps up fast after it gets commit objects done...23:22
Mikachu hm, it first does compressing objects, then writing objects... does it keep the whole pack file in ram while compressing?23:22
Pieter yes23:22
Mikachu pack-objects is using 460M23:22
who came up with that clever design? :)23:22
nud left23:23
jast isn't it mmapped?23:24
Mikachu no23:26
doesn't look like it anyway..23:27
agib left23:28
ebel left23:34
peeja joined23:35
unreal left23:36
\ask_ left23:36
unreal_unreal23:36
bronson_ left23:39
sbeyer left23:40
peter_12 joined23:43
jeckel left23:44
peter_12 I have been reading the git-checkout man page. The definition is recursive "git-checkout - Checkout a branch or paths to the working tree"23:44
is this the same as "svn switch", more or less?23:44
Eridius|work how is that recursive?23:45
it's most commonly used to switch branches23:45
but you can also give it paths instead23:45
peter_12 checkout is defined in terms of "checkout"23:45
Eridius|work no, that's the summary23:45
peter_12 ok23:45
Eridius|work it's defining the command git-checkout in terms of the standard english word Checkout23:45
mugwump checkout is like switch, yes23:45
peter_12 mugwump: thanks23:45
Eridius|work if you give it paths it's like svn checkout23:45
mugwump I think there are differences to that usage23:46
if you 'git checkout REV path/', it will get that path/ from REV23:46
robinr left23:46
mugwump but doing that with svn will leave the checked-out directory associated with the original SVN path23:46
[sand-man] left23:48
peeja left23:48
unreal left23:48
Debolaz Yay, chunk 3 of 16 done.23:49
cmarcelo left23:49
Ilari Debolaz: Repacking that repo?23:50
Debolaz Yeah, doing git pack-objects manually.23:51
unreal joined23:51
Xyrio joined23:52
drizzd joined23:54
warthog9 joined23:55
gass left23:56
strangy left23:58
strangy joined23:59

Logs Search ←Prev date Next date→ Channels Documentation