| 2008-11-16 |
| → bcarlyon|laptop joined | 00:05 |
| → quoin joined | 00:06 |
| ← moccuo left | 00:06 |
| ← felipec left | 00:06 |
| ← eddyp left | 00:08 |
| → moccuo joined | 00:08 |
| → nirvdrum joined | 00:10 |
| ← nirvdrum left | 00:11 |
| → aspotashev joined | 00:14 |
| → __name__ joined | 00:14 |
| ← name left | 00:16 |
| __name__ → name | 00:16 |
| → felipec joined | 00:20 |
| ← ajonat left | 00:21 |
| ← coderdad left | 00:21 |
| → coderdad joined | 00:21 |
| → novas0x2a joined | 00:23 |
| ← drizzd_ left | 00:23 |
| jesselucas_ → jesselucas | 00:23 |
|
jogla
| what is commit 1bd90415deccc4562e0fb4d0f8e58140aa687ac1 like? | 00:25 |
|
| It has no parent, but seems not to be a branch either | 00:25 |
|
| (this is a commit of the git repository itself) | 00:25 |
| → davidfetter joined | 00:31 |
| → novas0x2a1 joined | 00:32 |
|
Tv
| jogla: i'd guess it's merged to something that is on some branch | 00:32 |
|
| $ git branch -a --contains 1bd90415deccc4562e0fb4d0f8e58140aa687ac1 | 00:32 |
|
| kernel/todo | 00:32 |
| ← novas0x2a left | 00:33 |
|
jogla
| Tv: but it has no parent | 00:33 |
|
Tv
| jogla: sure, *it* doesn't have a parent | 00:33 |
|
jogla
| and what is that parent? | 00:33 |
|
Tv
| jogla: http://eagain.net/articles/git-for-computer-scientists/ | 00:33 |
| ← davidfetter left | 00:37 |
| → davidfetter joined | 00:38 |
|
jogla
| Tv: I think that branch that commit was from is not connected to any other branch in the repository in any way | 00:39 |
|
Tv
| jogla: that is not true | 00:39 |
|
| also, commits are not "from a branch" | 00:39 |
| → schme joined | 00:45 |
| ← jm left | 00:45 |
| → p4tux joined | 00:46 |
| → pillowfactory joined | 00:47 |
| → gottesmm joined | 00:47 |
| stouset|away → stouset | 00:50 |
| ← p4tux left | 00:53 |
| ← schme_ left | 00:56 |
| → bobmcw joined | 00:58 |
| → fynn joined | 01:04 |
|
fynn
| bremner: still here? | 01:04 |
|
| I tried your suggestion, and unfortunately it doesn't work... | 01:04 |
|
| just to recall the issue: we have a file in the repo, which we want to freeze; it would remain in the repo in state X, but any change after state X would be ignored. | 01:05 |
|
| so if someone check out the repo, he would get foo.py in state X. but if he changed foo.py locally, 'git status' and 'git diff' won't alert about the changes. | 01:06 |
|
| and 'git commit -a' won't commit it. | 01:06 |
|
| if anyone knows how to do that, it would be great. | 01:07 |
|
offby1
| I suspect you can get half of what you want via attributes. | 01:07 |
|
| But I also suspect that "commit -a" will always commit what's changed. | 01:07 |
| ← name left | 01:08 |
| ← carllerche left | 01:08 |
|
offby1
| my hunch is you won't be able to get git to do this. | 01:08 |
|
fynn
| OK, getting it working with 'git status' and 'git diff' would be very good too. | 01:08 |
|
offby1
| is this file some sort of configuration file that everyone must tweak, but for which those tweaks mustn't be checked in. | 01:08 |
|
fynn
| exactly so. | 01:08 |
| ← yofel_ left | 01:08 |
|
thedocto1
| fynn: add it to .gitignore? | 01:09 |
|
fynn
| thedocto1: doesn't work if it's already in the repo. | 01:09 |
|
thedocto1
| really? it should just make it ignore all new changes.. or is that not what you want? | 01:09 |
|
offby1
| when this problem comes up in svn, the stock answer is: instead of checking in the file itself, check in a template -- with a distinguished name, like "foo.cfg.tmpl". | 01:10 |
|
| have the build or deployment process copy that .tmpl to the real name if that real name doesnt' already exist | 01:10 |
|
fynn
| thedocto1: ~/repo$ cat .gitignore | 01:10 |
|
| foo | 01:10 |
|
| ~/repo$ git diff --name-status | 01:10 |
|
| M foo | 01:10 |
|
thedocto1
| hum. | 01:10 |
|
fynn
| 'git status' => # modified: foo | 01:11 |
|
| offby1: OK, what were those attributes that you mentioned? | 01:11 |
|
thedocto1
| oh, I see what I did... I was looking at the manpage for gitignore and that tells you what you should do | 01:11 |
|
| fynn: refer to the git update-index --assume-unchanged documentation. | 01:11 |
|
fynn
| wah, awesome | 01:12 |
|
| fynn looks | 01:12 |
| ← pillowfactory left | 01:13 |
|
thedocto1
| looks like it's exactly what you want | 01:13 |
|
fynn
| thedocto1: Linus reads my mind apparently | 01:13 |
| → mapreduce joined | 01:13 |
|
fynn
| yeah, thank you | 01:13 |
|
| and thanks you too, offby1 | 01:13 |
|
thedocto1
| np | 01:13 |
| ← jesselucas left | 01:14 |
| → jesselucas joined | 01:14 |
|
offby1
| yay | 01:15 |
| ← sugi left | 01:15 |
|
fynn
| you are happy despite the fact that I typod "thanks" instead of "thank" | 01:17 |
| thedocto1 → thedoctor | 01:18 |
|
fynn
| that probably means you posses a non-fussy personality, and a generally positive disposition. | 01:18 |
|
Tv
| tanks to offby1 | 01:19 |
| → sugi joined | 01:19 |
|
thedoctor
| so I'm trying to convince an svn user how he should see the light | 01:20 |
|
| and will have to convince a crowd of them next week. | 01:21 |
|
fynn
| "if you don't migrate, Linux would eat your children" | 01:21 |
|
thedoctor
| besides merge histories, distributed nature, and speed, is there any other points I should memorize | 01:21 |
|
fynn
| thedoctor: git is faster than SVN? | 01:21 |
|
ciaran
| I suggest opening the curtains | 01:21 |
|
thedoctor
| fynn: I have speed up there | 01:22 |
|
| I'm trying to think of really general things as opposed to enumerating all the tools and workflows | 01:22 |
|
fynn
| the only difference I can think of is maybe when you work locally with git vs. remotely on svn | 01:22 |
|
| offby1 observes a Panzer division crossing his border with Finland | 01:22 |
|
ciaran
| thedoctor: amending | 01:23 |
|
offby1
| thedoctor: 1) merging actually works (svn still has a nasty merge bug after six years); 2) your wc will never get hosed. | 01:23 |
|
thedoctor
| offby1: what is the bug? | 01:23 |
|
offby1
| thedoctor: hold on, I'll give you a link | 01:23 |
| ← moccuo left | 01:23 |
|
thedoctor
| ciaran: yeah, I'm including that and things like rebase and rerere | 01:23 |
|
fynn
| thedoctor: most people work with svn <1.5, and it doesn't even remember past merges. | 01:24 |
|
thedoctor
| fynn: check | 01:24 |
|
offby1
| thedoctor: http://subversion.tigris.org/issues/show_bug.cgi?id=898 | 01:24 |
| ← fynn left | 01:24 |
|
offby1
| thedoctor: couple things to beware of, though: 1) git is arguably harder to learn; 2) git's Windows support is pretty iffy | 01:25 |
|
thedoctor
| offby1: I'd say harder to master, but not too bad to learn, and I'm speaking at a LUG so windoze is a non-issue | 01:25 |
|
offby1
| should be OK then. | 01:26 |
|
thedoctor
| wow that is kind of a stupid bug | 01:26 |
|
ciaran
| mention that Linus started the project :) | 01:26 |
|
thedoctor
| heh, yeah, I mention "fanboy factor" on the last slide :P | 01:26 |
|
ciaran
| hehe :) | 01:26 |
|
thedoctor
| and the phrase "pure, Linus-y C" somewhere | 01:27 |
| → moccuo joined | 01:27 |
|
ciaran
| maybe mention git gui/citool, though I never use them | 01:27 |
|
offby1
| I wouldn't write in C myself, but it doesn't bother me that git is mostly C | 01:27 |
|
ciaran
| isn't very little of git actually C? At least when Linus was working on it | 01:28 |
|
| I think it's being moved towards C now for portability/speed | 01:28 |
|
thedoctor
| the core is C | 01:28 |
| stouset → stouset|away | 01:28 |
|
offby1
| lookit the source. | 01:28 |
|
thedoctor
| the shell scripts are fewer and fewer | 01:28 |
|
offby1
| mostly C but with some shell and perl wrappers | 01:28 |
| → fynn joined | 01:28 |
|
offby1
| oh, and Tcl/Tk plays a key role | 01:28 |
|
ciaran
| yeah | 01:28 |
|
fynn
| ah, I love git, that --assume-unchanged flag is so comfy | 01:29 |
| stouset|away → stouset | 01:29 |
|
fynn
| what are some good places to make git repos accessible online? | 01:29 |
|
| besides github ofc | 01:29 |
|
thedoctor
| giorious | 01:29 |
|
| gitorious* | 01:29 |
|
| and repo.or.cz | 01:29 |
|
fynn
| awesome. also Savannah supports it iirc | 01:30 |
|
| of the code hosting platforms, which supports git besides Savannah? | 01:30 |
| ← Zimm left | 01:30 |
|
thedoctor
| fynn: I don't think anyone does yet, although Google code was thinking about it and maybe SF was too | 01:31 |
|
fynn
| SF isn't that relevant for anything anymore | 01:31 |
|
thedoctor
| there are still a lot of projects on it | 01:31 |
|
albertito
| fynn: I've been told assembla supports git, but I never used it | 01:32 |
|
fynn
| thedoctor: hosting directly on Google would be cool. their official OSS blog had a detailed tutorial about working with git against their SVN system. | 01:32 |
|
thedoctor
| true, git-svn is nice | 01:32 |
|
| but what do you need other than what the standard git hosters provide? | 01:32 |
|
fynn
| albertito: it does, it's first on their "supported SCMs" list | 01:32 |
|
thedoctor
| if you went with github, it would probably be a lot better than SF or google code | 01:33 |
|
fynn
| thedoctor: it would be nice to keep private repos | 01:33 |
|
| though I suspect the only option there is to pay github | 01:33 |
|
albertito
| fynn: and something called "unfuddle" supports it too, but I haven't heard of it before (it just came up when I googled to verify that assembla supported git) | 01:33 |
|
thedoctor
| fynn: yeah, good luck finding something like that... the whole point of git is to spread the code out :P | 01:33 |
|
fynn
| albertito: cool. looks like there are quite a few. | 01:33 |
|
| thedoctor: I want to spread it... to a select few | 01:34 |
|
thedoctor
| you could always use instaweb on a private server | 01:34 |
| → alb joined | 01:34 |
|
fynn
| yes, I could. | 01:35 |
|
| we already have a paid, private SVN account | 01:35 |
|
| unfortunately, the company does not support git, nor does it plan to. | 01:35 |
|
thedoctor
| fynn: ditch them for generic hosting perhaps? | 01:35 |
|
fynn
| thedoctor: possibly, though we've been happy with their service so far. | 01:36 |
|
thedoctor
| sounds like a rock and hard place. | 01:36 |
|
fynn
| nah, it would be OK. | 01:36 |
|
gebi
| it's not a problem as with svn if a git server doesn't work for an hour or two | 01:37 |
| ← doener left | 01:39 |
| ← chris2 left | 01:42 |
| ← albertito left | 01:43 |
| ← jesselucas left | 01:45 |
| ← bobmcw left | 01:47 |
| → leethal- joined | 01:47 |
| ← moccuo left | 01:47 |
| leethal → Guest91668 | 01:48 |
| → johnw joined | 01:49 |
| ← leethal_ left | 01:50 |
| ← exon left | 01:50 |
| → jesselucas joined | 01:51 |
| → nice_burger joined | 01:51 |
| schlort → schlortwo | 01:54 |
| schlortwo → schlort | 01:54 |
|
bremner
| fynn: if you are will to pay, just get something with ssh access | 01:57 |
|
| s/will/willing/ | 01:57 |
| ← felipec left | 01:58 |
|
bremner
| bah, I see someone already said that | 02:00 |
| ← softdrink left | 02:04 |
| ← stouset left | 02:04 |
| ← Guest91668 left | 02:04 |
| ← unreal left | 02:09 |
| → stouset joined | 02:09 |
|
fynn
| thedoctor: wrt earlier: iirc, git repos are also smaller in size than SVN repos. | 02:10 |
| → unreal joined | 02:10 |
|
thedoctor
| yeah, I'm using that as my defense for having to pull all the history :P | 02:10 |
|
fynn
| bremner: yeah... did you notice the --assume-unchanged solution mentioned earlier? | 02:10 |
| ← diegoviola left | 02:11 |
|
| bremner scrolls back | 02:11 |
|
fynn
| offby1: btw, the --assume-unchanged solution also works with 'git commit -a' | 02:12 |
|
| the only way you might commit a changed --assume-unchanged file is if you explicitly 'git add' it, which is magically the most appropriate design decision. | 02:12 |
|
bremner
| fynn: ahh, cool, thanks for letting me know about that | 02:13 |
|
offby1
| fynn: heh | 02:13 |
| ← kukks left | 02:13 |
| → bobmcw joined | 02:16 |
| → Eridius joined | 02:25 |
| → softdrink joined | 02:26 |
| ← gottesmm left | 02:29 |
| ← bobmcw left | 02:29 |
| ← leethal- left | 02:29 |
| → phpmattk_ joined | 02:32 |
| → Sonderblade joined | 02:42 |
| → quoin- joined | 02:42 |
| ← koke left | 02:43 |
|
LiamH
| If I accidentally deleted some files and have other files changed but uncommitted, how do I restored the deleted files (but leave the uncommitted files as-is)? | 02:44 |
| ← CyberBotX left | 02:45 |
| ← quoin left | 02:46 |
|
nice_burger
| LiamH: git checkout -- path/to/file | 02:47 |
|
LiamH
| nice_burger, thanks. I did discover git checkout, but I did git checkout ., I have a clean checkout and lost my changed files. No worries, they are still in my emacs buffers. | 02:49 |
|
nice_burger
| cool | 02:49 |
|
offby1
| LiamH: make sure your cat stays away from the keyboard ... | 02:49 |
| ← priidu left | 02:50 |
|
LiamH
| however it would be nice if there were some way to just revert deleted files without naming them individually | 02:50 |
|
alip
| git makes me horny and stoned | 02:50 |
|
nice_burger
| LiamH: how would you describe them - git checkout 'all files that ever existed in dir xxx but were at somepoint deleted'? | 02:51 |
|
| LiamH: but seriously, haven't tried it, but i bet giving it 'path/to/dir/*' or something would checkout everything under that dir | 02:52 |
|
LiamH
| no, git checkout everything in HEAD that isn't currently there, for idiots like me that accidentally delete files | 02:52 |
| → muthu_ joined | 02:52 |
|
LiamH
| well doing "." in the top directory wiped out my changed files | 02:52 |
|
nice_burger
| LiamH: yes, that's expected | 02:52 |
|
LiamH
| kind of like a git reset --hard | 02:53 |
|
nice_burger
| LiamH: i always commit before doing something i'm not sure of, so i can't lose stuff | 02:53 |
|
LiamH
| lesson learned! | 02:53 |
|
offby1
| "git stash" is similar | 02:54 |
|
LiamH
| ah, right, I've used git stash before, good idea | 02:54 |
|
nice_burger
| right, haven't used git stash, but it does sound like exactly what you should do in that case | 02:54 |
|
LiamH
| kind of a commit for the indecisive | 02:55 |
|
nice_burger
| pencil droppers eh! | 02:55 |
|
| LiamH: you know about gitcasts yet? | 02:56 |
|
LiamH
| no | 02:56 |
|
nice_burger
| gitcasts.com - videos, very useful | 02:56 |
|
LiamH
| better than the online tutorials? | 02:56 |
| ← pygi left | 02:57 |
| → foca joined | 02:57 |
|
LiamH
| I'm waiting for O'Reilly or someone to put out a book called "Git: The Definitive Guide". | 02:58 |
|
nice_burger
| matter of opinion i suppose, but i've seen some cool tips in the videos i hadn't come across | 02:58 |
|
Sonderblade
| how do you make git-log output the names of the changed files? | 02:58 |
|
offby1
| try git whatchanged | 02:58 |
|
LiamH
| nice_burger: interesting list of topics there | 02:59 |
|
offby1
| Sonderblade: also try "git log --stat" | 02:59 |
| → xyzzy_ joined | 02:59 |
| → jackdempsey joined | 02:59 |
|
Sonderblade
| I just want an equivalent to svn log -v | 02:59 |
|
offby1
| you can probably cook up something with --pretty | 03:00 |
|
nice_burger
| Sonderblade: http://book.git-scm.com/3_reviewing_history_-_git_log.html | 03:01 |
|
Sonderblade
| oh come on, this is an _easy_ question | 03:01 |
|
nice_burger
| Sonderblade: thought they already answered it, no? | 03:01 |
|
offby1
| so is "why is the sky blue" | 03:01 |
|
nice_burger
| Sonderblade: git whatchanged isn't what you want? | 03:02 |
|
Sonderblade
| yeah it is | 03:03 |
|
nice_burger
| k | 03:03 |
|
offby1
| "git whatchanged" is almost exactly the same as "git log --stat" from what I can see. | 03:04 |
|
nice_burger
| offby1: ja looks same here | 03:04 |
|
bremner
| not for me | 03:05 |
|
nice_burger
| similar, i should say, some data is not shared | 03:06 |
|
bremner
| whatchanged doesn't seem to have as detailed info on changes | 03:06 |
|
| although, there is some sha1 looking things there that I don't understand :-) | 03:07 |
|
| I guess it is file before/after sha1 | 03:08 |
|
nice_burger
| try git help whatchanged. more under the covers than at first thought. | 03:10 |
| ← stouset left | 03:15 |
| ← xyzzy42 left | 03:15 |
| ← Ryback_ left | 03:20 |
| → stouset joined | 03:23 |
| ← bdiego left | 03:27 |
| ← aspotashev left | 03:32 |
| → ashleyw joined | 03:32 |
| → litage joined | 03:33 |
| ← scientes left | 03:38 |
| → fauxweasel joined | 03:40 |
| → gregor joined | 03:43 |
|
gregor
| is it possible to get the total number of files and the file size in total with git? | 03:44 |
|
johnw
| you mean, the count of all differing versions of all files and their sizes? | 03:45 |
|
| or do you want to count identical files across commits multiple times? | 03:45 |
|
gregor
| johnw, first one | 03:48 |
|
johnw
| you could use git filter-branch --tree-filter, and write a script that accumulates size info to a file that you would rather sum | 03:48 |
|
| s/rather/later | 03:49 |
| ← flaguy left | 03:51 |
| → samthetechie joined | 03:51 |
| ← fauxweasel left | 03:55 |
|
samthetechie
| hey all | 04:00 |
|
| I have just setup my first git server | 04:00 |
|
| I have a qn | 04:00 |
|
| I got an error msg / warning | 04:00 |
|
| I have looked it up | 04:00 |
|
| it was: ! [rejected] master -> master (non-fast forward) | 04:00 |
|
bdrewery
| ?? faq | 04:00 |
|
samthetechie
| is this a satisfactory fix: git push --force ? | 04:01 |
|
bdrewery
| yes, but you should understand what the problem is first | 04:01 |
|
| or you may lose data | 04:01 |
|
samthetechie
| yeah | 04:01 |
|
| well | 04:01 |
|
| that is the insight I lack | 04:01 |
|
| I am the only contributor at present | 04:01 |
|
bdrewery
| it's in the faq :) | 04:01 |
|
samthetechie
| thank you very much | 04:01 |
|
| lol | 04:01 |
|
| typical RTFM right? | 04:02 |
|
| my bad | 04:02 |
|
bdrewery
| shrug I'm new too | 04:02 |
|
| it's only an issue if you have OTHER people pulling your work | 04:02 |
|
| otherwise just force it | 04:02 |
|
samthetechie
| ok cool | 04:02 |
|
| I will read up tho | 04:02 |
|
| then try to find out why it happens | 04:02 |
|
| I suspect my workflow needs tweaking a bit | 04:02 |
|
bdrewery
| it's from rebasing/rewriting after pushing a commit | 04:02 |
|
samthetechie
| I did a few cheeky $ git commit -a -amend | 04:03 |
|
| could that be it? | 04:03 |
|
bdrewery
| yeah probably | 04:03 |
|
| after pushing? | 04:03 |
|
samthetechie
| um | 04:03 |
|
| no | 04:03 |
|
| before | 04:03 |
| → paltman joined | 04:04 |
|
samthetechie
| bdrewery: ok, I have read the FAQ. Oh, that is much better | 04:05 |
|
| I like the extra functionality there | 04:06 |
|
| I can work out what is wrong rather than just blindly forcing it | 04:06 |
|
| lol | 04:06 |
|
Sonderblade
| In git, how do you do the equivalent of "svn revert filename.c"? | 04:07 |
|
bdrewery
| probably git checkout file | 04:07 |
|
| reset might do it depending on your needs too I believe | 04:07 |
|
| checkout will get the last checked in version though in that branch | 04:08 |
|
samthetechie
| have you guys seen this cheat sheet? I have found it useful: http://ktown.kde.org/~zrusin/git/git-cheat-sheet.svg | 04:08 |
|
bdrewery
| nice | 04:09 |
|
Sonderblade
| thanks | 04:09 |
|
samthetechie
| yw | 04:09 |
| → xyzzy__ joined | 04:11 |
| ← fynn left | 04:19 |
| ← LiamH left | 04:22 |
| stouset → stouset|away | 04:23 |
| ← univate left | 04:26 |
| stouset|away → stouset | 04:26 |
| → univate joined | 04:26 |
| ← xyzzy_ left | 04:27 |
| ← thedoctor left | 04:28 |
| ← johnw left | 04:29 |
| ← ceej left | 04:35 |
| stouset → stouset|away | 04:42 |
| ← markelikalderon left | 04:44 |
| ← softdrink left | 04:50 |
| → therrg joined | 04:54 |
| ← jesselucas left | 04:57 |
| → cedricv joined | 04:57 |
| → joevandyk joined | 05:09 |
| → kovert joined | 05:09 |
| ← samthetechie left | 05:09 |
| → tjafk1 joined | 05:10 |
| ← kovert left | 05:12 |
| ← therrg left | 05:15 |
| ← sergiodj left | 05:19 |
| cbreak → cbreak|afk | 05:24 |
| → nikolasco joined | 05:26 |
| ← tjafk2 left | 05:26 |
| → dcolish joined | 05:28 |
| stouset|away → stouset | 05:32 |
| → joydivider joined | 05:34 |
| ← dcolish left | 05:36 |
| ← nice_burger left | 05:38 |
| rubydiam_ → rubydiamond | 05:44 |
| → sergiodj joined | 05:45 |
| ← thiago_home left | 05:46 |
| → thiago_home joined | 05:46 |
| ← schlort left | 05:46 |
| stouset → stouset|away | 05:52 |
| → schlort joined | 05:54 |
| ← threeve left | 05:55 |
| ← rubydiamond left | 05:58 |
| ← jackdempsey left | 06:00 |
| → rubydiamond joined | 06:01 |
| ← up_the_irons left | 06:03 |
| ← bobesponja left | 06:04 |
| ← joydivider left | 06:07 |
| ← madewokherd left | 06:08 |
| ← foca left | 06:12 |
| ← coderdad left | 06:15 |
| ← ph^_ left | 06:16 |
| → coderdad joined | 06:17 |
| → robinr joined | 06:18 |
| → Fullmoon joined | 06:20 |
| ← univate left | 06:22 |
| ← paltman left | 06:24 |
| → univate joined | 06:24 |
| → [quoin] joined | 06:25 |
| → ph^ joined | 06:26 |
| ← gambler left | 06:27 |
| ← quoin- left | 06:31 |
| ← GNUix left | 06:32 |
| ← coderdad left | 06:32 |
| ← gregor left | 06:44 |
| → moccuo joined | 06:44 |
| → nipuL joined | 06:44 |
| ← cedricv left | 06:45 |
| → cedricv joined | 06:46 |
| not-xjjk → xjjk | 06:51 |
| → Weaselweb joined | 06:57 |
| ← scook0 left | 06:58 |
| → scook0 joined | 06:58 |
| SmSpillaz → SmSpillaz_t | 07:02 |
| SmSpillaz_t → SmSpillaz | 07:03 |
| ← robinr left | 07:23 |
| stouset|away → stouset | 07:24 |
| ← Garoth left | 07:25 |
| ← drewr- left | 07:30 |
| → drewr- joined | 07:30 |
| ← muthu_ left | 07:34 |
| → Garoth joined | 07:43 |
| → drizzd joined | 07:52 |
| ← tewk_ left | 07:53 |
| → tewk joined | 07:53 |
| → xyzzy_ joined | 07:57 |
| → Voker57 joined | 07:57 |
| → Arafangi1n joined | 08:06 |
| → drizzd_ joined | 08:10 |
| ← xyzzy__ left | 08:13 |
| → jerbear joined | 08:13 |
| ← Arafangion left | 08:14 |
| ← rubydiamond left | 08:16 |
| → rubydiamond joined | 08:16 |
| ← jerbear left | 08:19 |
| → Marmouset joined | 08:20 |
| ← drizzd left | 08:21 |
| → mediogre joined | 08:27 |
| ← rubydiamond left | 08:33 |
| → rubydiamond joined | 08:33 |
| ← novas0x2a1 left | 08:41 |
| → clairvy joined | 08:42 |
| → kef joined | 08:45 |
| → therrg joined | 08:48 |
| ← bronson left | 08:49 |
| → Ademan_ joined | 08:53 |
| → mediogre` joined | 09:05 |
| ← mediogre left | 09:07 |
| ← Ademan left | 09:09 |
| stouset → stouset|away | 09:12 |
| → ceej joined | 09:15 |
| → novas0x2a joined | 09:17 |
| → BartVB joined | 09:19 |
| → ashleyw_ joined | 09:19 |
| → radarek joined | 09:23 |
| ← mediogre` left | 09:24 |
| ← rubydiamond left | 09:32 |
| ← ashleyw left | 09:34 |
| → pygi joined | 09:35 |
| → gambler joined | 09:35 |
| ← unreal left | 09:38 |
| ← stuffcorpse left | 09:39 |
| → unreal joined | 09:39 |
| → stuffcorpse joined | 09:39 |
| → Ademan__ joined | 09:42 |
| → chris2 joined | 09:52 |
| → tvw joined | 09:53 |
| ← therrg left | 09:55 |
| ← Ademan_ left | 09:55 |
| ← rvsjoen left | 09:56 |
| → DrFrasierCrane joined | 10:05 |
| → ph^_ joined | 10:07 |
| ← careo left | 10:10 |
| → careo joined | 10:11 |
| → xyzzy__ joined | 10:15 |
| ← clairvy left | 10:23 |
| → priidu joined | 10:24 |
| ← novas0x2a left | 10:27 |
| ← kef left | 10:30 |
| ← bcarlyon|laptop left | 10:31 |
| ← xyzzy_ left | 10:31 |
| ← stuffcorpse left | 10:31 |
| → charon joined | 10:35 |
| → loinclot_ joined | 10:35 |
| → vuf joined | 10:37 |
|
vuf
| I find it confusing that pasting a sha1 into the commit search field in gitweb does not find that commit | 10:39 |
| → stuffcorpse joined | 10:39 |
|
vuf
| oooh, now it does!? | 10:39 |
| ← loincloth left | 10:40 |
|
vuf
| ah, it does on kernel.org only. So maybe someone else also found it confusing :) | 10:41 |
| ← ceej left | 10:43 |
| → parasti joined | 10:48 |
| → lucsky joined | 10:49 |
| → clairvy joined | 10:49 |
| → kef joined | 10:53 |
| ← kef left | 10:59 |
|
Arafangi1n
| Hey, are there any tools that convert a single-branch git repository to multiple branch, to "fix" it? | 11:01 |
| → quizme joined | 11:01 |
|
Arafangi1n
| Ie, in the event that some people branched by merely "copying directories". | 11:02 |
|
quizme
| http://fuseme@fuseme.com/var/git/fuseme.git <---- is that the right syntax? I think I'm missing a colon somewhere | 11:02 |
|
Arafangi1n
| Will obviously use rewritten history, though. | 11:02 |
| ← exg left | 11:03 |
| → exg joined | 11:03 |
|
charon
| Arafangi1n: you can always use git-filter-branch and grafts to fix up history | 11:05 |
|
quizme
| what's the syntax for accessing a git repository while specifying the username? | 11:06 |
|
| nm i found it | 11:07 |
|
| i'm getting fatal: http://fuseme@fuseme.com/var/git/fuseme.git/info/refs not found: did you run git update-server-info on the server? | 11:09 |
|
| but that file exists | 11:09 |
|
| [fuseme@debroglie releases]$ ls -al /var/git/fuseme.git/info/refs | 11:09 |
|
| -rw-rw-r-- 1 fuseme fuseme 59 Nov 16 04:35 /var/git/fuseme.git/info/refs | 11:09 |
| → not-xjjk joined | 11:09 |
|
quizme
| and i already ran git update-server-info on the server in /var/git/fuseme.git | 11:10 |
|
Ilari
| quizme: HTTP server remaps paths somehow... | 11:10 |
|
quizme
| Ilari: thanks, how do i compensate for that? in what way does it remap? | 11:11 |
|
Ilari
| quizme: Just guessing: '/var/www' -> '/' (or something like that)... :-/ | 11:11 |
|
quizme
| Ilari: should i use git: ? | 11:11 |
|
| ilari: if i used git:// then it wouldn't remap? | 11:11 |
|
Ilari
| quizme: If you run git-daemon. You can also use ssh:// if remote side has SSH open and git installed. | 11:12 |
|
| quizme: Git-daemon can perform remapping, but by default it doesn't. | 11:12 |
|
parasti
| quizme: see man git-clone for valid URL syntax | 11:12 |
|
quizme
| parasti: i just did thanks, i think i have the right syntax now. | 11:14 |
|
| ilari: so what should i do to fix this puppy? it's pretending not to know that info/refs is in /var/git/fuseme.git | 11:15 |
|
parasti
| quizme: I think the catch here is that if it can't find that file, it probably means the URL you gave is wrong | 11:16 |
|
quizme
| parasti: hmm | 11:16 |
|
Arafangi1n
| charon: git-filter-branch does more than just merely act as a filter? | 11:16 |
|
quizme
| parasti: my git repo is in /var/git/fuseme.git | 11:17 |
| Arafangi1n → Arafangion | 11:17 |
| → kumbayo joined | 11:18 |
|
charon
| Arafangion: it's about the most powerful generic rewriting tool available... it lets you change almost everything as long as you maintain the rough ordering of commits | 11:18 |
|
parasti
| quizme: the URL syntax would depend on what kind of access you have to the host | 11:18 |
| → xanonus joined | 11:18 |
|
charon
| Arafangion: for example, if someone did an "svn style" branch-by-subdirectory, you can just gfb --subdirectory-filter on the appropriate range of commits to fix that | 11:18 |
|
quizme
| parasti: what do u mean? | 11:19 |
|
charon
| Arafangion: possibly followed by some --index-filter tricks to get rid of the subdirectory in other lines of history | 11:19 |
|
| just make a backup and play with it ;) | 11:19 |
|
Arafangion
| charon: You can be damn sure I'm not doing any of my experimentation on a critical repo. ;) | 11:20 |
|
| charon: But thanks. Just considering different ways of importing p4 history with branches. Seems like I'm going to just completely /ignore/ branches, and fix them up either mid-stream or after-the-fact. | 11:21 |
|
parasti
| quizme: I mean, if for instance you're accessing the host through HTTP, then the "/var/git" part most likely *won't* be part of the URL. you might not be able to log in through HTTP either | 11:21 |
|
Arafangion
| Manually, in other words. | 11:21 |
| ← xjjk left | 11:21 |
|
parasti
| quizme: IIUC, those things are true for SSH access | 11:21 |
|
charon
| Arafangion: ah, well i have no p4 or p4-importing experience. i just used gfb+grafts successfully to fix up SVN histories that could not be handled by git-svn alone, for example if they used two different branch naming schemes over the course of their history | 11:22 |
|
Arafangion
| charon: Well, p4 actually does have a concept of branches, but I've discovered the hard way (by being stupid and trying to get the two to meet, and failing), so essentially I'm reverting to the idea that "there ain't no such thing as a branch", and thus I'm essentially treating it as entirely non-branched, ala what git-svn would do. | 11:23 |
|
charon
| git-svn does handle branches if you follow a somewhat reasonable directory layout :) | 11:24 |
|
quizme
| parasti: i was able to do that command before | 11:24 |
|
| parasti: but now it's not working. | 11:24 |
|
charon
| i think it can handle anything that uses a layout of trunkdir/, prefix/<branchname>/suffix and prefix2/<tagname>/suffix2 | 11:24 |
|
Arafangion
| charon: Yeah, it attempts to use a heuristic to determine "typical" branches given a "typical" directory heirachy, which is essentially what I'm now limited to. | 11:26 |
|
charon
| well, what i did for one specific messed up svn, was just to run several git-svn imports with different branch/tag naming styles, then graft them together | 11:26 |
|
Arafangion
| charon: I'm thinking of incorporating a "url-rewriter", that for a given branch and path, returns the revised branch and path. | 11:27 |
|
| For a path, returns the branch and revised path, rather, as I'm now ignoring p4 branches. | 11:28 |
|
quizme
| oh no... it was ssh:// | 11:28 |
|
| charon shrugs | 11:28 |
|
charon
| Arafangion: as i said, i don't know anything about p4 so i can't help there | 11:29 |
| → igel_ joined | 11:29 |
| → igel__ joined | 11:29 |
| ← igel__ left | 11:30 |
|
Arafangion
| charon: Just wanted to talk to someone to help get my brain sorted out. :) | 11:30 |
| igel_ → iGELig | 11:30 |
|
iGELig
| Hi. I've pulled changes from the wrong repository. I managed to clean up most of my files, but two files are now conflicted. How do I throw away the changes from the wrong repository? | 11:33 |
|
| iGELig is quite new to git... :/ | 11:33 |
|
Arafangion
| iGELig: Try reset. | 11:34 |
|
Ilari
| iGELig: If you don't have any uncommitted changes: 'git reset --hard' (this is why merging with uncommitted changes is not recommended)... | 11:34 |
|
iGELig
| thank, i'll try that | 11:34 |
|
Arafangion
| Ilari: Incidentially, that's a major reason why I'm trying to rewrite git-p4, the workflow it imposes (with rebasing, etc), makes it easy to result in a merge conflict. :( | 11:35 |
|
vuf
| Ilari: not recommended? Is it even possible? | 11:35 |
|
iGELig
| thanks, it worked. | 11:36 |
| ← drizzd_ left | 11:36 |
| → vargadanis joined | 11:37 |
| → ^sunshine^ joined | 11:42 |
| ← ^sunshine^ left | 11:42 |
| ← iGELig left | 11:46 |
|
comp
| hello, doesn anyone here have some docs on "similarity index"? | 11:48 |
|
| does* | 11:48 |
| ← Marmouset left | 11:51 |
| → aspotashev joined | 11:52 |
| → rvsjoen joined | 11:53 |
| → drizzd joined | 11:54 |
| → entropy joined | 11:55 |
|
Ilari
| vuf: It is possible if remote side doesn't modify any uncommitted file (otherwise merge will abort). | 11:56 |
| → samthetechie joined | 11:56 |
|
entropy
| hi, i'm have a single file on windows that git (using git bash) sees as "modified". even `git reset --hard HEAD` and `rm <filename>;git checkout <filename>` don't work, the file is still marked as "modified" after both, how can i force git to "unmodify" it? | 11:57 |
|
Arafangion
| entropy: Check the case of the file path, and compare it to what git thinks it is. | 11:57 |
| → dave_h_d joined | 11:57 |
|
Arafangion
| In addition to the file name itself. | 11:58 |
|
entropy
| my entire project, all directory names, all filenames are all lower case only | 11:58 |
|
| i double checked with this, to be sure, and it is so | 11:58 |
|
| # modified: build/data/lang/suomi.lang | 12:00 |
|
Arafangion
| What does git diff say? | 12:00 |
|
entropy
| git diff makes a patch/diff file for the entire file except the first two lines, i cannot see any actual difference, it looks to me like it might be line ending confusion | 12:01 |
|
Arafangion
| Autocrlf sucks. | 12:01 |
|
entropy
| i've never used any line ending settings, don't really know where i'd look | 12:01 |
|
| is that something automatically set for git-win32? | 12:02 |
|
Arafangion
| windows defaults ot autocrlf, yeah. | 12:02 |
|
entropy
| that's horrible :( | 12:02 |
|
Arafangion
| Apparently the typical windows user can't view text files without it. | 12:02 |
|
entropy
| which fm do I rt to find out about switching that off? | 12:02 |
|
Arafangion
| core.autocrlf false I think. | 12:02 |
|
entropy
| thank you | 12:02 |
|
Arafangion
| Mind you, imho it's better to leave it on on windows | 12:03 |
|
entropy
| yes --global list shows it on | 12:03 |
|
Arafangion
| Because most windows editors are _shit_, and will make it too easy to mix up line endings. | 12:03 |
|
entropy
| hmmm, i disagree | 12:03 |
|
| i only use vim | 12:03 |
|
Arafangion
| Then this hsouldn't have been the problem. | 12:03 |
|
entropy
| i set it to "false" | 12:04 |
|
| then did "git reset --hard HEAD" | 12:04 |
|
| and it's fixed :D it's not "Modified" anymore | 12:04 |
|
| fantastic | 12:04 |
|
| thank you | 12:04 |
|
Arafangion
| Good to know. :) | 12:04 |
|
vuf
| Ilari: ah, I thought you said that conflicts was the reason that merging with a dirty tree is not recommended, but you were really talking about the reset | 12:05 |
|
| entropy goes off to finalize his windows release | 12:05 |
| ← entropy left | 12:06 |
| ← moccuo left | 12:06 |
| ← clairvy left | 12:07 |
| → moccuo joined | 12:07 |
| ← tvw left | 12:11 |
| → ashleyw joined | 12:16 |
| ← sdboyer left | 12:16 |
| → sdboyer joined | 12:20 |
| ← ashleyw left | 12:21 |
| ← ashleyw_ left | 12:23 |
| → bentob0x joined | 12:34 |
| cbreak|afk → cbreak | 12:35 |
| → rubydiamond joined | 12:38 |
| ← Flathead left | 12:40 |
| ← Modius left | 12:46 |
| → Yuuhi joined | 12:47 |
| → Modius joined | 12:47 |
| → xulf joined | 12:48 |
| ← IronHeart left | 12:50 |
| → bobmcw joined | 12:54 |
| ← Voker57 left | 13:00 |
| → cyclist joined | 13:03 |
| ← bobmcw left | 13:04 |
| ← SmSpillaz left | 13:04 |
| ← cyclist left | 13:06 |
| → nud joined | 13:11 |
| stouset|away → stouset | 13:12 |
|
jogla
| my 'git status' is getting sloooow, what can be the reason for this? | 13:15 |
|
drizzd
| is getting? what changed? | 13:21 |
| → markelikalderon joined | 13:21 |
| → soul9 joined | 13:23 |
|
soul9
| re all | 13:23 |
|
| i remember reading somewhere on how to stow away local changes for later | 13:23 |
|
| maybe it's just creating a new branch? | 13:24 |
|
drizzd
| git stash | 13:24 |
|
soul9
| stash | 13:24 |
|
| right on | 13:24 |
|
drizzd
| but creating a new branch is good too | 13:24 |
|
soul9
| drizzd: is there a way to push a stash? | 13:24 |
|
| if not a branch is the way to go, i guess | 13:24 |
|
cbreak
| apply it | 13:24 |
|
soul9
| ok, so i want a branch | 13:25 |
|
| thx | 13:25 |
|
drizzd
| I believe it was possible to push a stash, but it was considered a bug and should be disabled now. | 13:25 |
|
| I think stash is only useful for very shorttime stuff | 13:26 |
| stouset → stouset|away | 13:28 |
| ← markelikalderon left | 13:28 |
|
soul9
| yeah | 13:29 |
|
| i guess a branch works allright aswell | 13:29 |
|
| thanks | 13:29 |
| ← pygi left | 13:30 |
| → Voker57 joined | 13:31 |
| → Zimm joined | 13:32 |
| → bcarlyon|laptop joined | 13:33 |
| → abbe joined | 13:35 |
| → markelikalderon joined | 13:36 |
| stouset|away → stouset | 13:39 |
| → loincloth joined | 13:40 |
| → flaguy joined | 13:40 |
| ← vuf left | 13:41 |
| ← loinclot_ left | 13:45 |
| → muthu_ joined | 13:46 |
| ← stouset left | 13:49 |
|
soul9
| is itpossible to checkout a file from a different branch? | 13:50 |
|
| s/is itp/is it p/ | 13:50 |
|
shd
| git checkout branch -- file | 13:50 |
|
thiago_home
| no, it's not impossible | 13:50 |
|
soul9
| ok | 13:50 |
|
| thx | 13:50 |
|
| heh, thiago_home | 13:50 |
|
thiago_home
| it looked like you were asking if it was impossible | 13:51 |
| ← samthetechie left | 13:51 |
|
soul9
| thiago_home: yea, i know :-D | 13:52 |
| ← davidfetter left | 13:52 |
| ← markelikalderon left | 14:00 |
| → coderdad joined | 14:01 |
| ← lsk left | 14:05 |
| → robinr joined | 14:12 |
| → deskin joined | 14:13 |
| → SRabbelier joined | 14:13 |
| ← rubydiamond left | 14:16 |
| → rubydiamond joined | 14:17 |
| ← cu3edweb left | 14:18 |
| → Maerz joined | 14:19 |
| → tvw joined | 14:20 |
| → dragonball_ joined | 14:24 |
| → scientes joined | 14:25 |
| ← rubydiamond left | 14:25 |
| → rubydiam_ joined | 14:25 |
| → adamb90 joined | 14:25 |
| ← adamb90 left | 14:26 |
| ← rubydiam_ left | 14:27 |
| ← dragonball_ left | 14:27 |
| → rubydiamond joined | 14:27 |
| ← rubydiamond left | 14:29 |
| → rubydiamond joined | 14:30 |
| ← ciaran left | 14:32 |
| ← awarde left | 14:33 |
| → awarde joined | 14:33 |
| ← quizme left | 14:43 |
| ← aspotashev left | 14:45 |
| → leachim6 joined | 14:49 |
| → stouset joined | 14:51 |
| → doener joined | 14:54 |
| ← rubydiamond left | 14:55 |
| → ciaran joined | 14:58 |
| → rubydiamond joined | 14:58 |
| ← leachim6 left | 14:58 |
| ← careo left | 15:02 |
| → careo joined | 15:03 |
| ← moccuo left | 15:06 |
| → moccuo joined | 15:07 |
| → jnareb joined | 15:08 |
| ← [quoin] left | 15:09 |
|
jnareb
| tango_: nice sending v3 of "remotes and stuff" gitweb series | 15:10 |
|
| tango_: haven't read it (and reviewed) yet, though... | 15:10 |
|
tango_
| jnareb, thanks. actually it's just remotes now 8-D | 15:10 |
|
| also, it depends on the check feature fix | 15:10 |
| → thedoctor joined | 15:10 |
|
jnareb
| tango_: splitting series into remotes, categories in remotes, and detached HEAD support is a good idea (not necessarily in that order) | 15:11 |
|
tango_
| I'm sure you'd prefer to have detached HEAD first ;-) | 15:11 |
|
jnareb
| tango_: by the way, you forgot to signoff 'check feature fix'... | 15:11 |
| → foca joined | 15:11 |
|
jnareb
| tango_: not necessary | 15:11 |
|
tango_
| aaaaaaargh | 15:11 |
|
jnareb
| tango_: perhaps detached HEAD before subcategories in remotes... | 15:11 |
|
tango_
| damnit | 15:11 |
|
| I have to configure my git to auto-sign-off all patches | 15:12 |
|
jnareb
| tango_: but I don't think that lack of signoff would require to resend (just reply with Signed-off-by, and hopefully Junio would correct such minor issue...) | 15:12 |
|
tango_
| ok | 15:12 |
|
jnareb
| tango_: I have trained my fingers to use "git commit -s" (and have Signoff in stgit template) | 15:13 |
| → mediogre joined | 15:13 |
|
jnareb
| BTW. ad 'check feature fix': I think is high time to remove backward compatibility from git_get_config, and return boolean instead of 'true'/'false' (unnecessary round of mashall / unmarshall) | 15:14 |
|
| tango_: about 'detached HEAD and stuff': will you go "git symbolic-ref -q HEAD" route, or (-l "$project/HEAD" || $line =~ /^ref: /) route? | 15:17 |
|
tango_
| symbolic-ref, I think | 15:18 |
| → trochala joined | 15:18 |
| → rubydiam_ joined | 15:18 |
|
jnareb
| tango_: why? | 15:18 |
|
tango_
| dunno, probably because this was already what junio suggested and I have the patch ready 8-D | 15:19 |
| → stillLotR joined | 15:19 |
|
jnareb
| tango_: Perl route is not that difficult; if it is symlink, it is not detached head. if it is symref, it is not detached head (and you can get sha1 of commit by the way) | 15:19 |
|
| well, we can always change it "in tree" if it is properly encapsulated.. :-) | 15:19 |
| rubydiam_ → rubydiamond__ | 15:20 |
|
tango_
| yeah, for sure I'll do the encapsulation earlier this time 8-D | 15:20 |
|
jnareb
| well, I understand (I guess) that the later part of series were commit-as-it-goes... ;-P | 15:20 |
|
tango_
| in the case of symlink, what does HEAD link to? | 15:20 |
| ← rubydiamond__ left | 15:20 |
| ← cedricv left | 15:20 |
|
SRabbelier
| git rebase interactive should give a warning if you leave untracked files in your workdir when doing 'git rebase --continue'... | 15:21 |
| → rubydiam_ joined | 15:21 |
|
jnareb
| tango_: refs/heads/<branch> even if <branch> is packed | 15:23 |
|
| tango_: for git_get_symbolic_ref you can do readlink(...) like in check_head_ok() | 15:23 |
|
| tango_: but for git_is_head_detached() it is not necessary | 15:24 |
|
| tango_: I think... | 15:24 |
|
tango_
| well, we can rather do git_get_head_branch(), which is the branch, if any, or undef, if not | 15:25 |
|
| and head is deatched if git_get_head_branch() is undef | 15:25 |
|
jnareb
| tango_: the "!defined $current_branch" idea? | 15:26 |
|
tango_
| jnareb, this can be used for additional stuff such as marking only the proper brnach etc | 15:26 |
|
jnareb
| yes | 15:26 |
|
tango_
| the stuff we were brainstorming abouy yesterday, yes | 15:26 |
| → mw|out joined | 15:27 |
| ← LotR left | 15:29 |
| → kukks joined | 15:30 |
|
jnareb
| it is a bit pity that some of dropped/forgotten gitweb patches ("git" link, sections in projects list) didn't got resend... | 15:33 |
| → Ryback_ joined | 15:33 |
|
tango_
| jnareb, sometimes the lag between send and ack can get demotivating | 15:35 |
| ← rubydiamond left | 15:35 |
|
jnareb
| well, there is a fact that there is no gitweb maintainer | 15:36 |
|
tango_
| heck, I spent 4 hours yesterday embedding icons for gitk and git-gui, if those patches don't get in I'm going to strangle the respective maintainers 8-D | 15:36 |
|
| and then I'n going after whoever invented tcl tk 8-D | 15:36 |
|
| jnareb, well you and pasky are the defacto maintainers | 15:37 |
| ← ptman left | 15:37 |
| rubydiam_ → rubydiamond | 15:38 |
|
jnareb
| pity that GSoC2008 gitweb caching didn't get hoped for results: caching in git.git, and maintainer for gitweb or adming for kernel.org... | 15:39 |
|
SRabbelier
| jnareb: whatever happened to lea's work? | 15:39 |
|
jnareb
| three big commits | 15:40 |
|
| it is there, but not merged in | 15:40 |
|
SRabbelier
| jnareb: they never got accepted? | 15:40 |
|
jnareb
| I have merging it in smaller chunks in my gitweb TODOs | 15:40 |
| → cedricv joined | 15:40 |
|
jnareb
| Lea send some preparatory patches that got accepted | 15:40 |
|
| SRabbelier nods | 15:41 |
|
SRabbelier
| jnareb: how come they never got merged? | 15:41 |
|
jnareb
| but not the large ones: Mechanize test, Git::Repo and caching | 15:41 |
|
SRabbelier
| jnareb: what was wrong with the tests? | 15:41 |
| ← stillLotR left | 15:41 |
|
jnareb
| SRabbelier: big patches and bad timing (feature freeeze), IIRC | 15:41 |
|
SRabbelier
| jnareb: :-/ | 15:42 |
|
| jnareb: resend? | 15:42 |
|
jnareb
| SRabbelier: and lack of time from reviewers (me, GSoC mentor,...) | 15:42 |
|
SRabbelier
| jnareb: sounds like a resend might get it accepted after all? | 15:43 |
|
jnareb
| beside Mechanize test got "improved" so it doesn't no longer work standalone, as ./t-9503-gitweb-Mechanize.sh | 15:43 |
|
| OTOH you can test it with different Perl versions | 15:43 |
|
SRabbelier
| mhhh | 15:43 |
| → gambler_ joined | 15:43 |
|
jnareb
| ./t9503-gitweb-Mechanize.sh from t/ directory | 15:44 |
|
SRabbelier
| jnareb: it is based off her work? | 15:44 |
|
jnareb
| and it should be, because debugging usually begins with request for "sh -x ./t**** --verbose --debug" | 15:44 |
|
SRabbelier
| hehe :P | 15:44 |
|
jnareb
| SRabbelier: it is her work | 15:44 |
|
SRabbelier
| jnareb: -nods-, ok | 15:44 |
|
| jnareb: so that patch got ~ accepted? | 15:44 |
|
| (albeit in a different form) | 15:44 |
|
jnareb
| well, at least the work is here, and everybody can access it, and even apply for their own gitweb installation if needed | 15:45 |
|
| SRabbelier: nope. It got resend corrected. | 15:45 |
|
| SRabbelier: in 0/3 _large_ patch series, IIRC | 15:46 |
|
SRabbelier
| jnareb: erm, what do you mean? | 15:46 |
|
moccuo
| im new to using git, and i've reached a point in my code where i want to go back to a certain commit, and start over from there. how can i do this? | 15:46 |
|
tango_
| moccuo, discarding all subsequente changes? | 15:47 |
|
moccuo
| tango_: hmm, no | 15:47 |
|
| if thats an option | 15:47 |
| → madewokherd joined | 15:47 |
|
SRabbelier
| moccuo: then what do you want to do with those changes? | 15:47 |
|
tango_
| then I would go with a git branch firstmethod, which will make the branch firstmethod begin at the point you're at | 15:47 |
|
jnareb
| when there was time to send final version of gitweb-caching work, they were send as two big patches: v10 Mechanize test (from zero), v3 Git::Repo (from zero), v2 gitweb caching (cahcing _and_ use of Git::Repo) | 15:48 |
|
tango_
| moccuo, and then checkout out another branch at the place you want to start from | 15:48 |
|
jnareb
| s/two/three/ | 15:48 |
|
| jnareb apparently can't count ;-) | 15:48 |
|
SRabbelier
| jnareb: right, but you say that later on the v10 Mechanize test got accepted | 15:48 |
|
jnareb
| err... no, there is no t/t9503-gitweb-Mechanize.sh in git.git (I think not even in pu) | 15:49 |
|
| unfortunately | 15:49 |
|
SRabbelier
| jnareb: oooooh, like that | 15:49 |
|
| jnareb: ok, now you're making sense :) | 15:50 |
| ← gambler left | 15:50 |
|
SRabbelier
| jnareb: it got resent, but never accepted? | 15:50 |
|
jnareb
| yep, dropped on the flow | 15:50 |
|
| not getting reviews probably wouldn't help ;-/// | 15:50 |
|
SRabbelier
| jnareb: mhhh, lame | 15:50 |
|
jnareb
| and large size didn't help getting reviews :-((( | 15:51 |
|
SRabbelier
| jnareb: aye, but if it's adding a new test, how do you split that up... | 15:51 |
|
moccuo
| tango_: ok, what about going back to the last commit you did? discarding all the unindexed changes that you've made? | 15:52 |
|
jnareb
| I would at least split off the "$(PERL_PATH)" stuff that no other test currently uses (which is not done completely right, and AFAICT caused ./t9503-* to fail) | 15:52 |
|
tango_
| moccuo, git reset --hard HEAD | 15:52 |
|
moccuo
| would it be the same way? | 15:52 |
|
| ah, kk | 15:52 |
|
jnareb
| moccuo: git reset --hard HEAD | 15:52 |
|
SRabbelier
| jnareb: -nods-, have you spoken with her since? | 15:53 |
| ← chris2 left | 15:53 |
|
jnareb
| nope, lea is not active on git mailing list... perhaps I should try IRC (lea_w) or Google Talk... | 15:53 |
|
SRabbelier
| jnareb: mail her? ;) | 15:54 |
| → LiamH joined | 15:54 |
|
jnareb
| SRabbelier: having to work around *bugs* (well, bug) in WWW::Mechanize::CGI didn't help either | 15:54 |
|
SRabbelier
| jnareb: hehe, lame :-/ | 15:54 |
|
jnareb
| SRabbelier: sent' bugreport to CPAN, no reply... | 15:54 |
|
SRabbelier
| jnareb: d'oh, is it no longer maintained? | 15:55 |
|
jnareb
| 11 Dec 2005 <--- doesn't look like it | 15:56 |
|
| and I don't know enough about CPAN to be sure if it is possible to send patches to unmaintained modules | 15:57 |
|
| and fix _is_ very simple | 15:57 |
| → drizzd_ joined | 15:58 |
| → exon joined | 15:59 |
|
jnareb
| the bug is about space in pathname to CGI script | 16:00 |
|
SRabbelier
| jnareb: offer to become maintainer? :p | 16:00 |
| ← ferdy left | 16:00 |
|
SRabbelier
| jnareb: even if only to get that patch in | 16:01 |
|
jnareb
| Gah | 16:01 |
|
| I'm not Perl guru | 16:01 |
|
| probably not all of module maitainers are, though... | 16:01 |
|
SRabbelier
| jnareb: exactly ;) | 16:02 |
| → loinclot_ joined | 16:03 |
|
jnareb
| I was hoping for some resident (and temporaries) Perl gurus like for example merlyn to take mantle ;-P | 16:04 |
|
SRabbelier
| jnareb: poke them? :D | 16:04 |
| → ferdy joined | 16:05 |
| ← ciaran left | 16:05 |
| → careo_ joined | 16:06 |
| ← loincloth left | 16:07 |
| → pygi joined | 16:08 |
| ← Ilari left | 16:09 |
|
moccuo
| tango_: and is there a way to undo that? or no | 16:10 |
|
tango_
| moccuo, I think that the reflog can be used for that, but it's something I never did and I don't know how to do it, sorry | 16:11 |
|
SRabbelier
| moccuo: mhhh, not really | 16:12 |
|
| moccuo: unless you 'git add'-ed them earlier | 16:12 |
| ← pygi left | 16:12 |
|
jnareb
| git reset --head HEAD@{1} / or HEAD@{2}; check "git reflog" output | 16:12 |
| → Mario_ joined | 16:12 |
|
SRabbelier
| moccuo: (in which case you can find the mwith lost-found) | 16:12 |
| → hansengel joined | 16:12 |
|
SRabbelier
| jnareb: you mean git reset --hard, not --head :P | 16:12 |
|
hansengel
| Hi, I just built Git from source and tried running git-daemon, but I get "Command not found." Tried building again with `make git-daemon` and `sudo make install` - still nonexistent. | 16:13 |
|
| How do I get git-daemon installed? | 16:13 |
|
jnareb
| moccuo, SRabbelier: --hard, and it wouldn't truly help with recovering unstaged changes after reset. it is '--hard' for a reason (like 'rm -rf') | 16:13 |
|
SRabbelier
| jnareb: yes, that's what I mean too | 16:13 |
|
jnareb
| hansengel: man git-daemon section EXAMPLES | 16:14 |
|
rboyd
| hansengel: you might want to check out gitosis instead | 16:14 |
|
jnareb
| Gitbot: ? | 16:14 |
|
hansengel
| rboyd: I just want to have a public git server on my network, authentication isn't important here | 16:14 |
|
moccuo
| !botsnack | 16:14 |
| ← drizzd left | 16:14 |
|
rboyd
| okiedokie | 16:14 |
|
hansengel
| jnareb: It wasn't installed at all. I get 'No manual entry for git-daemon`. | 16:15 |
|
| (This is Git 1.6.0.4.) | 16:15 |
|
rboyd
| man, I'm trying to quit smoking cold turkey (again) | 16:15 |
|
hansengel
| All of the other git commands are working fine | 16:15 |
|
rboyd
| sux | 16:15 |
|
Mikachu
| why would you smoke cold turkey? :P | 16:16 |
|
hansengel
| haha | 16:16 |
|
doener
| hansengel: make quick-install-doc | 16:16 |
|
| hansengel: and it's "git daemon" | 16:16 |
|
hansengel
| doener: Oh.. dumb me, forgot that they removed all of the git-* stuff | 16:17 |
|
| Thank you :) | 16:17 |
|
jnareb
| hansengel: what distribution? if it is Debian derivative, it has many split patches for git | 16:17 |
|
hansengel
| jnareb: Yeah, it is.. Ubuntu | 16:17 |
|
doener
| hardly matters for an installation from source though ;-) | 16:17 |
|
Mikachu
| jnareb: <hansengel> Hi, I just built Git from source | 16:17 |
|
jnareb
| I think that git-daemon is one of the few server commands which do have dashed version (git-shell and git-cvsserver are example other) | 16:18 |
|
Mikachu
| it doesn't | 16:18 |
|
jnareb
| Hmmm... | 16:19 |
|
SRabbelier
| jnareb: correct | 16:20 |
|
Mikachu
| it's a separate binary, but it isn't in $PATH | 16:20 |
|
LiamH
| Is there a way to "unadd" files that have been added but not committed? I want to put them in a different place. | 16:20 |
|
SRabbelier
| jnareb: errr, wait, isn't it only git-send-pack and git-receive-pack? | 16:20 |
|
doener
| only the "remotely" called ones have the dashed forms available. | 16:20 |
|
Mikachu
| git-shell is in $PATH i think, maybe only $ROOTPATH | 16:20 |
|
| no, it's in /usr/bin | 16:20 |
|
| LiamH: git reset file | 16:20 |
|
SRabbelier
| LiamH: git rm --cached | 16:20 |
|
hansengel
| Also, how can I make git-daemon be a daemon? lol | 16:20 |
|
SRabbelier
| LiamH: oh, that would be better probably | 16:21 |
|
hansengel
| Right now it's not | 16:21 |
|
doener
| hansengel: --detach | 16:21 |
|
hansengel
| doener: Thanks :) | 16:21 |
|
LiamH
| Mikachu, SRabbelier: thanks | 16:21 |
| ← rubydiamond left | 16:21 |
| ← careo left | 16:21 |
| ← scrooloose left | 16:22 |
| → samthetechie joined | 16:22 |
| ← samthetechie left | 16:23 |
| ← hansengel left | 16:23 |
| → scrooloose joined | 16:26 |
| → coderdad_ joined | 16:28 |
| → ptman joined | 16:31 |
|
jnareb
| See you later | 16:32 |
| ← jnareb left | 16:32 |
| → fynn joined | 16:32 |
|
fynn
| Hi | 16:32 |
|
| suppose we have a repo at /repo, with /repo/foo.py and /repo/baz.py | 16:33 |
| ← muthu_ left | 16:33 |
|
fynn
| we also have a plain directory /somedir, with the same files. | 16:33 |
| ← doener left | 16:33 |
| → doener joined | 16:33 |
|
rboyd
| hey doener | 16:34 |
|
fynn
| now we want to make /somedir a repository, which is the exact copy of /repo, except some changes in /somedir/baz.py would be preserved. | 16:34 |
|
| one way that works is to simply copy /repo/.git to /somedir | 16:35 |
|
| and then behave like /somedir/baz.py is a tracked file with local modifications. | 16:35 |
|
| but is there another, more standard way of doing that? | 16:35 |
| ← ia left | 16:35 |
|
fynn
| (somehow, copying .git around seems a bit dirty) | 16:35 |
| ← Mikachu left | 16:36 |
|
offby1
| fynn: I don't think there's anything at all wrong with copying .git, odd as that might sound. | 16:36 |
|
| I am pretty sure git was designed so that it's safe to do exactly that | 16:36 |
|
doener
| hi rboyd | 16:36 |
|
offby1
| I've certainly done it a bunch of times with no trouble. | 16:37 |
| → rdavila joined | 16:39 |
| ← rdavila left | 16:39 |
| ← kanru left | 16:39 |
|
bremner
| only the evil case-insensitive-clod file systems cause trouble | 16:39 |
| → Ramblurr joined | 16:40 |
|
fynn
| offby1: hm, I'm surprised the use-case is clear. didn't think anyone else was doing that. | 16:41 |
|
offby1
| oh it's quite convenient | 16:42 |
|
fynn
| I thought I'd ask about it and nobody would understand what I'm talking about. | 16:42 |
|
offby1
| I use it to copy a repository without dragging the working tree along | 16:42 |
|
fynn
| right, that's sort of what we're doing as well. | 16:42 |
|
offby1
| you're using it to do a quick clone that preserves some changes that you've already made | 16:42 |
|
fynn
| yeah, exactly. | 16:42 |
|
offby1
| your case and mine are really the same | 16:42 |
|
rboyd
| fynn: couldn't you just git init in /somedir, git remote add old /repo, branch, pull, merge? | 16:42 |
|
offby1
| rboyd: I imagine that'd work too | 16:43 |
|
doener
| pull is already fetch + merge ;-) | 16:43 |
|
offby1
| fynn: the difference between a simply copy, and what rboyd is suggesting, is that rboyd's scheme sets up the new repository to conveniently "track" the old, whereas with your scheme, you'd have to do the "git remote add" by hand afterwards, if you wanted that tracking. | 16:43 |
|
| s/simply/simple/ | 16:44 |
|
fynn
| yeah | 16:44 |
|
doener
| at the same time, the "copy .git" way keeps the remotes that were setup in the old repo | 16:44 |
| ← coderdad left | 16:44 |
|
doener
| which might also have some benefit | 16:44 |
|
offby1
| ayup | 16:44 |
|
fynn
| actually, what we're doing is "updating" somdir with /repo every once in a while | 16:45 |
|
offby1
| aha | 16:45 |
| → coderdad joined | 16:45 |
|
offby1
| then copying .git suddenly sounds like a bad idea | 16:45 |
|
| I'd look into rboyd's plan | 16:45 |
| ← coderdad_ left | 16:45 |
| ← harinath left | 16:45 |
|
fynn
| only problem is, /repo isn't always accessible by the machine where /somedir is :) | 16:45 |
|
offby1
| so update when it _is_ accessible :) | 16:45 |
|
rboyd
| offby1: you can drop the remotes easily enough though | 16:46 |
|
offby1
| and you've now got the classic straightforward use-case for distributed revision contorl | 16:46 |
|
| control | 16:46 |
|
fynn
| yeah, an emerging solution: put /repo in the local machine, every once in a while update it by copying /repo from the origin machine, then do a pull. | 16:46 |
|
offby1
| well ... | 16:46 |
|
doener
| just "git fetch" when you have connectivity. problem solved | 16:47 |
|
offby1
| that sounds kinda pointless, when you could just have the local machine be a clone of the original | 16:47 |
|
fynn
| offby1: ("isn't always accessible" in this case means, for some machines it's never accessible :) | 16:47 |
|
offby1
| yeah | 16:47 |
|
fynn
| doener: see ^ | 16:47 |
|
doener
| fynn: then look into "git bundle" | 16:47 |
|
offby1
| fynn: maybe you should consider putting a repository on some sort of removable media | 16:47 |
|
doener
| fynn: see ^ | 16:47 |
|
| :-) | 16:47 |
|
offby1
| ... or "git bundle",sure | 16:47 |
|
fynn
| offby1: that's _exactly_ what I'm doing | 16:47 |
|
| doener: every time I need something, turns out git already has something for doing it. | 16:48 |
|
offby1
| fynn: can you be more specific about your setup? What are these disconnected machines, and what's in the repository? (Or is it a Sekret™?) | 16:48 |
| → harinath joined | 16:48 |
|
offby1
| s/Sekret™/Sekrit™/ | 16:48 |
|
fynn
| offby1: it's not Sekret, it's Sikrit | 16:48 |
|
| right. | 16:48 |
|
offby1
| gotta uphold those spelling standards | 16:48 |
|
fynn
| well, we plan to take over the world, and... | 16:48 |
|
| oops | 16:48 |
|
offby1
| please don't kill me | 16:48 |
|
doener
| are you pondering what I'm pondering? | 16:48 |
|
fynn
| you're on the whitelist for now. | 16:49 |
|
| offby1: it's simple, really: we're using git for deployment. | 16:49 |
|
offby1
| aha | 16:49 |
|
| so the repository contains, e.g., a web site, database, etc. | 16:49 |
|
| I have this vague notion that that's a bad idea, but I can't articulate why (other than: "well, _my_ company doesn't use git for deployment" :-) | 16:49 |
|
fynn
| mostly just code files, but yeah. sometimes, the machine we deploy too (by disk-on-keys) has local modifications that we want to preserve, though not distribute. | 16:50 |
|
offby1
| yeah. | 16:50 |
|
| this comes up occasionally. | 16:50 |
| ← mw|out left | 16:50 |
|
fynn
| those local modifications are basically tweaks to conf files that are in the repo (to make them fit the specific host) | 16:50 |
|
| so what we did thus far was copy .git over to /somedir, 'git add -p' to preserve changes, and then 'git checkout .' | 16:51 |
|
| (cherry-pick changes, really) | 16:51 |
|
offby1
| You're soon going to be told about "git-update-index --assume-unchanged" | 16:51 |
|
fynn
| was told about it yesterday ;) | 16:52 |
|
offby1
| ah, that was you. Of course :) | 16:52 |
|
fynn
| sure, who asks all the interesting question around here | 16:52 |
|
offby1
| did I also give you the lecture about "don't check in those config files; instead, check in _templates_" ? | 16:52 |
|
fynn
| yes you did. | 16:52 |
|
offby1
| "that's what the #svn people say" ? | 16:52 |
|
| ah. | 16:52 |
|
| hence my dim recollection of all those things. | 16:52 |
|
fynn
| that's exactly what I thought, actually ;) | 16:52 |
|
offby1
| I'm not convinced that git makes a ton of sense for what you're doing. | 16:53 |
|
| I mean it'll probably work, but I don't think you're getting much benefit from it, as compared to ... I dunno ... some other way | 16:53 |
|
fynn
| I think it makes sense to use only templates in something centralized, but not in something distributed | 16:53 |
|
| offby1 channels RandalSchwartz | 16:53 |
|
offby1
| fynn: ooh, good point | 16:53 |
|
fynn
| I'm definitely open to suggestions... | 16:53 |
|
offby1
| just as I have a repository with my personal modifications to the Emacs source code (which upstream will never want) | 16:53 |
|
fynn
| not sure I see the disadvantage. git is fast, space-efficient, bug-free... | 16:54 |
|
| right, exactly | 16:54 |
|
offby1
| ... you have repositories with "local" (i.e., per-web-server) modifications to config files ... | 16:54 |
|
| ... each time they "pull", those modifications are nicely preserved ... | 16:54 |
|
| hmm | 16:54 |
|
fynn
| and it's very useful, since the customer sometimes makes silly changes to his tweaked confs | 16:54 |
|
| and then we need to revert those locally to the last working version. | 16:54 |
|
offby1
| fynn: I think you should nose around in the Ruby world -- I suspect that if anyone has experience with what you're trying, it'd be those guys. | 16:54 |
|
| oho! | 16:55 |
|
fynn
| yeah, to be quite honest, I'm happy with our setup :) | 16:55 |
|
offby1
| these web servers aren't under your direct control, but rather, under the control of your customers? | 16:55 |
|
fynn
| those aren't web servers :) | 16:55 |
|
offby1
| well, whatever they are | 16:55 |
|
fynn
| they're client machines, running software. | 16:55 |
|
offby1
| whatever. | 16:55 |
|
fynn
| and sure, we don't control them. | 16:55 |
|
offby1
| ah. | 16:55 |
| → elmex joined | 16:55 |
|
fynn
| you mean whatevah | 16:55 |
|
offby1
| that too. | 16:55 |
|
| wot eva | 16:55 |
|
fynn
| you've outdone me sir | 16:56 |
|
| they're laptops and desktops and such, and the clients possess them, unfortunately | 16:56 |
|
offby1
| well, I've been at this for a while. | 16:56 |
|
| this actually sounds pretty cool. | 16:56 |
|
fynn
| I mean, we did ask the clients to come and live in our server room | 16:56 |
|
| but for some reason, they all refuse :( | 16:56 |
| → eno joined | 16:56 |
|
offby1
| so to distribute a new release, you in effect tell those clients to just do a "git pull" | 16:56 |
|
fynn
| right. | 16:56 |
|
offby1
| I've wished Debian would distribute its releases that way, but for some reason they just keep ignoring me | 16:57 |
| ← rmh3093 left | 16:57 |
|
fynn
| while preserving local tweaks to their conf files, which are usually necessary. | 16:57 |
| ← elmex left | 16:57 |
|
fynn
| so basically, they pull all changes, except for foo.conf and baz.conf | 16:57 |
| → elmex joined | 16:57 |
|
fynn
| I think you call that "cherry picking"? | 16:57 |
|
offby1
| fynn: amusingly, I've recently become a fan of a tool called "etckeeper", which keeps /etc in a git repository. Every time I do "aptitude update", it checks in the current state of affairs ... that's pretty similar. | 16:57 |
| stouset → stouset|away | 16:57 |
|
offby1
| if they've committed their changes to foo.conf and baz.conf, they can literally do 'git pull', and their changes will be preserved. | 16:58 |
|
fynn
| offby1: yeah, it's reasonable for someone to copy my ingenious setup. | 16:58 |
|
offby1
| there's always a risk of conflict, though. | 16:58 |
|
fynn
| offby1: usually, it's OK to just pull. | 16:58 |
|
| i.e. we're aware of the fields which usually require local tweaking | 16:58 |
|
| and thus we don't change them upstream. | 16:58 |
|
offby1
| are the clients sophisticated enough to resolve a merge conflict on their own? | 16:58 |
|
fynn
| not really, not with a developer around. | 16:59 |
|
offby1
| figgers | 16:59 |
|
fynn
| yeah, those dummies :( | 16:59 |
| Mario_ → pygi | 16:59 |
|
offby1
| at worst you could write a program that invokes "git pull", and sends email to you if there's a conflict | 17:00 |
|
| a "wrapper", as it were. | 17:00 |
|
| So to speak. | 17:00 |
|
| Not to put too fine a point on it. | 17:00 |
|
fynn
| not a bad idea. also, as long as we make sure not to touch those "locally-tweaked" fields upstream, we're probably safe from conflicts. | 17:00 |
|
offby1
| (there's a cat attacking my keyboard; if I appear to spaz, that's the reason) | 17:00 |
|
fynn
| the email thing is a nice touch, what we get right now is a phone call from the client | 17:01 |
|
offby1
| in a perfect world, you wouldn't have to be mindful of those special fields | 17:01 |
|
fynn
| offby1: yeah, good excuse, now you can say something really offensive | 17:01 |
|
| how so? | 17:01 |
|
| in a perfect world, where clients are all masters of DVC? | 17:01 |
| → rmh3093 joined | 17:01 |
|
offby1
| wouldn't your developers rather just hack as they see fit, without having to remember "oh yeah, can't touch the [blarg] section because our customers may have tweaked it" ? | 17:02 |
|
fynn
| it would be nice, though it's generally not a huge deal; all those fields are in config files, and we generally hack on the code, rather than on those... | 17:02 |
|
offby1
| in a perfect world, where your developers handle the occasional merge conflict as it arises, but don't have to think about it before then | 17:02 |
|
| well, OK, then; you've convinced me you've got a decent setup | 17:03 |
|
fynn
| that's pretty much as it is right now :) | 17:03 |
|
| yeah, almost always, the only change to conf files is, we add fields when we add configurable features. | 17:03 |
|
| so we almost never do anything but add lines to the file. | 17:04 |
|
| offby1: thanks for discussing this with me, was fun. | 17:04 |
|
offby1
| mmrph. | 17:04 |
|
| fynn assumes that was "you're kindly welcome" in Klingon | 17:05 |
| → jackdempsey joined | 17:05 |
|
offby1
| something like that | 17:06 |
|
| <kaching>Thank you, come again! | 17:06 |
| → GNUtoo joined | 17:08 |
|
GNUtoo
| hello, i've forgetten to do git-add and to commit to my personal git repo for some time so i did a git-add * in my code folder(2.7GB inside) and git-add says: fatal: Out of memory, malloc failed...what should I do? | 17:13 |
| stouset|away → stouset | 17:13 |
|
GNUtoo
| should I do a shell script that add each folder in the root directory separately | 17:14 |
|
cehteh
| 2.7gb? | 17:15 |
|
| youve written a lot of code :) | 17:16 |
|
GNUtoo
| ah no...there is a file that shouldn't be there...i don't know what that's file and why it's there | 17:17 |
|
cehteh
| lol | 17:17 |
|
| its your folder :P | 17:17 |
|
GNUtoo
| now it works...no more malloc faillure... | 17:18 |
| ← xenoterracide left | 17:18 |
|
GNUtoo
| sorry for the annoyance | 17:18 |
|
| cehteh suggests to do small logic commits instead all at once | 17:18 |
|
GNUtoo
| yes i used to do that | 17:18 |
| → xenoterracide joined | 17:18 |
|
cehteh
| git gui may help there | 17:18 |
|
| or git commit --interactive | 17:19 |
| → DarkShad1w joined | 17:19 |
|
GNUtoo
| ok thanks a lot | 17:20 |
| → leethal joined | 17:21 |
| bcarlyon|laptop → BarryCarlyon | 17:23 |
| → ciaran joined | 17:23 |
| ← ciaran left | 17:24 |
| → ciaran joined | 17:24 |
| ← DarkShad1w left | 17:30 |
| ← cedricv left | 17:30 |
| → perezd88 joined | 17:31 |
| ← elendal left | 17:32 |
| stouset → stouset|away | 17:40 |
| ← robinr left | 17:44 |
| ← rmh3093 left | 17:47 |
| → cedricv joined | 17:47 |
| → rmh3093 joined | 17:47 |
| → d0k joined | 17:58 |
| ← Ramblurr left | 17:59 |
| ← thedoctor left | 18:03 |
| ← perezd88 left | 18:12 |
| ← coderdad left | 18:12 |
| → threeve joined | 18:12 |
| ← rphillips left | 18:13 |
| → rphillips joined | 18:13 |
| stouset|away → stouset | 18:15 |
| careo_ → careo | 18:17 |
| → coderdad joined | 18:20 |
| → peeja joined | 18:21 |
|
peeja
| I'm trying to track references to commits for a continuous integration system. is maintaining a ref in the $GIT_DIR a good way to do that? | 18:23 |
|
| and do I just touch it and git update-ref it, or is there a command for creating refs? | 18:23 |
|
doener
| git update-ref also creates new refs | 18:23 |
|
peeja
| even better :) | 18:24 |
|
| man, git rocks my friggin' world. | 18:25 |
| ← coderdad left | 18:26 |
|
offby1
| shake it, but don't break it. | 18:26 |
| ← stouset left | 18:28 |
| ← Tv left | 18:29 |
| → Ramblurr joined | 18:31 |
| → bieneff joined | 18:33 |
| → coderdad joined | 18:34 |
| ← rphillips left | 18:36 |
| → jm joined | 18:37 |
| → bobesponja joined | 18:40 |
| → rphillips joined | 18:40 |
| ← rphillips left | 18:41 |
| ← xanonus left | 18:43 |
| → koke joined | 18:47 |
| ← careo left | 18:48 |
| → careo joined | 18:49 |
| → dreiss joined | 18:49 |
| ← Ramblurr left | 18:53 |
| ← harinath left | 18:56 |
| ← jm left | 18:56 |
| ← coderdad left | 18:56 |
| → Ramblurr joined | 19:02 |
| → rolfb joined | 19:05 |
| → garbas joined | 19:07 |
|
garbas
| hey guys, is there any githg extension for mercurial? like gitsvn for subversion. | 19:08 |
| ← bobesponja left | 19:08 |
| ← abbe left | 19:09 |
|
offby1
| I think you can use "git fast-import" or something | 19:10 |
|
| although that might be just a one-time thing | 19:10 |
|
garbas
| offby1: yes, i would want to push some code after few changes. i see there is a was for hg to "read" git repos. | 19:11 |
| ← cedricv left | 19:12 |
|
offby1
| I would expect git, hg, darcs, monotone, and bzr all to interoperate (at least in theory) | 19:12 |
|
| there's something called "tailor" that might do that | 19:12 |
|
| garbas gugling | 19:13 |
|
offby1
| http://progetti.arstecnica.it/tailor | 19:14 |
|
| I suspect it doesn't work well, but then I'm a pessimist. | 19:14 |
| → komplex joined | 19:18 |
|
garbas
| offby1: hmm i think i'll stick with sending patches :P tnx anyway | 19:18 |
| ← mediogre left | 19:19 |
| ← BarryCarlyon left | 19:22 |
| → stopsineman joined | 19:22 |
|
stopsineman
| Hello All | 19:22 |
| ← dave_h_d left | 19:22 |
|
stopsineman
| Anyone home? | 19:22 |
| ← iulian left | 19:23 |
| → fhobia joined | 19:25 |
|
bremner
| who wants to know? | 19:25 |
|
stopsineman
| n00b git guy. :) | 19:26 |
|
| I'm trying to figure out the easiest way to ditch my google code hosting in favor of git | 19:26 |
|
bremner
| ooh, ok then. Welcome! | 19:26 |
|
stopsineman
| Figured I'd check in here and see if there are any smart people to help me :) | 19:26 |
|
bremner
| ahh, what do you need, just public hosting of a free project? | 19:27 |
|
stopsineman
| Not even | 19:27 |
|
| I just have a few personal projects that I want to SCM and I'm attracted to Gits local features with the option to publish at some later date (I am looking into github but that'd be later on I think). | 19:28 |
|
bremner
| do you have somewhere you can ssh to? | 19:28 |
| ← Ramblurr left | 19:28 |
|
stopsineman
| I basically just want to import my subversion history in the cleanest, lowest noise way possible with no intention of returning to subversion | 19:28 |
|
bremner
| I assume you have a bunch of projects in the svn repo? | 19:29 |
|
stopsineman
| nope, I've stuck with the single repo per project model | 19:29 |
|
bremner
| wow, I keep making it harder than necessary | 19:29 |
|
stopsineman
| Yeah, I'm really a newbie so I'm sure this is very simple | 19:29 |
|
| I was just getting a little tired of googling | 19:30 |
|
bremner
| stopsineman: so git-svn should work fine. | 19:30 |
|
Voker57
| stopsineman: http://tsunanet.blogspot.com/2007/07/learning-git-svn-in-5min.html | 19:30 |
|
stopsineman
| So the clone command is what I want? | 19:30 |
|
bremner
| mkdir project && cd project && git svn init $SVNURL && git svn fetch | 19:30 |
|
| ahh, maybe. Things change faster than I can keep up | 19:30 |
|
stopsineman
| I read [here](http://www.newartisans.com/blog_files/diving.into.git.php) about a -no-metadata switch that does something | 19:31 |
|
| Sounded somewhat tasty but I couldn't figure out exactly what it filtered out | 19:31 |
| → jm joined | 19:31 |
|
bremner
| I don't usually bother with anything fancy | 19:32 |
| → cedricv joined | 19:32 |
|
jogla
| git status takes several seconds to complete, why is this? | 19:33 |
|
| it used to be very fast a few weeks ago. | 19:33 |
|
Voker57
| much files on repo? | 19:33 |
| ← bieneff left | 19:33 |
|
jogla
| find | wc -l | 19:33 |
|
Voker57
| it has to check for modification on every one | 19:33 |
|
jogla
| 10375 | 19:33 |
|
| Is that much? | 19:33 |
| → Shezi joined | 19:33 |
| ← jsimonss left | 19:33 |
|
Voker57
| for two seconds it's ok | 19:34 |
|
stopsineman
| OK, well I've g2g, but that looks like what I was looking for. Thanks for the help bremner. | 19:34 |
|
Voker57
| it's like 7 sec here on big project | 19:34 |
|
bremner
| stopsineman: no problem | 19:35 |
|
jogla
| what does 'big project' mean? | 19:35 |
| ← stopsineman left | 19:35 |
|
jogla
| Voker57: How much files and how much mega bytes do you have? | 19:35 |
|
sstangl
| jogla: mb doesn't matter, only number of files tracked | 19:35 |
| → Ramblurr joined | 19:36 |
|
Voker57
| 342 mb and lots of files in nested dirs | 19:36 |
|
| dunno how to count'em | 19:36 |
|
| ah | 19:36 |
|
| find | wc -l 12324 | 19:36 |
| → name joined | 19:38 |
|
jogla
| than we have a similar amount | 19:39 |
| → rdavila joined | 19:39 |
|
doener
| jogla: nfs? | 19:40 |
|
jogla
| No | 19:40 |
|
| ext3 | 19:40 |
|
doener
| hm. Should definitely not take that long. linux-2.6.git (25k tracked files) takes 0.1s with hot caches | 19:41 |
|
jogla
| If i were using nfs, i would probably put 10 threads in git status to screw up my cpu and everything else just to speed it up 2 seconds ;) | 19:41 |
|
Voker57
| doener: with hot caches, yes | 19:42 |
|
jogla
| doener: its after doing something different for a while | 19:42 |
| ← Shezi left | 19:42 |
|
Voker57
| time git status > /dev/null | 19:42 |
|
| git status > /dev/null 0.04s | 19:42 |
|
jogla
| with hot caches, it is as fast as print 'Hello World' | 19:42 |
|
| real 0m0.160s | 19:43 |
|
| Hmm.. | 19:43 |
|
| slower than yours | 19:43 |
|
| with less files | 19:43 |
|
| ah, its an encrypted file system. | 19:43 |
| ← gonzo- left | 19:46 |
| ← rdavila left | 19:47 |
| → coderdad joined | 19:49 |
|
segher
| real 0m0.548s on the GCC tree | 19:50 |
|
| and that's a lot bigger than the linux tree | 19:51 |
|
| git is *way* too fast :-) | 19:52 |
| ← Weaselweb left | 19:52 |
| → Sigma joined | 19:53 |
|
shd
| segher: what did you do? | 19:53 |
|
| segher: git status? | 19:54 |
| → Weaselweb joined | 19:54 |
| → jsimonss joined | 19:54 |
| → ciaran_ joined | 19:54 |
| ← ciaran left | 19:54 |
| ← ph^ left | 19:55 |
| → gonzo- joined | 19:56 |
| → davidfetter joined | 19:56 |
|
segher
| time git status > /dev/null , like voker57 | 19:57 |
| ← jsimonss left | 19:57 |
|
shd
| segher: what about cold cache? | 19:59 |
|
segher
| how do i get a cold cache :-) | 20:00 |
|
shd
| linux 2.6 git tree gives me 24.3s vs 0.31s | 20:00 |
|
| echo 1 > /proc/sys/vm/drop_caches | 20:00 |
|
| (as root) | 20:00 |
|
segher
| well exactly. i'm not root on my dev box | 20:01 |
| → chris2 joined | 20:01 |
|
shd
| well, the alternative is to do: cat bigfiles >/dev/null | 20:01 |
|
charon
| shd: didn't linus say on the list that you need to 'echo 3' as one bit is for the metadata and one for the actual contents? | 20:01 |
|
shd
| or write lots of data from /dev/zero to file | 20:01 |
|
segher
| that will a) only throw away part of the cache; and b) this box has 16GB of ram, it's pretty hard to kill that cache no matter what | 20:02 |
|
shd
| charon: yes, it seems so. echo 1 -> 16.5s, echo 3 -> 24.8s | 20:02 |
| ← coderdad left | 20:03 |
|
segher
| 25s isn't bad at all | 20:03 |
|
shd
| segher: can you try "svn status" on a gcc tre? | 20:04 |
|
segher
| let's see if i have one around | 20:04 |
|
shd
| time hg status gives me 14.9 vs 2.4s | 20:05 |
|
| (on gcc tree) | 20:05 |
|
segher
| shd: do you want this on the same box? | 20:05 |
|
shd
| segher: preferably yes | 20:05 |
|
segher
| i'll do a fresh clone i suppose, give me a minute | 20:06 |
| → bobmcw joined | 20:06 |
|
segher
| oh, on another box with both -- and cold cache there, i haven't used it for six months or so :-) | 20:07 |
| → gottesmm joined | 20:07 |
|
segher
| cold: | 20:08 |
|
| $ time git status > /dev/null | 20:08 |
|
| real 0m21.604s | 20:08 |
|
| user 0m0.312s | 20:08 |
|
| sys 0m1.136s | 20:08 |
| → ciaran joined | 20:08 |
|
segher
| hot: | 20:08 |
|
| $ time git status > /dev/null | 20:08 |
|
| real 0m0.721s | 20:08 |
|
| user 0m0.268s | 20:08 |
|
| sys 0m0.452s | 20:08 |
|
DrNick
| git status consistently runs faster for me when not redirected to /dev/null | 20:09 |
|
segher
| $ time svn status > /dev/null | 20:09 |
|
| real 0m26.394s | 20:09 |
|
| user 0m0.728s | 20:09 |
|
| sys 0m1.540s | 20:09 |
| ← Voker57 left | 20:10 |
|
segher
| $ time svn status > /dev/null | 20:10 |
|
| real 0m1.475s | 20:10 |
|
| user 0m0.752s | 20:10 |
|
| sys 0m0.460s | 20:10 |
|
bobmcw
| didja turn off the pager? | 20:10 |
|
shd
| segher: svn seems to be fast enough | 20:10 |
|
segher
| quite noticably slower though | 20:10 |
| ← Ramblurr left | 20:13 |
| → coderdad joined | 20:13 |
| ← charon left | 20:17 |
| ← gonzo- left | 20:19 |
| → bieneff joined | 20:21 |
| ← pygi left | 20:22 |
| → ia joined | 20:23 |
| → markelikalderon joined | 20:23 |
| ← ciaran_ left | 20:24 |
| ← fhobia left | 20:25 |
| → robberknight joined | 20:27 |
| → lu_zero joined | 20:30 |
| → drewr joined | 20:32 |
|
robberknight
| Hi, I'm trying to create a good config for a git hosting server. Each user with write access will get his own user-id with his authorized_keys and will be restricted to git-shell. I plan to use group-membership to control access. All repositorys will be placed under /srv/git. | 20:36 |
|
| But now everyone must access svn://user@server/srv/git/repositoryname. Is there any way to reduce this to svn://user@server/repositoryname? | 20:36 |
| → aspotashev joined | 20:37 |
|
jast
| svn? this is #git. folks in here tend to know little about svn hosting stuff. | 20:40 |
|
| but i think that was just a (repeat) typo. :) | 20:41 |
|
robberknight
| oops, i meant ssh | 20:41 |
|
| just thinking too much of what I want to get away from | 20:41 |
|
jast
| i'm actually not sure if the ssh:// syntax allows relative paths | 20:42 |
|
| suppose each user has /srv/git set as home directory, then user@server:repositoryname should work | 20:43 |
| → levander joined | 20:43 |
|
levander
| Is there a way to have git-log send it's output to emacsclient? | 20:43 |
|
robberknight
| yeah, but then i can't have individual .ssh/authorized_keys | 20:43 |
| ← rmh3093 left | 20:44 |
|
jast
| well, one alternative might be to symlink all repositories a user has write access to into their homedir | 20:44 |
| → bgerber joined | 20:44 |
| ← moccuo left | 20:44 |
| → rmh3093 joined | 20:45 |
|
robberknight
| ok, this would work. I'd have to write a script to always keep this up to date | 20:45 |
|
bobmcw
| or you could do magic with symlinks | 20:45 |
| → moccuo joined | 20:45 |
|
bobmcw
| $HOME/somerepo -> /srv/git/somerepo | 20:45 |
|
| jast: sorry, didn't mean to dupe; I should read better. | 20:46 |
|
jast
| oh, don't worry, i'll live. ;) | 20:46 |
|
robberknight
| do you know of a more elegant way where i don't have to update lots of symlinks always i add or remove a repo? | 20:47 |
|
mugwump
| robberknight: the simple way you're looking for is to use a tool like gitosis, gitorious or repo that does all that stuff for you. | 20:47 |
|
| or license github's software :) | 20:47 |
|
robberknight
| mugwump: do you have experience with any of these tools? | 20:48 |
|
jast
| psssht, you can't go and tell everyone the secrets of our success | 20:48 |
|
| but seriously, gitosis is extremely cool | 20:48 |
|
| the one downside is that only administrators can change keys and permissions and such | 20:48 |
|
mugwump
| I don't, but then I don't mind making a /git symlink | 20:48 |
|
| and setting up users etc - already had all that infrastructure | 20:48 |
|
jast
| repo doesn't provide shortened paths, by the way | 20:49 |
|
robberknight
| the thing i fear most are security bugs in of the tools | 20:49 |
|
| ...in one of ... | 20:50 |
|
jast
| repo runs in a chroot | 20:50 |
| → ciskje joined | 20:50 |
|
jast
| including the sshd for its interface | 20:50 |
|
robberknight
| but when it's missing the shortened paths it won't help me or did i missunderstood that part? | 20:51 |
|
jast
| if you absolutely need the shortened paths, then no, you understood that correctly | 20:51 |
|
| (repo isn't suited for most types of commercial hosting anyway since it doesn't support private repositories) | 20:52 |
|
robberknight
| i want to be able to move around the paths without the users noticing it | 20:52 |
|
| i don't want to do "commercial hosting" as in taking money for hosting | 20:52 |
| ← zewerson left | 20:54 |
|
jast
| just saying | 20:54 |
|
| but in that case the symlink solution may be helpful for more than just shortening paths | 20:54 |
|
robberknight
| i want to be able to give nearly untrusted contributers their own repo without sacrifying security of the main project | 20:55 |
| ← lu_zero left | 20:55 |
| ← chris2 left | 20:55 |
|
robberknight
| i've seen too many disto break-ins (debian, fedora...) to not be concerned about that | 20:56 |
|
segher
| you could always hack up git-shell to do that repo shortening thing, and anything else you desire | 20:56 |
| ← gerberb left | 20:58 |
| ← rolfb left | 20:58 |
|
jast
| that might be difficult | 20:59 |
|
robberknight
| segher: yeah, but asking someone more familiar with the stuff could have saved me writing dozend of patches now all thrown out again | 20:59 |
|
jast
| git-shell is currently *very* small because that way it's a lot easier to verify that it's bug-free | 20:59 |
|
segher
| jast: certainly, but adding heaps of server configuration is adding complexity just the same | 21:00 |
|
jast
| well, if it's okay with you to manage all access configuration (including keys and such) yourself, via a fairly convenient interface, consider using gitosis | 21:00 |
|
robberknight
| just came up with another idea: telling sshd to look somewhere else for authorized keys | 21:01 |
|
segher
| sshd can do that just fine. if that is all you need, that might be the easiest solution for you | 21:02 |
|
mugwump
| it's pretty easy really - just make a unix group for each project and set them to shared=group | 21:02 |
|
robberknight
| it seems like this can be done with the AuthorizedKeysFile parameter in sshd_config - so every user would get /srv/git as home | 21:02 |
|
jast
| i think repo does this, in fact | 21:02 |
|
robberknight
| but i'll still take a look at gitosis, maybe it can fix some problem i'm not aware of yet... | 21:03 |
|
jast
| AuthorizedKeysFile /etc/sshkeys/%u | 21:03 |
| ← jackdempsey left | 21:04 |
| → exon_ joined | 21:07 |
| ← exon left | 21:07 |
| → moccuo_ joined | 21:08 |
| ← d0k left | 21:13 |
| → dave_h_d joined | 21:13 |
| → lu_zero joined | 21:14 |
| → bartocc joined | 21:17 |
| loinclot_ → loincloth | 21:19 |
| ← bobmcw left | 21:20 |
| ← GNUtoo left | 21:21 |
| → ivazquez1 joined | 21:23 |
| ← moccuo left | 21:23 |
| → vuf joined | 21:24 |
|
nud
| where is the libgit2 repository gone? | 21:24 |
| → spearce joined | 21:25 |
|
frsk
| efhbhkhehgjftluvurntrfnlutvengkueghvuggctkjb | 21:25 |
|
| Ah, damn, wrong window | 21:25 |
|
| sorry | 21:25 |
| ← scientes left | 21:25 |
| ← exon_ left | 21:25 |
|
nud
| spearce: where is the libgit2 repository gone? | 21:26 |
|
| looks like the url you gave at first is not valid anymore | 21:26 |
| → scientes joined | 21:26 |
|
spearce
| nud: http://www.speace.org/projects/libgit2.git ? | 21:27 |
|
| spearce double checks the url... | 21:27 |
| ← bartocc left | 21:27 |
|
spearce
| ah, git clone http://www.spearce.org/projects/scm/libgit2/libgit2.git | 21:27 |
| ← vargadanis left | 21:27 |
| → bartocc joined | 21:27 |
|
nud
| spearce: wasn't it updated since 11/04 ? | 21:28 |
|
spearce
| unlikely | 21:28 |
|
| i haven't had time to work on it in recent weeks | 21:28 |
|
nud
| ah ok | 21:28 |
|
spearce
| andreas has been doing work, but due to copyright concerns can't publish it yet as he's stealing code from git.git | 21:28 |
|
| there's threads on git ml about getting permission to relicense under the libgit2 license | 21:28 |
|
lucsky
| that licensing thread is quite depressing actually | 21:29 |
|
nud
| ok | 21:29 |
|
| I hoped there were some published code so I could put my hands in it | 21:29 |
|
| I guess it's not worth the pain if there is a lot of new code to be published anyway | 21:30 |
| ← BartVB left | 21:34 |
| → mosno joined | 21:35 |
|
MadCoder
| lucsky: I don't think so | 21:36 |
|
| lucsky: I was quite surprised Linus actually agreed to the relicensing, and I would bet most other people would agree | 21:37 |
|
| I think GPL+gcc exception quite makes a consensus | 21:37 |
|
spearce
| yea, i was shocked he agreed with the text. | 21:37 |
| → bartocc_ joined | 21:37 |
|
spearce
| most of the major contributors though appear to be ok with the text. which makes cribbing code from git.git into libgit2 reasonable. | 21:38 |
|
lucsky
| depressing in the sense that all this time babbling about legal crap could be spent on code | 21:38 |
| ← threeve left | 21:38 |
|
MadCoder
| lucsky: well don't read [email@hidden.address] nowadays then | 21:38 |
| ← drewr left | 21:38 |
|
lucsky
| MadCoder: not a chance :) | 21:38 |
|
MadCoder
| the thread on git@ is pretty short and straight to the point | 21:38 |
| ← ivazquez left | 21:39 |
| → xanonus joined | 21:39 |
| ivazquez1 → ivazquez | 21:39 |
|
jast
| yeah, the discussion about the license didn't take very long. personally i'd use a far more permissive license but this one probably gives the best chance of many people agreeing with the relicensing. | 21:43 |
| ← Weaselweb left | 21:44 |
|
spearce
| a few of us were ok with a 3-clause bsd, but many of the core contributors weren't ok with it. we didn't want to lose their contributions. | 21:44 |
|
jast
| yeah, i'm not protesting or anything | 21:45 |
| → ijcd joined | 21:45 |
| ← ijcd left | 21:46 |
|
MadCoder
| spearce: I'm even an MIT kind of guy when it comes to that btw, but oh well ;) | 21:46 |
|
jast
| i had this fuzzy idea of writing my own library with a strong focus on reading existing repositories and making the code more open towards scalability where the current git.git code isn't | 21:46 |
|
MadCoder
| the gcc exception is fine actually, I never thought about it, and I may reuse gplv2 + gcc for some projects of mine | 21:46 |
|
spearce
| yea, i'm happy with the gplv2+gcc too, but i haven't had the time to contribute to libgit2 in a while. :-| | 21:47 |
|
MadCoder
| jast: well git.git code scales quite well, unless you want to deal with _different_ repositories from the same process | 21:47 |
|
jast
| personally, in general, i'd consider using GPL 2+, LGPL 2+, Apache 2.0, BSD 3-clause, zlib licenses | 21:47 |
|
MadCoder
| spearce: I won't blame you | 21:47 |
|
| I'm totally swamped in work | 21:47 |
|
danderson
| spearce: should that repo url be git:// ? | 21:47 |
|
MadCoder
| I barely had time to take care of the few patches I have sent to the list | 21:47 |
|
jast
| MadCoder, i meant things like requiring to keep files in memory for applying deltas | 21:47 |
|
| which limits the size of files git can deal with | 21:47 |
|
MadCoder
| like the git-branch-filter one | 21:47 |
|
| jast: bah, that's not really that a huge problem I think | 21:48 |
|
jast
| people have different needs | 21:48 |
|
MadCoder
| applying deltas is only done when you want a file or sth similar | 21:48 |
|
| which is often asked by humans, hence is done seldomly | 21:48 |
| ← gottesmm left | 21:48 |
|
MadCoder
| I'm more concerned with how the history is walked | 21:48 |
|
jast
| you need to apply deltas pretty much every time you read a file from a pack | 21:48 |
|
MadCoder
| current code is allocate-and-never-give-back | 21:49 |
|
jast
| and that happens when diffs are generated etc. etc. | 21:49 |
|
MadCoder
| which sucks badly for long lived processes | 21:49 |
|
| sure | 21:49 |
|
| but see, for a typical e.g. gitweb usage, git log is used way more often than diffs are generated or files shown | 21:49 |
|
jast
| and i had a couple of vague ideas on how to cut down memory usage for that | 21:49 |
|
MadCoder
| and people usually want the last diffs or files, which are usually at the "top" of the delta chains, hence cost little | 21:49 |
|
jast
| yeah, and git log needs to read a lot of objects from pack files | 21:49 |
| → pygi joined | 21:50 |
|
MadCoder
| objects that are very small and seldomly in delta chains I think | 21:50 |
|
jast
| to be fair i don't know how often this stuff gets delta'd | 21:50 |
|
spearce
| commits almost never delta; trees however are almost always in delta chains | 21:50 |
|
robberknight
| jast, segher, mugwump: thanks for the discussion about the server setup, think I now know what config I'll use | 21:50 |
|
jast
| and you're certainly right that typical gitweb usage doesn't apply deltas all over the place | 21:51 |
|
MadCoder
| spearce: yeah, but even for linux2.6 I would bet trees are not megabytes-huge | 21:51 |
|
| probably more in the 10k | 21:51 |
|
spearce
| in pack v4 we decided to stop delta'ing commits altogether; there's no gain. | 21:51 |
|
MadCoder
| which is OK in memory | 21:51 |
|
jast
| are there some sort of specs for newer pack formats? | 21:51 |
| ← bartocc_ left | 21:51 |
| ← ph^_ left | 21:52 |
| ← robberknight left | 21:52 |
|
spearce
| jast: its in my and nico's head, but beyond that there's a thread from a while ago http://thread.gmane.org/gmane.comp.version-control.git/43016 | 21:52 |
|
jast
| thanks | 21:53 |
| ← bartocc left | 21:55 |
| ← lucsky left | 21:57 |
|
doener
| MadCoder: largest tree object in linux-2.6.git is about 34k. Having all tree objects unpacked would result in 1.3GB :-) | 21:57 |
|
jast
| spearce, are there any thoughts about polishing the delta mechanism? there's stuff like xdelta out there, after all, with a couple of advantages over git's delta format | 21:59 |
| ← bentob0x left | 22:00 |
|
MadCoder
| doener: I see no reason to unpack them _all_ | 22:00 |
|
| my point was just that the all in memory stuff isn't particularily the worst issue with git.git and scalability | 22:01 |
|
doener
| MadCoder: that number was just a side-effect of me being to stupid to run the right command ;-) | 22:01 |
|
spearce
| jast: no, no other formats for the deltas was considered. there's also vcdiff which has some ability to be used in a more streaming fashion than the git delta format. | 22:01 |
|
doener
| MadCoder: but I found it quite interesting to see that the trees alone would take more than a gig, with the repo being just ~240MB | 22:02 |
|
jast
| spearce, yeah, xdelta is an implementation of vcdiff. | 22:02 |
| ← _kid_ left | 22:04 |
| → _kid_ joined | 22:04 |
| ← bieneff left | 22:04 |
| Dreamer3 → pastie2 | 22:04 |
| → robinr joined | 22:05 |
| → bieneff joined | 22:05 |
| ← coderdad left | 22:07 |
| pastie2 → Dreamer3 | 22:07 |
| ← moccuo_ left | 22:10 |
| ← DrFrasierCrane left | 22:10 |
| → moccuo joined | 22:11 |
| → SmSpillaz joined | 22:12 |
| ← xenoterracide left | 22:13 |
| → coderdad joined | 22:14 |
| → bobesponja joined | 22:16 |
| → xenoterracide joined | 22:16 |
| → johnw joined | 22:18 |
| ← robinr left | 22:19 |
| → Ramblurr joined | 22:20 |
| ← litage left | 22:22 |
| ← johnw left | 22:25 |
| → johnw joined | 22:26 |
| ← Sigma left | 22:27 |
| → xenoterracide_ joined | 22:27 |
|
fynn
| suppose I have a text file with 10 lines: 1-10 | 22:27 |
|
| do I understand the merge model correctly: | 22:27 |
|
| if I add an 11th line between lines 6 and 7, all the lines from 7 onwards are "changed" | 22:28 |
|
| right? | 22:28 |
| ← xenoterracide left | 22:28 |
|
johnw
| no | 22:29 |
|
doener
| no. The new line 7 is added | 22:29 |
|
fynn
| OK, I'll explain my goal. | 22:29 |
|
| I have such a file, with changes, in a certain branch. | 22:29 |
|
| I'm merging from trunk, but there are some changes in the branch that I'd like to keep. | 22:29 |
| ← xenoterracide_ left | 22:30 |
|
fynn
| so I thought, the best way to avoid conflicts in merging, is to keep the changed lines in the branch as close as possible to the top of the file. | 22:30 |
|
thiago_home
| merge will work fine as long as the lines close by don't change | 22:30 |
|
| or the same line | 22:31 |
|
doener
| no, to avoid conflicts, you just don't change the same lines on both sides | 22:31 |
| ← coderdad left | 22:31 |
|
doener
| (plus some lines around the changed ones, maybe= | 22:31 |
|
| s/=/)/ | 22:31 |
|
fynn
| but I did some experiments, and when I added a line above the changed one, there was a conflict in the merge. | 22:31 |
| → charon joined | 22:31 |
|
fynn
| conversely, when I added any number of lines below the changed one, there were no conflicts... | 22:31 |
|
| (I thought it was because adding a line above the changed line caused it to be pushed downwards, while adding below it didn't change its relative position) | 22:32 |
| → Marmouset joined | 22:32 |
|
doener
| changing a line means deleting the old line and adding a new one | 22:32 |
| → bosie joined | 22:33 |
|
fynn
| OK, maybe I should retry some of the checks. | 22:33 |
|
doener
| so both sides added a line (different ones I guess), and one side additionally deleted a line | 22:33 |
| ← elmex left | 22:33 |
| → xenoterracide_ joined | 22:34 |
| → aquabu joined | 22:37 |
| ← Dreamer3 left | 22:38 |
| ← aquabu left | 22:38 |
|
fynn
| doener: I just tried again and it caused a conflict | 22:39 |
|
doener
| as expected. You touched the same area on both sides | 22:39 |
| ← jm left | 22:39 |
| → gottesmm joined | 22:40 |
| ← schlort left | 22:42 |
| Ademan__ → Ademan | 22:43 |
|
fynn
| doener, thiago_home: well, you were right. | 22:44 |
|
| adding a line below also caused the conflict. | 22:44 |
| → rofrol joined | 22:44 |
|
fynn
| is there a clear explanation of how the magic of merge works? at least in git? | 22:44 |
|
segher
| it's magic, so it has no explanation :-P | 22:45 |
|
fynn
| I'm sure _somebody_ knows. | 22:45 |
| ← binjured left | 22:46 |
|
jast
| the source code does. ;) | 22:46 |
|
fynn
| my goal is to arrange files in such a way that despite of downstream diffs, the number of conflicts would minimize. | 22:46 |
|
| jast: too bad there's no Python version of it :/ | 22:46 |
|
| the logic is probably complex and reading it expressed in C is not going to be the funnest afternoon ever. | 22:47 |
|
jast
| you can still read it | 22:47 |
|
| if you prefer, you can read the shell script version that used to be in git in 1.5.5 (and perhaps in 1.5.6 too, i can't remember) | 22:47 |
|
fynn
| anyways, something easier: how do I make it so 'git pull' in /repob automatically pulls from /repoa? | 22:47 |
|
jast
| that's a per-branch setting | 22:48 |
|
fynn
| OK, I want HEAD in /repob to automatically pull from HEAD in /repoa | 22:48 |
|
jast
| HEAD is not a branch, it's a symbolic reference to the currently checked out branch | 22:48 |
|
fynn
| I saw that in the config, but didn't manage to get it working. | 22:48 |
|
| fair enough... say /repoa and /repob both have only a single branch. | 22:49 |
|
jast
| you can only configure this for an actual branch | 22:49 |
|
| suppose that branch is 'master' | 22:49 |
|
fynn
| how do I do it? :> | 22:49 |
|
| but I haven't branched anything, I just 'git init' and committed away :/ | 22:49 |
|
jast
| yes, so you get a branch called master by default (you can verify this by using git branch) | 22:50 |
| → slypilot joined | 22:50 |
|
jast
| then, if the branch already exists locally, the easiest way is (currently) to create a section [branch "master"] in .git/config, and add the settings remote = someremote (i.e. the name of the remote you have added for /repoa) and merge = master (branch name in the remote repository) | 22:51 |
|
fynn
| jast: ah, I see. | 22:51 |
| ← bosie left | 22:51 |
|
fynn
| I tried configuring it, and it didn't work because I didn't know about the master thingie. | 22:51 |
|
jast
| i think there are plans to add a command that creates this stuff for branches that already exist | 22:51 |
| ← radarek left | 22:52 |
|
jast
| then it's a good thing you know it now. :) | 22:52 |
|
fynn
| non sense, who would keep the noobs in check then? bwahahaaha | 22:52 |
| → threeve joined | 22:52 |
|
jast
| because now you can be happy until the end of days. and all that. | 22:52 |
| ← xanonus left | 22:52 |
|
fynn
| yes, and we need to make things complex, so the noobs would know their place. | 22:52 |
|
| otherwise they get confident and eventually revolt. | 22:53 |
|
jast
| nah, the interface is getting refactored gradually to make all of these things easier | 22:53 |
|
| you should have seen git in Them Old Days (tm) | 22:53 |
|
spearce
| when all you had was a shell redirection to HEAD. :-) git-commit-tree $(git-write-tree) -p $(cat .git/HEAD) >.git/HEAD | 22:55 |
|
| and even that is i think somewhat modern. ;-) | 22:55 |
| → chris2 joined | 22:55 |
| ← slypilot left | 22:55 |
|
fynn
| jast: thanks. it seems that if the line itself, or the line immediately after it, are changed, then there could be a conflict. | 22:56 |
|
| if there's at least one un-changed line separating the changed line from the merged diffs, there wouldn't be conflict. | 22:56 |
|
| so one strategy could be keeping an empty line or a designated area for stuff that could change. | 22:57 |
| ← pygi left | 22:58 |
|
fynn
| argh, why is life so short. | 22:58 |
|
danderson
| in order to make us prioritize | 22:58 |
| → pygi joined | 22:58 |
| ← trochala left | 22:59 |
|
fynn
| s/after/adjacent/ | 23:01 |
| → mithro joined | 23:01 |
| alb → albertito | 23:07 |
| → coderdad joined | 23:08 |
| → k776 joined | 23:10 |
| ← paroneayea left | 23:10 |
| → paroneayea joined | 23:10 |
| → gcv joined | 23:11 |
| ← kumbayo left | 23:13 |
| → gitfoo joined | 23:15 |
|
gitfoo
| hi | 23:15 |
| ← fynn left | 23:15 |
|
gitfoo
| does the commit object hold the branch(es) the commit belongs to? if not, is there a way to know to what branches a commit belongs? | 23:16 |
|
jast
| branch names are basically just symbolic references to a commit (the most recent commit in that branch, if you will) | 23:16 |
|
| and each commit has references to its parent commit(s) | 23:16 |
| ← johnw left | 23:17 |
|
jast
| so the thing you could do is look at all branch names and traverse the commit history from each referenced commit to see in which chains your commit shows up | 23:17 |
|
gitfoo
| jast: and is there a way to give git a SHA1 and know what branch has this commit? | 23:17 |
|
mugwump
| name-rev | 23:17 |
|
gitfoo
| mugwump: thanks | 23:18 |
|
charon
| git branch --contains $sha1 for the full list of candidates | 23:18 |
|
| (how does name-rev choose? nearest?) | 23:18 |
| → slypilot joined | 23:18 |
| ← ciskje left | 23:19 |
|
gitfoo
| charon: thanks | 23:19 |
|
mugwump
| ask gitte? | 23:19 |
| ← mithro left | 23:20 |
| ← gitfoo left | 23:20 |
| ← peeja left | 23:21 |
| → gitfoo joined | 23:22 |
| → mithro joined | 23:22 |
| → litage joined | 23:23 |
| ← moccuo left | 23:23 |
| ← name left | 23:25 |
| ← tvw left | 23:27 |
|
MadCoder
| charon: yes | 23:29 |
|
| charon: it crawls every reference and choses the nearest one | 23:29 |
|
| it's quite expensive | 23:30 |
|
| especially the older the revision is | 23:30 |
| ← slypilot left | 23:30 |
| ← SmSpillaz left | 23:33 |
|
charon
| i see | 23:35 |
|
gitfoo
| MadCoder: does git branch --contains work like that too? | 23:35 |
| ← leethal left | 23:36 |
| → leethal joined | 23:37 |
|
jast
| it has to, because it needs to walk the commit chains of all branches | 23:38 |
|
MadCoder
| I don't know, probably | 23:38 |
|
| I never looked git branch --contains code | 23:38 |
|
| +at | 23:38 |
|
| I looked at git name-rev one :) | 23:39 |
| → Pupeno joined | 23:39 |
|
gitfoo
| ok :) | 23:39 |
|
Pupeno
| Using git-svn, how do I generate a patch that I can mail upstream to the svn maintainer? | 23:40 |
|
| I mean, to the original project I svn cloned from. | 23:40 |
|
mugwump
| you don't use git-svn for that | 23:40 |
|
| use git-format-patch etc | 23:40 |
|
offby1
| there's a familiar nick! | 23:41 |
|
mugwump
| heh, nice to see you offby1 but I've got a date with my stomach ... later :) | 23:41 |
|
offby1
| actually I meant Pupeno. | 23:41 |
|
MadCoder
| I believe --contains is slightly more efficient though | 23:42 |
|
| it just need to check accessibility, not count distances | 23:43 |
| → jnareb joined | 23:43 |
|
gitfoo
| ok | 23:44 |
| ← Yuuhi left | 23:47 |
| ← leethal left | 23:48 |
| xenoterracide_ → xenoterracide | 23:48 |
| → rphillips joined | 23:49 |
| → quoin joined | 23:50 |
| ← qrush left | 23:51 |
| ← mithro left | 23:52 |
| ← pete__c left | 23:53 |
|
Pupeno
| Hi offby1. | 23:53 |
|
gitfoo
| how do I rewrite the message of a past commit? (no the latest one) | 23:54 |
|
Pieter
| git rebase -i | 23:55 |
|
tango_
| gitfoo, git rebase -i, mark that commit as edit | 23:55 |
|
| then follow the instructions | 23:55 |
|
gitfoo
| ok thanks | 23:55 |
| → pete__c joined | 23:55 |
| ← charon left | 23:56 |
|
gitfoo
| tango_: doesnt work to modify the initial commit, it always show me starting from the second one | 23:57 |
| ← Maerz left | 23:57 |
|
tango_
| gitfoo, did you launch git rebase -i correctly? you should pass the sha1 of the commit BEFORE the one you want to modify | 23:58 |
|
doener
| tango_: _initial_ commit. There is none before that one ;-) | 23:58 |
| → SmSpillaz joined | 23:58 |
|
tango_
| oh | 23:59 |
|
| does using 0000 as initial hash work? | 23:59 |