| 2009-05-10 |
| ← gotgenes left | 00:00 |
| ← drewolson left | 00:01 |
| ← joshsdc left | 00:03 |
| ← catalis left | 00:03 |
| → dsyzling joined | 00:03 |
| → drizzd joined | 00:04 |
| ← dsyzling left | 00:04 |
| ← WALoeIII left | 00:06 |
| ← toxx_ left | 00:07 |
| → TokyoDan joined | 00:07 |
| ← towski left | 00:08 |
| → towski joined | 00:08 |
| ← wezyde left | 00:08 |
| → quoin joined | 00:09 |
| → WALoeIII joined | 00:10 |
| → towski_ joined | 00:10 |
| → ssvb joined | 00:11 |
| ← towski left | 00:11 |
| → wsc_ joined | 00:12 |
| ← wwwald left | 00:13 |
| ← wshimmy1 left | 00:15 |
| → gotgenes joined | 00:15 |
| dereine → dereine[OFF] | 00:15 |
| ← justatheory left | 00:16 |
| → wshimmy joined | 00:17 |
| ← LiamH left | 00:22 |
| → shana joined | 00:24 |
| ← mjf left | 00:25 |
| ← vipul left | 00:25 |
| ← wsc left | 00:28 |
| → etienne9 joined | 00:29 |
| ← etienne9 left | 00:30 |
| → xyz joined | 00:31 |
| ← TokyoDan left | 00:33 |
| ← eletuchy left | 00:34 |
| → JasonWoof joined | 00:35 |
| ← dreiss left | 00:35 |
| ← johan-s left | 00:35 |
| → alanhaggai joined | 00:36 |
| ← alanhaggai left | 00:36 |
| → alanhaggai joined | 00:38 |
| ← uau left | 00:39 |
| ← qhoxie left | 00:42 |
| ← ericindc left | 00:44 |
| → wsc joined | 00:45 |
| → uau joined | 00:46 |
| sebleier → sebleier|away | 00:46 |
| ← zirpu left | 00:46 |
| ← MisterN_ left | 00:49 |
|
alanhaggai
| Hi. Is there any way to add a branch to track a Subversion repository? | 00:53 |
| ← bryanray left | 00:53 |
| ← brennen_ left | 00:57 |
| → brennen joined | 00:57 |
| ← kuadrosx left | 00:59 |
| ← wsc_ left | 00:59 |
| → Minimiscience joined | 01:01 |
| ← rettub_ left | 01:01 |
| → wsc_ joined | 01:02 |
| ← lolage left | 01:02 |
| ← dtangren left | 01:05 |
| ← schacon left | 01:06 |
| → wsc__ joined | 01:06 |
| → gaveen_ joined | 01:06 |
| → rettub_ joined | 01:07 |
| ← tatsuyao left | 01:07 |
|
Fissure
| alanhaggai: you mean like git-svn? | 01:07 |
|
alanhaggai
| No. | 01:07 |
|
| Fissure: I imported a Subversion repository to GitHub. Then, I cloned it. | 01:08 |
|
| So, the cloned one has no idea of the Subversion repository. | 01:08 |
|
| How can I pus commits that have been made by someone else to the Subversion repository? | 01:09 |
|
| s/pus/push/ | 01:09 |
|
| So I was thinking of adding a remote tracking branch for the Subversion repository. I am not sure how to create such a branch. | 01:09 |
|
| Fissure: I do not know if it is possible either. | 01:10 |
| ← aziz left | 01:10 |
| ← gaveen left | 01:12 |
| ← brennen left | 01:15 |
| ← wsc left | 01:16 |
| ← SRabbelier left | 01:18 |
| ← wsc_ left | 01:25 |
| → Beket_ joined | 01:26 |
|
Beket_
| Hey people. Is there a way to git cherry pick the last N commits of a branch ? | 01:26 |
|
| or perhaps not use cherry-pick at all | 01:27 |
| ← JasonWoof left | 01:27 |
| ← ceej left | 01:27 |
|
Beket_
| i just want to grab the last N commits of a branch | 01:27 |
|
bdrewery
| I think git-rebase can do that | 01:32 |
|
Beket_
| really ? | 01:32 |
|
| xm | 01:32 |
| ← paulboone left | 01:34 |
| ← parasti left | 01:37 |
| → ilogger2_ joined | 01:46 |
| → ceej joined | 01:48 |
| → joevandyk joined | 01:49 |
| ← ceej left | 01:51 |
| → ericindc joined | 01:52 |
| → JasonWoof joined | 01:58 |
| → mw joined | 02:00 |
| → joshsdc joined | 02:00 |
| → [1]intripoon joined | 02:06 |
| → wsc joined | 02:07 |
| → bryanray joined | 02:13 |
| → brennen joined | 02:14 |
| → paltman94 joined | 02:16 |
| ← mw left | 02:20 |
| → cytrinox joined | 02:21 |
| → mw joined | 02:21 |
| → MachX joined | 02:22 |
| → lasso joined | 02:22 |
| [1]intripoon → intripoon | 02:24 |
| ← lasso left | 02:24 |
| → bcardarella joined | 02:31 |
| ← brennen left | 02:31 |
| → rekoerb joined | 02:32 |
| → niki joined | 02:35 |
| → mlins joined | 02:35 |
| → brennen joined | 02:35 |
| → bdiego joined | 02:39 |
| → jelly-bean joined | 02:42 |
|
jelly-bean
| if i change a file but haven't committed and i want to undo those changes with git (same as git reset --hard HEAD except for one specific file or a couple files only) how can i do that? | 02:43 |
|
| git checkout HEAD <file> ? | 02:44 |
|
Beket_
| git checkout HEAD -- file | 02:44 |
|
jelly-bean
| Beket_: ok, thx. | 02:44 |
| ← jelly-bean left | 02:46 |
|
Beket_
| if u hsve git added it as welll u need git rm --cached <filename> | 02:46 |
| ← MachX left | 02:46 |
| ← rekoerb left | 02:46 |
| → tjafk1 joined | 02:52 |
| ← mw left | 02:53 |
| ← brennen left | 02:54 |
| → brennen joined | 02:54 |
|
alanhaggai
| Hi. I am trying to add a remote Subversion repository tracking branch. | 02:55 |
|
| I did a `git svn init <repo>` and then `git fetch git-svn`. I am thinking of doing the fetch occasionally and merging it with master. | 02:55 |
|
| Is it a correct workflow, or can you suggest another? | 02:55 |
| → brennen_ joined | 02:59 |
| → JPohlmann1 joined | 03:01 |
| → AkumaStreak joined | 03:06 |
|
Run
| If I do 'git push' in branch master, it tries to push branch build ... is that a topgit thing? This is insane :/ | 03:08 |
|
| http://codepad.org/4VJu3xBU | 03:10 |
| → clumzee joined | 03:11 |
|
clumzee
| clueless ;) | 03:11 |
|
| I need to clone a repository in a bash script, does anyone know how to automatically respond to the verify rsa fingerprint? | 03:11 |
|
| or disable it during a clone | 03:12 |
|
RandalSchwartz
| log in once manually | 03:12 |
|
| and say "yes" | 03:12 |
|
| that's a safety thing | 03:12 |
|
| don't try to work around it | 03:12 |
| ← ericindc left | 03:13 |
| ← brennen left | 03:13 |
| → [1]intripoon joined | 03:13 |
|
clumzee
| its going to be running on hundreds of machines ;) | 03:15 |
|
SamB
| why ? | 03:15 |
|
clumzee
| why not | 03:16 |
|
SamB
| I mean, what for? | 03:16 |
|
RandalSchwartz
| first, ask yourself why that check is there | 03:16 |
|
clumzee
| in a cloud of application servers | 03:16 |
|
RandalSchwartz
| and then decide if you *really* wanna work around it | 03:16 |
|
clumzee
| yes. | 03:16 |
|
RandalSchwartz
| if you're just pulling, use git: protocol | 03:16 |
|
| not ssh | 03:16 |
| ← brennen_ left | 03:17 |
|
RandalSchwartz
| heck... you can even use http protocol | 03:17 |
|
clumzee
| when i have servers that come up and down automatically and I know the finger print ahead of time, it would be sweat to just 'ignore it' | 03:17 |
|
SamB
| wouldn't it be better for it to be in known_hosts ? | 03:17 |
|
clumzee
| can you add a finger print to a known_hosts i thought it had to be all the hashed stuff | 03:18 |
|
| RandalSchwartz its a private repo on github, I think its always over ssh | 03:18 |
|
SamB
| that's where they go | 03:18 |
|
| when you say yes | 03:18 |
|
| so ... just do it once and say yes, then you can copy that entry to every known_hosts file or something ... | 03:19 |
|
RandalSchwartz
| why not just set up an rsync server | 03:19 |
|
| is this always pull-only? | 03:19 |
|
clumzee
| yeah but its not a nn:nn:nn:nn: etc, its the all hashed up funness | 03:19 |
|
RandalSchwartz
| sounds like you're abusing git | 03:19 |
|
SamB
| clumzee: and ? | 03:19 |
|
| I guess it's just a longer fingerprint ... | 03:20 |
|
| in a base other than hex | 03:20 |
|
clumzee
| hrm maybe. | 03:20 |
|
| RandalSchwartz, I could do that, but id like to have as little moving parts as possible, and i like being able to text my servers a rev number and them all grip it | 03:21 |
|
RandalSchwartz
| yeah, sounds like you want an rsync server | 03:21 |
|
| or any of a dozen other solutions | 03:21 |
|
| not git | 03:21 |
| → shze joined | 03:21 |
|
RandalSchwartz
| git would be abuse there | 03:21 |
|
SamB
| RandalSchwartz: overkill, sure ... | 03:21 |
|
| but why not ? | 03:21 |
|
RandalSchwartz
| there are mass-configurator solutions | 03:21 |
|
| why? | 03:21 |
|
| why use a hammer to pound in a screw | 03:21 |
|
| doesn't make sense | 03:21 |
|
SamB
| if he's already using git to control the files ... | 03:22 |
|
RandalSchwartz
| but he doesn't need the git repo on each machine | 03:22 |
|
SamB
| why not use it to update them as well ? | 03:22 |
|
RandalSchwartz
| he just needs the rsync | 03:22 |
|
SamB
| well, true, he doesn't need the entire history ... | 03:22 |
|
RandalSchwartz
| and an anon rsync server is trivial | 03:22 |
|
| so have one master, edited with git | 03:22 |
|
SamB
| I'm not sure how anon is better | 03:22 |
|
RandalSchwartz
| and 1000 slaves that view it with rsync | 03:23 |
| ← clumzee left | 03:23 |
| → alama joined | 03:24 |
|
alama
| can one convert a bzr repo to a git repo? | 03:25 |
|
| i'd like to put up some of my old stuff on github.com | 03:26 |
|
| but some of my old repos are bzr | 03:26 |
| → xeno__ joined | 03:27 |
| → cilly joined | 03:27 |
| → eno__ joined | 03:28 |
| ← intripoon left | 03:29 |
| [1]intripoon → intripoon | 03:29 |
| ← paltman94 left | 03:32 |
| ← JPohlmann1 left | 03:32 |
|
shze
| I want to cherry-pick a commit from another repository, but despite reading man pages and searching I can't find how to do this. can anyone help me? | 03:33 |
|
bdrewery
| git remote add someother URL | 03:33 |
|
| git cherry-pick hash | 03:33 |
|
| git fetch someother too | 03:33 |
|
shze
| oh, ok, so I missed the very first command. thanks, I'll try | 03:33 |
| eno__ → eno | 03:36 |
| → cdmwebs joined | 03:37 |
|
shze
| cherry-pick returns fatal: Could not find <hash>; do I have to create a local branch from the remote one first? | 03:37 |
|
bdrewery
| did you fetch? | 03:38 |
|
shze
| before cherry-pick? no. | 03:38 |
|
bdrewery
| yeah fetch first | 03:38 |
| → orafu joined | 03:40 |
|
shze
| worked great. thanks a lot! | 03:40 |
|
bdrewery
| :) | 03:41 |
| → ashleyw joined | 03:45 |
| → jelly-bean joined | 03:46 |
|
jelly-bean
| what's the cmd to quickly git branch to a temp swap/switch branch | 03:46 |
|
| or something like that | 03:47 |
| ← shze left | 03:47 |
| → brennen joined | 03:49 |
|
bdrewery
| git stash probably | 03:51 |
|
jelly-bean
| bdrewery: yep | 03:55 |
| → justatheory joined | 03:57 |
| ← justatheory left | 03:59 |
| → seangrove joined | 04:02 |
| ← bdiego left | 04:02 |
| ← jelly-bean left | 04:04 |
| ← brennen left | 04:05 |
| ← cdmwebs left | 04:06 |
| → wsc_ joined | 04:19 |
| → brennen joined | 04:28 |
| ← wsc left | 04:29 |
| → ivanoats joined | 04:30 |
| → dreiss joined | 04:39 |
| → fujin joined | 04:45 |
| ← brennen left | 04:46 |
| → schacon joined | 04:48 |
| → arohner joined | 04:50 |
| → hyperair joined | 04:55 |
| ← schacon left | 04:55 |
| ← hyperair left | 05:01 |
| → hyperair joined | 05:01 |
| → curvature joined | 05:01 |
| → killerchicken__ joined | 05:03 |
| ← alama left | 05:04 |
| → bobmcw joined | 05:04 |
| → mlins_ joined | 05:05 |
| → eno__ joined | 05:07 |
| → rubydiamond joined | 05:12 |
| → g3d joined | 05:14 |
| ← mlins left | 05:16 |
| ← eno left | 05:18 |
| → towski joined | 05:19 |
| ← ivanoats left | 05:20 |
| eno__ → eno | 05:26 |
| ← arohner left | 05:29 |
| → harinath joined | 05:30 |
| → unixluser joined | 05:31 |
|
unixluser
| hello. theres a git repo that i want to clone.. but i only want to clone a specific branch of it? how do i do this? | 05:31 |
|
cehteh
| mkdir project; cd project | 05:34 |
|
| git init | 05:34 |
|
| git pull git://url branchname | 05:35 |
|
cxreg
| iirc, that will merge the branch into your master, though? | 05:36 |
|
unixluser
| .git/config only mentions core | 05:37 |
|
| not the branch name | 05:37 |
|
| nor remote details | 05:37 |
|
cxreg
| yes, "git pull" with args doesn't always do what you expect it to do | 05:38 |
|
| maybe something more like "git init; git remote add remotename git://url; git fetch remotename branch; git checkout -b remote/branch branch" | 05:39 |
| → brennen joined | 05:39 |
|
unixluser
| 'remotename' would typically be origin, right? | 05:40 |
|
cxreg
| could be, doesn't have to be | 05:41 |
|
| that's the default name it gives clones, though | 05:41 |
| ← ashleyw left | 05:41 |
| → ashleyw joined | 05:41 |
| → aspotashev joined | 05:43 |
|
unixluser
| cxreg: the last command (git checkout..) results in fatal: git checkout: updating paths is incompatible with switching branches. | 05:43 |
|
cxreg
| what version of git? | 05:44 |
|
| sounds like 1.5 maybe | 05:45 |
|
cehteh
| cxreg: yes but master is empty after a git init .. alternatively you can just fetch that branch and reset your master to it | 05:45 |
|
cxreg
| sure, if you're ok with master being something that's not remote/master | 05:46 |
|
unixluser
| yeah, i'm fine with that | 05:48 |
|
| as long as pushing it online will go properly to the branch | 05:48 |
|
cxreg
| push expects that the branch names are symmetric, unless you tell it otherwise | 05:48 |
|
| imho, naming fetched branches a different name leads to trouble | 05:49 |
|
unixluser
| ot | 05:49 |
|
| it's a very basic repo | 05:49 |
|
| basically remotely created to store dotfiles | 05:50 |
|
| for different distributions, with each having a different branchname | 05:50 |
|
| i'm just looking for an alternative to standard git clone; git branch -D master | 05:50 |
|
cxreg
| to push, you'd need to "git push remote master:remotebranchname" | 05:51 |
| → brennen_ joined | 05:51 |
|
unixluser
| yeah, i just avoid 'master:' altogether | 05:51 |
| → ashleyw_ joined | 05:54 |
| ← brennen left | 05:56 |
| ← wsc_ left | 05:57 |
| → sitaramcell joined | 05:58 |
| → brennen__ joined | 05:59 |
| → rubydiam_ joined | 06:01 |
|
cxreg
| unixluser: my last command had a typo, btw which is probably what failed | 06:01 |
|
| git checkout -b branch remote/branch | 06:01 |
| ← rubydiamond left | 06:02 |
| ← ashleyw left | 06:02 |
|
unixluser
| nope, didn't work either | 06:03 |
|
| git 1.6.3 | 06:03 |
| → rubydiamond joined | 06:04 |
| → gaveen__ joined | 06:04 |
| ← rubydiam_ left | 06:05 |
| → WALoeIII joined | 06:07 |
| ← brennen_ left | 06:08 |
| → dduncan joined | 06:09 |
| ← unixluser left | 06:09 |
| ← brennen__ left | 06:16 |
| ← dduncan left | 06:17 |
| ← AkumaStreak left | 06:18 |
| ← sitaramcell left | 06:25 |
| → WALoeIII_ joined | 06:31 |
| ← WALoeIII left | 06:32 |
| → wsc joined | 06:37 |
| → kate21de joined | 06:43 |
| → fargiola` joined | 06:43 |
| fargiola` → fargiolas | 06:44 |
| ← joshsdc left | 06:45 |
| ← ashleyw_ left | 06:50 |
| → elmob joined | 06:55 |
| ← dreiss left | 06:59 |
| → r0bby joined | 07:01 |
| → foutrelis_ joined | 07:01 |
| → GreenAsJade joined | 07:01 |
|
GreenAsJade
| Is it "basically a bad idea" to clone another repo into a subdirectory of an existing repo? | 07:02 |
|
| Or should that fundamentally "just work"? | 07:02 |
| → resmo joined | 07:02 |
| ← cilly left | 07:02 |
|
RandalSchwartz
| you want submodules | 07:03 |
|
GreenAsJade
| I have a project into which I did this (not thinking too hard, obviously). Then I pushed my project back to where it comes from. The 'sub repo' didn't get pushed/ | 07:03 |
|
RandalSchwartz
| then it works | 07:03 |
|
AAA_awright
| GreenAsJade: Sounds like submodules | 07:03 |
|
RandalSchwartz
| without that, no it's a bad idea. :) | 07:03 |
|
GreenAsJade
| Ah - OK, "doh" | 07:03 |
|
| GreenAsJade tips his hat respectfully to RandalSchwartz, runs off to learn The Right Way | 07:04 |
|
GreenAsJade
| hmm - so I can | 07:07 |
|
| t even take a shortcut and copy the other "submodule" in eh, 'cause that's already a 'repo' | 07:07 |
|
| (I meant "darn I'll just plonk the files in") | 07:07 |
|
Arrowmaster
| part of the submodule implentation is that git completely ignores other git repos in subdirs | 07:09 |
| → angerman joined | 07:10 |
|
GreenAsJade
| So, before I get carried away (now that I have read something about them) ... if I "submodule add" rather than just splat the module repo in, then git push the project, the submodule will get pushed too, in it's right place in the project? | 07:12 |
|
Arrowmaster
| not really | 07:13 |
|
GreenAsJade
| rats :) | 07:14 |
|
Arrowmaster
| but information about where others can clone that repo from and what exact commit you were on in that repo when you commited to your project will be stored | 07:14 |
|
GreenAsJade
| I better ask how to do what I want to do then :) | 07:14 |
|
| I have a project, which is deployed by git push | 07:14 |
| → fargiola` joined | 07:15 |
|
GreenAsJade
| I have created a component which needs to be in this project, and it is in a separate repo (and is pushed to github seprately) | 07:15 |
|
| the first project needs to contain the files of the second when it is deployed | 07:15 |
|
Arrowmaster
| is this done with a custom script or are you using a larger project designed to do it? (theres a few) | 07:15 |
| ← fargiolas left | 07:15 |
| fargiola` → fargiolas | 07:16 |
|
GreenAsJade
| so far no scripts, just git push ... | 07:16 |
| → mtkd joined | 07:16 |
|
GreenAsJade
| "git push" pushes the component to github. "git push" deploys the project to it's destination | 07:16 |
|
| Unfortunately, when I copied the new component into the right place in the project, it doesn't get pushed | 07:16 |
|
| Does this make sense, or is it gibberish? | 07:18 |
|
Arrowmaster
| sorta yes sorta no | 07:18 |
|
GreenAsJade
| Strange, this was all feeling good and natural up till today! | 07:18 |
|
Arrowmaster
| when you say 'deploy' you mean a working copy on a server somewhere is getting updated to use the new version right? | 07:18 |
|
GreenAsJade
| Right - the server runs off it's copy of the repo, which is the "master". git push sends the new commits up to it | 07:19 |
|
Arrowmaster
| right | 07:19 |
|
| thats not possible without some kinda script on that server to update the working copy | 07:19 |
|
GreenAsJade
| yow. | 07:19 |
| → dizpater joined | 07:20 |
|
GreenAsJade
| OK, I must be missing something about how "people normally do what I'm trying to do" then, I'll go take a look at that avenue | 07:20 |
| ← dizpater left | 07:20 |
|
Arrowmaster
| GreenAsJade: faq non-bare | 07:20 |
|
Gitbot
| GreenAsJade: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare | 07:20 |
|
GreenAsJade
| (the component is a rails plugin, so there must be some other sensible way to get a rails plugin into a rails project other than copying it's repo :) | 07:21 |
|
Arrowmaster
| GreenAsJade: like this http://github.com/guides/deploying-with-capistrano | 07:21 |
|
GreenAsJade
| thanks for taking the time... | 07:22 |
|
Arrowmaster
| ive never used capistrano and i have no clue if it supports git submodules but it seems to have some sort of dependancy system | 07:25 |
| → NoirSoldats joined | 07:25 |
|
Arrowmaster
| but as a general rule its probably never a good idea to commit another project directly into yours just so its available when other solutions such as submodules exist, it keeps things a lot cleaner that way | 07:26 |
|
GreenAsJade
| I think "work out how to install your own rails plugin, instead of ploking it in, dude" is the right advice for me :) | 07:26 |
| → Fragsworth joined | 07:27 |
| gaveen__ → gaveen | 07:30 |
| ← gaveen left | 07:30 |
|
Arrowmaster
| GreenAsJade: it whould help if i actually fully read a page before linking it, the github guide for capistrano mentions enabling submodule support so yes it supports git submodules | 07:32 |
|
GreenAsJade
| :) | 07:32 |
| → wsc_ joined | 07:37 |
| ← wsc_ left | 07:37 |
| → patrikf joined | 07:40 |
|
GreenAsJade
| so ... if I push my component to github, then install it in my project from there, using the rails install, it arrives properly by some magic :) | 07:44 |
|
| So my development flow now includes a push to github of the component and a pull back if I change it, but at least it works! | 07:45 |
|
Radar
| GreenAsJade: when you clone your project you will need to do git submodule update --init in order to get the submodules into your app. | 07:45 |
|
GreenAsJade
| I don't have control at the deployment-target end. I can only git push to there | 07:45 |
|
| But sounds like I should read aobut --init | 07:45 |
| → spuk- joined | 07:50 |
|
spuk-
| hello, I'm trying something like: 'export GIT_DIR=/tmp/test.git ; git init --bare; git add ~/foo', I'm getting "fatal: This operation must be run in a work tree" everytime, isn't that supposed to work ? | 07:52 |
|
patrikf
| spuk-: no | 07:53 |
| → ia joined | 07:53 |
|
RandalSchwartz
| why aren't you inside test.git ? | 07:53 |
|
| ahh. ~/foo is not inside GIT_DIR | 07:53 |
|
| that's why you can't do that | 07:53 |
|
| unless your ~ is /tmp :) | 07:53 |
|
patrikf
| spuk-: you cannot normally commit to bare repositories | 07:53 |
|
RandalSchwartz
| ahh, that too | 07:54 |
| ← wsc left | 07:54 |
|
RandalSchwartz
| bare = no workdir | 07:54 |
|
patrikf
| spuk-: if you must for some reason, you can use "git hash-object -w" in conjunction with "git update-index --cacheinfo" I think | 07:54 |
| → binjured joined | 07:54 |
|
spuk-
| hmm, that might make sense | 07:55 |
|
| thank you both | 07:55 |
| → dreiss joined | 07:56 |
| → fargiola` joined | 07:56 |
|
meder
| RandalSchwartz: oh, you're a git one too eh | 07:59 |
|
RandalSchwartz
| eh? | 08:00 |
| → ccherret1 joined | 08:00 |
|
RandalSchwartz
| meder? | 08:01 |
|
cehteh
| randal is everywhere :P | 08:03 |
| ← mtkd left | 08:04 |
| → aspotashev|eeepc joined | 08:04 |
| → wsc joined | 08:05 |
| → hummingkid joined | 08:05 |
|
meder
| oh nothing, just saying i see you in two channels | 08:06 |
| ← bcardarella left | 08:06 |
|
RandalSchwartz
| I'm in a lot more than that | 08:09 |
|
| smalltalk - perl - git - postgresql - openbsd - opensolaris (etc etc) | 08:09 |
|
| and jquery | 08:09 |
|
| and whatever else we've recently interviewed on FLOSS Weekly | 08:09 |
|
cehteh
| you wherent on #cinelerra or #lumiera, shame on you :P | 08:10 |
|
meder
| well yeah | 08:10 |
|
RandalSchwartz
| I was a bit overwhelmed on that show | 08:10 |
|
cehteh
| haha excuses | 08:10 |
|
| cehteh hides | 08:10 |
|
RandalSchwartz
| my line of questions wasn't as good as I wanted. a bit frustrated | 08:10 |
|
| did much better on OLE nepal and Xen, I think | 08:11 |
|
| part of it was the delay to the UK | 08:11 |
|
| and 4 people on skype. that's never good | 08:11 |
|
cehteh
| yeah i think the whole one was little unprepared .. aaron asked longer ago, but then just reappeared 2 days before | 08:11 |
|
| i am happy that we send joel *eg* | 08:11 |
|
RandalSchwartz
| well - it'll certainly raise the visibility | 08:12 |
|
cehteh
| and dont call him a kid next time, that was a bit rude :) | 08:12 |
|
RandalSchwartz
| heh | 08:12 |
|
| he's a kid relative to me | 08:12 |
|
cehteh
| he is our youngster | 08:12 |
| → dodo_the_last joined | 08:13 |
|
RandalSchwartz
| I'm glad I nailed Leo on the 29.97 though | 08:13 |
|
| given that Leo is a TV broadcaster and technician :) | 08:13 |
|
cehteh
| 30000/1001 to be exact | 08:13 |
|
RandalSchwartz
| oooh | 08:13 |
|
| RandalSchwartz bows in cehteh's general direction | 08:13 |
|
cehteh
| whenever i see a video lib which handles this incorrectly i barf on it | 08:14 |
|
| meder can't handle the context | 08:14 |
|
RandalSchwartz
| ... To reduce interference between the chrominance signal and FM sound carrier required a slight reduction of the frame rate from 30 frames per second to 30/1.001 (very close to 29.97) frames per second, and changing the line frequency from 15,750 Hz to 15,734.26 Hz. | 08:14 |
|
| you're right | 08:14 |
|
| wow | 08:14 |
|
cehteh
| lumiera aims to be a tool which doesnt make compromises in exactness and quality | 08:15 |
|
| you dont want your video sync drift away | 08:15 |
| ← fargiolas left | 08:15 |
|
cehteh
| not even microseconds | 08:15 |
|
RandalSchwartz
| yeah... I've had stuff get off after a while | 08:16 |
|
| probably poor computations | 08:16 |
|
cehteh
| well if its more noticeable then blame your cheap cam | 08:16 |
|
| RandalSchwartz tries to figure out what channel he has selected | 08:17 |
|
RandalSchwartz
| is this #git? | 08:17 |
|
cehteh
| for some the 44.1 sound carrier drifts with temperature | 08:17 |
|
| but the computer expects it to be constant | 08:17 |
|
| RandalSchwartz has a bad irc client that doesn't show current channel | 08:17 |
|
cehteh
| hehe ok :) | 08:17 |
|
| cehteh goes one coding | 08:17 |
| → ciskje joined | 08:17 |
|
RandalSchwartz
| ahh yeah, #git | 08:18 |
|
cehteh
| there is #openvideo for general video talk | 08:18 |
|
| 'nuff offtopic here | 08:18 |
|
RandalSchwartz
| like I need one more channel to irritate peopel in :) | 08:18 |
| ← WALoeIII_ left | 08:19 |
| → WALoeIII_ joined | 08:20 |
| → brennen joined | 08:20 |
| ← aspotashev left | 08:21 |
| → aspotashev__ joined | 08:21 |
|
Fissure
| RandalSchwartz: wow, must be a really bad client | 08:24 |
|
| and i felt lame for using finch... | 08:24 |
| → radarek joined | 08:28 |
| ← dreiss left | 08:28 |
| → mithro joined | 08:32 |
| → brennen_ joined | 08:32 |
| ← mithro left | 08:33 |
| → bdowning joined | 08:34 |
| → ethercrow joined | 08:35 |
|
JEEBcz
| is there an easy way to get the changelog f.ex. between the versions 7554705 and 400740b in git? | 08:35 |
|
RandalSchwartz
| git log 755..400 | 08:36 |
| ← rubydiamond left | 08:36 |
|
RandalSchwartz
| maybe git log 755...400 | 08:36 |
| → rubydiamond joined | 08:37 |
| → mithro joined | 08:37 |
| → therrg joined | 08:37 |
|
JEEBcz
| ok, I'll try :) | 08:37 |
| ← aspotashev|eeepc left | 08:37 |
| → naeu joined | 08:40 |
| ← brennen left | 08:41 |
| ← foutrelis_ left | 08:49 |
| ← JasonWoof left | 08:51 |
| → Bogh joined | 08:52 |
|
Bogh
| morning! | 08:52 |
| → brennen__ joined | 08:55 |
|
Ilari
| ... | 08:56 |
| → knittl joined | 08:56 |
| ← therrg left | 08:57 |
| → smeevil joined | 08:58 |
| ← ciskje left | 08:58 |
| ← brennen_ left | 08:58 |
| → sitaram joined | 08:58 |
| → solydzajs joined | 08:58 |
| → kahmalo joined | 08:59 |
| ← sitaram left | 09:01 |
| → brennen_ joined | 09:07 |
| → lolage joined | 09:08 |
| ← angerman left | 09:08 |
| → gilimanjaro joined | 09:11 |
| ← brennen__ left | 09:13 |
| ← seangrove left | 09:14 |
| → d0k joined | 09:22 |
| → brennen__ joined | 09:26 |
| → DavidKlein joined | 09:27 |
| → tatsuyao joined | 09:27 |
| ← patrikf left | 09:28 |
| → mbroeker joined | 09:29 |
| → seradin joined | 09:32 |
| → khelll joined | 09:32 |
| → seangrove joined | 09:32 |
|
seradin
| hey guys, suppose i have a git-repository at xyz.com/rep.git now i want to check this out on a client machine, edit something and commit the changes: But when i do a git --init followed by a git remote add origin ssh://user@xyz.com/rep.git/ and a git fetch ... then nothing is fetched to my local directory? Why ? | 09:34 |
|
khelll
| i'm having this error when trying to clone from bare git repo for first time: | 09:35 |
|
| fatal: The remote end hung up unexpectedly | 09:35 |
|
| Bad port '' | 09:35 |
|
| fatal: The remote end hung up unexpectedly | 09:35 |
| → JPohlmann1 joined | 09:35 |
| ← brennen_ left | 09:36 |
|
cehteh
| khelll: "Bad port" | 09:36 |
|
| seradin: fetch doesnt update your working tree | 09:36 |
|
seradin
| cehteh: and how can i do what i want to do? | 09:36 |
|
cehteh
| first you need to tell what you want to do :) | 09:37 |
|
| branches in git are local | 09:37 |
|
seradin
| i want to check out the stuff from my repository in order to edit and commit it | 09:37 |
|
cehteh
| there is your local master branch and the remote master branch .. and these are distinct | 09:37 |
|
seradin
| okay, and how do i pull from one to the other? | 09:38 |
|
cehteh
| git pull | 09:38 |
|
| which is essentially a git fetch + git merge | 09:38 |
|
seradin
| git pull tells me that it doesn't know what to do | 09:38 |
|
cehteh
| git pull remote branchname maybe then | 09:38 |
|
| your new local repo is brand new (you told you did git init)? | 09:39 |
|
seradin
| yes, it is | 09:39 |
|
cehteh
| better use clone, that gets some basic setup right | 09:40 |
|
cxreg
| git branch -f master origin/master; git checkout master | 09:40 |
|
| should do it | 09:41 |
|
cehteh
| thats what i meant with basic setup :) | 09:41 |
|
seradin
| i just did what the first answer here sais: http://stackoverflow.com/questions/658885/how-do-you-get-git-to-always-pull-from-a-specific-branch and it worked | 09:41 |
|
cxreg
| yep, that does the same thing as what i said would do | 09:42 |
|
seradin
| okay, good | 09:42 |
|
| i just hope "git push" will work as well, im very new to git :/ used svn before | 09:43 |
|
cxreg
| it should, assuming you have write access | 09:44 |
| → _graham_ joined | 09:44 |
|
seradin
| good :) | 09:44 |
| → mstrl joined | 09:46 |
| ← brennen__ left | 09:47 |
|
khelll
| i have made a new git repo with git init, then i tried to pull the repo from my local machine but i keep getting | 09:48 |
|
| fatal: http://git.khelll.com/git/echoproj.git/info/refs not found: did you run git update-server-info on the server? | 09:48 |
|
| i'm doing git clone http://git.khelll.com/git/echoproj.git | 09:48 |
| ← seradin left | 09:49 |
| → angerman joined | 09:50 |
| → Radar_ joined | 09:54 |
|
mbroeker
| khelll, check your webdav config | 09:57 |
|
charon
| khelll: and check if you ran 'git update-server-info' in the server repository | 09:57 |
|
khelll
| charon why should i run this insturction | 09:57 |
|
| i made an empty project | 09:58 |
|
| i just want to clone it | 09:58 |
|
| just did git init on server and now i want to clone it on my machine | 09:58 |
|
charon
| khelll: i'm actually not sure in the case of empty projects, but the HTTP transport _needs_ that extra metadata | 09:58 |
|
| also note that up until some very recent version, git didn't support cloning empty repos at all | 09:58 |
| → dkr21 joined | 09:58 |
|
charon
| (not even over git/ssh transports) | 09:59 |
|
khelll
| ok lemme check that | 09:59 |
|
mbroeker
| khelll, you need to create the bare repo, mv hooks/post-update.sample post-update && git update-server info to be able to clone it(you will still get a warning, but you can push your initial content) | 09:59 |
|
| chmod +x hooks/post-update is essential, too | 10:00 |
|
khelll
| ok lemme try | 10:01 |
|
mbroeker
| run chmod before git update-server-info | 10:01 |
| ← Radar_ left | 10:02 |
| → Radar joined | 10:02 |
|
khelll
| mbroeker there is hooks/post-update already | 10:02 |
|
mbroeker
| is it executable? | 10:02 |
|
charon
| khelll: first git version that supports cloning empty repos at all seems to be 1.6.2 (commit 86ac7518590 is first contained in 1.6.2-rc0) | 10:02 |
|
Gitbot
| [git 86ac75185]: http://tinyurl.com/omgb5z -- Allow cloning an empty repository | 10:02 |
| → brennen joined | 10:04 |
|
mbroeker
| khelll, anyway, do you have a working webdav config? | 10:05 |
|
khelll
| i have done the first steps, didn't work yet | 10:06 |
|
| i'm going to check the webdav now | 10:06 |
| ← tatsuyao left | 10:06 |
| → Fullmoon joined | 10:07 |
| → Lenary joined | 10:09 |
| ← WALoeIII_ left | 10:10 |
| → psoo joined | 10:11 |
| → cedricv joined | 10:13 |
| → aziz joined | 10:14 |
| → brennen_ joined | 10:18 |
|
kahmalo
| Can I somehow disable rerere for a single run of git cherry-pick? | 10:19 |
|
| With some environment variable perhaps? | 10:20 |
| → bentob0x joined | 10:20 |
|
kahmalo
| I mean this cherry-pick causes a conflict and I'd like to recheck what the conflict was exactly. However git automatically resolves the conflict using a saved resolution. | 10:22 |
| ← brennen left | 10:24 |
| → kaduk joined | 10:24 |
|
charon
| kahmalo: just guessing here, but doesn't 'git checkout -m -- $path' recreate the conflict? (or does that invoke rerere too?) | 10:25 |
| → fridim joined | 10:28 |
|
Lenary
| anyone here used grit, the ruby git library? | 10:33 |
| ← kaduk left | 10:33 |
|
Radar
| Lenary: yes | 10:34 |
|
Lenary
| Radar: how would i get a list of all the files that have been added, removed or changed in a commit | 10:34 |
|
| http://github.com/jamis/bucketwise/commit/290f3241a822c0b9b67d2847c5021f468537a961 | 10:35 |
|
| like there | 10:35 |
|
Radar
| Hmmm.. | 10:35 |
|
| Let me check | 10:35 |
|
Lenary
| where you have a list of what's changed | 10:35 |
|
| well, a list of the files that have changed | 10:35 |
|
Radar
| I've seen it before, just trying to find where. | 10:36 |
| ← brennen_ left | 10:36 |
|
Lenary
| thanks very much | 10:37 |
| ← solydzajs left | 10:37 |
|
Radar
| Lenary: git.commits.first.stats.files | 10:38 |
|
| Will return an array of arrays. | 10:38 |
|
| Checkout the Grit::CommitStats for more info | 10:38 |
|
Lenary
| thanks | 10:39 |
|
| ah | 10:40 |
|
| that's not quite what i'm wanting | 10:40 |
| → alanhaggai joined | 10:40 |
|
Radar
| What are you wanting then? :) | 10:40 |
|
Lenary
| well, | 10:40 |
|
| that gives me a list of the changed files | 10:40 |
|
| where can i see a list of the added files and the removed files? | 10:40 |
|
Radar
| Added files is where the additions count totals the total count, deleted files is where the deletions count totals the total count | 10:41 |
| ← Bogh left | 10:41 |
|
Radar
| one moment | 10:42 |
| ← g3d left | 10:42 |
|
Ilari
| Lenary: The brute-force way would be to get tree objects corresponding to to commits, then do lockstep walks on them. If you encounter entry present on one and absent on another, everything under it is added/deleted. Also, if entries match, don't recurse into them, as everything under them will match. If leaf entry doesn't match, its modified. | 10:42 |
|
Radar
| Or so I thought :) | 10:42 |
|
Lenary
| Radar: i was gonna say | 10:43 |
|
alanhaggai
| Hi. I have been experimenting with tracking Subversion branches in Git and have arrived at this point where I am unable to push: http://img140.imageshack.us/img140/4126/snapshotq.jpg . | 10:43 |
|
Radar
| total is not what I originally thought it to be | 10:43 |
|
alanhaggai
| What can be done inorder to update origin/master? | 10:43 |
| → kumbayo joined | 10:43 |
|
Ilari
| alanhaggai: 'git fetch origin'? | 10:43 |
| → brennen_ joined | 10:43 |
|
Lenary
| Ilari: hrm, i think i get all of that except a "lockstep walk" | 10:43 |
| → Yuuhi joined | 10:43 |
|
Lenary
| sounds like a dance to me! | 10:44 |
|
alanhaggai
| Ilari: Still I am unable to push. | 10:44 |
|
| Ilari: ! [rejected] master -> master (non-fast forward) | 10:44 |
| → ronny joined | 10:44 |
|
wereHamster
| alanhaggai: faq non-ff | 10:45 |
|
Gitbot
| alanhaggai: Your push would lose changes on the remote. See http://git.or.cz/gitwiki/GitFaq#non-ff | 10:45 |
|
Radar
| Lenary: now you've got me thinking! | 10:45 |
| ← khelll left | 10:45 |
|
Radar
| Deleted files, I think, is easy, deleted count matches total count? | 10:45 |
|
Lenary
| what if you delete one line | 10:46 |
|
| and don't add something | 10:46 |
|
| total changes == total deletions | 10:46 |
|
| that's what i think the total is all about | 10:46 |
|
alanhaggai
| How can the push made on top of the current changes? | 10:46 |
|
| ^be made | 10:46 |
|
Radar
| the total is total number of changes, additions + deletions. | 10:46 |
|
Ilari
| alanhaggai: Looks like cleanest way is to force the push. Not nice for those tracking the origin repo, but you probably break git svn otherwise. | 10:47 |
|
alanhaggai
| Oh I see. I will try that. Thanks Ilari. | 10:47 |
|
Lenary
| Radar: i think so | 10:47 |
|
Ilari
| alanhaggai: And as rule when pushing stuff from git-svn repo to elsewhere, don't push stuff that hasn't been committed to svn. | 10:48 |
|
alanhaggai
| Ilari: Okay. I will do so from now. | 10:48 |
|
Radar
| yay finally found a commit that *added* a file | 10:49 |
| → jkp_ joined | 10:49 |
|
Lenary
| Radar: lol | 10:50 |
|
ronny
| hi | 10:50 |
|
| any reason why git push wont push to an empty repo without some extra args? | 10:50 |
|
Ilari
| Lenary: The idea in lockstep walk is to advance the list that has current element before the other (advance both if they are equal). That way, one can process through all pairs of equal elements in O(m+n) time. | 10:51 |
|
| Lenary: Assuming sorted lists, which git trees effectively are. | 10:52 |
| → brennen__ joined | 10:52 |
|
Lenary
| Ilari: the thing is, i'm not so eager to do something like that, as this is a web interface | 10:53 |
| ← brennen_ left | 10:53 |
|
Ilari
| ronny: Because the default is to push all matching branches, and push to empty repo can't have any matching branches. | 10:53 |
|
Lenary
| rendering the lists on the fly | 10:53 |
|
Radar
| Lenary: I'm confused... the additions count == total count is wrong becuase? | 10:53 |
|
| That's how I can find out if a file is newly created. | 10:53 |
|
ronny
| Ilari: so i'll have to be explicit about what to push? | 10:54 |
|
Lenary
| can you show me a little code Radar, which does that | 10:54 |
|
Ilari
| Lenary: That algo is the fastest way to compute the files added/changed/deleted (it doesn't get copies and moves) without going to storage layer internals. | 10:54 |
|
Radar
| Lenary: c.stats.files where c is a Grit::Commit object. | 10:55 |
|
| One moment, making a pastie | 10:55 |
|
| http://pastie.org/473569 <- see permissions/edit, its additions count is the same as the total count | 10:55 |
|
Ilari
| ronny: Most of the time, those defaults are nice as you may have branches you don't want to publish (yet). | 10:55 |
|
ronny
| hmk, now i'll jsut have to find an way to do that in my api | 10:56 |
|
Radar
| I don't know of any other occurance where a file can have 19 additions, no deletions and NOT be newly created :\ | 10:56 |
|
Lenary
| Radar: yes, but think about this - if i add a single line to the file | 10:56 |
|
Ilari
| ronny: That behaviour also has refspec: ':'. | 10:56 |
|
Lenary
| and don't remove anything | 10:56 |
|
| therefore, additions = 1 | 10:56 |
|
| deletions = 0 | 10:56 |
|
| and total = 1+0 | 10:57 |
| → ska-fan joined | 10:57 |
|
Lenary
| =1 | 10:57 |
|
Ilari
| ronny: That is, if configuration doesn't say otherwise: 'git push origin' = 'git push origin :'. | 10:57 |
|
Radar
| Lenary: but it's late and thinking requires precious energy. | 10:57 |
|
Lenary
| which would make it seem like it was added | 10:57 |
|
| Radar: that's a fair point | 10:57 |
|
Radar
| Right, now that it's in my extremely thick skull I get it now. | 10:57 |
|
ronny
| Ilari: im writing a vcs abstraction lib, the ways the different vcs's handle branches is quite painfull | 10:58 |
|
Lenary
| Radar: the same applies for a single deleted line | 10:58 |
|
Ilari
| ronny: If you want "push every branch", its 'refs/heads/*:refs/heads/*'. | 10:58 |
|
ronny
| Ilari: i dont think i want it that way | 10:58 |
| → brizly joined | 10:59 |
|
ronny
| im pondering wether to error out or to default to push only master | 10:59 |
|
Ilari
| Lenary: The reason that lockstep recursive walk is so fast is that it can instantly prune ALL non-changed subdirectories from search. | 10:59 |
|
Lenary
| Ilari: that's a good point | 10:59 |
|
alanhaggai
| Ilari: I force pushed it and it is fine now. No commits were lost at remote. What might be the reason? | 10:59 |
|
Ilari
| Lenary: And file modification checking is just hash compare. | 11:00 |
|
| alanhaggai: Guessing: You did the "add TODO" change. Pushed it and dcommitted. The dcommit added the metadata. Now you had two "add TODO" changes. You did one commit on top of your local version (now different from remote one) and dcommitted that. | 11:01 |
|
| alanhaggai: The dcommit-push order matters. | 11:01 |
|
Lenary
| Ilari: could you pastie me a little code to do this lockstep walk/dance thingy? | 11:01 |
|
Ilari
| alanhaggai: Its dcommit first, push second. | 11:02 |
|
alanhaggai
| Ilari: Oh I see. Thanks for explaining it. | 11:02 |
| → brennen_ joined | 11:02 |
| ← ska-fan left | 11:04 |
| → ska-fan joined | 11:04 |
|
Lenary
| Ilari: could you pastie me a little code to do this lockstep walk/dance thingy? | 11:04 |
| → g3d joined | 11:05 |
| Radar → Radar|s | 11:07 |
| ← brennen_ left | 11:08 |
| ← ska-fan left | 11:09 |
| → ska-fan joined | 11:09 |
|
Ilari
| Lenary: Here's quick untested pseudocode: http://git.pastebin.com/m1a1435d8 | 11:09 |
| ← kumbayo left | 11:10 |
|
Ilari
| Lenary: Should illustrate the idea how to do lockstep walk. And oh, directory entries also have mode fields. Something changing into tree or from tree is bit nasty edge-case. | 11:11 |
|
Lenary
| thanks | 11:12 |
| ← brennen__ left | 11:12 |
|
Ilari
| Lenary: Note the edge case: past-the-end-of-list iterator is interpretted as be after everything else. | 11:12 |
|
| Lenary: When sorting by entry name. | 11:12 |
| → aspotashev|eeepc joined | 11:13 |
| → brennen_ joined | 11:13 |
| → cilly joined | 11:14 |
| ← ska-fan left | 11:14 |
| → ccherrett joined | 11:20 |
| → khmarbaise joined | 11:20 |
| ← psoo left | 11:21 |
| ← ccherret1 left | 11:21 |
| → ska-fan joined | 11:23 |
| ← alanhaggai left | 11:25 |
| ← g3d left | 11:25 |
| → g3d joined | 11:26 |
| ← Lenary left | 11:28 |
| → chris2 joined | 11:32 |
| → knitt1 joined | 11:34 |
| → brennen__ joined | 11:35 |
| ← radarek left | 11:36 |
| ← brennen_ left | 11:37 |
|
charon
| kahmalo: any luck with my suggestion? (honest question, i'm too lazy to try myself) | 11:38 |
| ← knitt1 left | 11:39 |
| → Lenary joined | 11:41 |
|
kahmalo
| charon: Yes, that works, thank you. (I was away and just saw it.) | 11:41 |
|
charon
| ah, good to know. thanks! | 11:41 |
|
ronny
| anyone aware of an equivalent of git status thats more nice to deal with from scripts? | 11:42 |
|
kahmalo
| ronny: git ls-files -t perhaps? | 11:42 |
| ← mstrl left | 11:43 |
|
kahmalo
| or with some other option, depending on what you want listed. | 11:43 |
|
charon
| ronny: also git diff-files with various options, depending on what you want to find out | 11:44 |
| → tomoyuki28jp joined | 11:44 |
|
charon
| and some other diff variant for HEAD-index relationship... git diff-index HEAD i guess? | 11:44 |
| ← JPohlmann1 left | 11:45 |
| → JPohlmann joined | 11:45 |
|
tomoyuki28jp
| I am trying to put the tag v0.1.3, but I just realized that I forgot to put the tag v0.1.2. I know where to put the tag of v0.1.2, but is there a way to put the tag? | 11:45 |
|
ronny
| i want some simple information about the workdir state, and currently i want to ignore the fact that the index exists | 11:45 |
|
| im writing a vcs abstraction lib, and curently parsing the output of git status seemed more accurate than the other commands | 11:46 |
|
| however parsing the status output seems plain wrong | 11:46 |
|
| and im pretty sure i missed something about the other commands | 11:46 |
|
wereHamster
| tomoyuki28jp: git tag v0.1.2 $shaofthecommit | 11:46 |
|
tomoyuki28jp
| wereHamster: thanks a lot! | 11:47 |
|
JPohlmann
| Hi. In post-receive, when I have an update that introduces a new branch (oldrev = 0...0) and also includes a few commits to the new branch, how can I list these commits? | 11:49 |
| → kraymer joined | 11:49 |
| → sitaram joined | 11:50 |
|
JPohlmann
| In update a combination of "git rev-parse --not -all | git rev-list --stdin $newrev" works but this doesn't work in post-receive. | 11:50 |
| ← tomoyuki28jp left | 11:50 |
| → jceb joined | 11:50 |
| → mjf joined | 11:57 |
|
kahmalo
| JPohlmann: I guess the hook would have to collect the (old-value, ref-name) pairs from stdin, and then make a list that contains all the old-values from stdin and all the ref-names that exist in the repository but were not listed in stdin. Finally pass new-value --not that-list to git rev-list. | 11:58 |
| → brennen_ joined | 11:59 |
|
JPohlmann
| kahmalo: Sounds like fun. | 12:00 |
| ← brennen__ left | 12:00 |
| ← aspotashev|eeepc left | 12:01 |
| → Radar joined | 12:02 |
| ← Radar|s left | 12:02 |
| ← kate21de left | 12:03 |
|
kahmalo
| JPohlmann: contrib/hooks/post-receive-email appears to do something like this actually, in show_new_revisions. | 12:04 |
|
| JPohlmann: It sets other_branches by grepping the output of git for-each-ref. It only excludes the created ref from the list though; not other refs created in the same push. | 12:05 |
| ← Radar left | 12:05 |
| → Radar joined | 12:05 |
|
kahmalo
| JPohlmann: So, I guess it doesn't work right if someone pushes two identical branches at the same time. | 12:05 |
|
JPohlmann
| Uhm, yeah. | 12:06 |
| ← GreenAsJade left | 12:09 |
| ← hummingkid left | 12:10 |
| ← aspotashev__ left | 12:13 |
| → aspotashev joined | 12:14 |
| → kate21de joined | 12:17 |
| → rolfb joined | 12:17 |
| → ericindc joined | 12:18 |
|
JPohlmann
| kahmalo: Is that ever the case? Can't you only push to one branch at a time? | 12:20 |
|
kahmalo
| JPohlmann: One can list multiple refspecs in one git push command. I haven't checked how the protocol reflects that. However, githooks(5) says the pre-receive and post-receive hooks receive in stdin a line "for each ref to be updated". | 12:22 |
| ← cedricv left | 12:23 |
| → aspotashev__ joined | 12:23 |
|
charon
| JPohlmann: you need to be somewhat careful if you want to be sure to list every new commit exactly once. try maintaining an exclusion list for use with 'git log $new --not $exclusions'. initialize it with all 'old' sha1s, and all branches/tags not affected in the push. insert the 'new' sha1s after processing them. | 12:28 |
| ← aspotashev left | 12:29 |
| ← sitaram left | 12:30 |
| → RodP2 joined | 12:34 |
| → brennen__ joined | 12:36 |
|
Ilari
| JPohlmann: Push request in the wire can have arbitiary many update requests for refs. | 12:37 |
| → jnareb joined | 12:37 |
| ← brennen_ left | 12:38 |
| ← mjf left | 12:38 |
|
| jnareb wonders how hard would be to write down proper RFC for git pack protocol (and surrounding things like capabilities)... | 12:39 |
| → cryo_ joined | 12:40 |
|
JPohlmann
| charon: All in all that sounds so hackish that I'll probably drop the idea of having one mail per commit. | 12:40 |
|
Ilari
| Actually, those update requests are CAS requests. Sadly, the CAS capabilty is not exposed to client side. | 12:42 |
|
kahmalo
| I wish it updated all refs atomically. | 12:43 |
|
charon
| JPohlmann: it's not that hard if you feel comfortable in some scripting language... but i'd suggest you send one mail per _ref update_ on grounds of sheer volume (if you were to, say, subtree-merge another history...) | 12:44 |
|
Ilari
| Quite interesting to trace what would happen if client lied about old SHA. The answer is that pre-receive and update hooks would get what client claims as old SHA and ref update would fail with "failed to lock" error. | 12:44 |
| → joshsdc joined | 12:45 |
|
Ilari
| kahmalo: That would require global all refs lock. | 12:46 |
|
JPohlmann
| charon: If feel comfortable in any language but I have to admit I have a hard time understanding git right. So before I try something like that and fail I'd rather drop the idea. | 12:46 |
|
charon
| JPohlmann: if your language of choice is python, i can point you at some code i wrote for a reporting bot, but it strives for terseness more than completeness | 12:46 |
|
kahmalo
| Ilari: Can't one just lock each involved ref individually, and then update them? Locking in alphabetical order to prevent deadlocks. | 12:46 |
|
| jnareb thinks that such things (how server and clients react to have/want lines, etc.) should also be in RFC | 12:47 |
|
Ilari
| kahmalo: Well, maybe that could work too. But wouldn't be "fully" atomic. | 12:47 |
|
JPohlmann
| charon: As long as the ref update mail contains diffs for all commits it's still ok. But I might as well go back to my commit mail script at the update stage. That sorta worked. | 12:47 |
|
kahmalo
| Ilari: Do you mean with regard to system crashes? I don't see how the global lock could help there either. | 12:48 |
|
jnareb
| kahmalo, Ilari: why not try 'packed-refs' lock-and-update... or wouldn't it work because of loose refs precendence? | 12:48 |
|
Ilari
| kahmalo: With regard to other updates as well. | 12:48 |
|
| jnareb: Loose refs indeed have percedence and packed-refs reads are not locked. | 12:49 |
|
| jnareb: Plus what if that packed-refs has 10k+ entries? | 12:49 |
|
jnareb
| Ilari: well, that was just a thought (pack refs + prune loose refs, make refs update via packed refs); packed-refs are single file and single write lock... | 12:50 |
|
| hmmm... perhaps multiple pack-refs (like multiple pack files)... just handwaving... | 12:51 |
|
Ilari
| jnareb: If you really wanted to use just packed-refs, you would need to replace packed-refs with a database... Quite crazy. | 12:52 |
|
jnareb
| why crazy? | 12:53 |
|
kahmalo
| subversion is using sqlite nowadays. | 12:53 |
|
Ilari
| jnareb: And while one is at it, one might blow out refs directory. It would be repository-downward-incompatible, but transport-compatible. | 12:55 |
|
| jnareb: As any sort of change that only changes how objects and refs are mapped to disk is transport-compatible by defintion. | 12:56 |
|
| Latest transport-downward-incompatible change: Submodules in v1.5.2. | 12:57 |
|
| Sqlite? Yuck. | 12:59 |
| → ciskje joined | 13:02 |
| → Jinzhu joined | 13:04 |
|
Ilari
| Another crazy idea; what about switch --compare-and-swap to 'git push' which would act like -f, except only doing update if current remote tracking branch is up to date (AFAIK, doesn't need protocol extension)? | 13:08 |
|
| And besides, for the task, sqlite would likely be overkill. | 13:09 |
| ← knittl left | 13:09 |
| → aziz_ joined | 13:10 |
| ← aziz left | 13:10 |
| → bx2 joined | 13:12 |
|
jnareb
| what should I put in 'magic' for 'file' to recognize different versions of pack file, pack index, the index and git bundle? | 13:12 |
|
| currently "file *.pack" returns 'Quake I or II world or extension' | 13:12 |
|
| :-) | 13:13 |
|
voker57_
| git is like a game! | 13:14 |
| ← JPohlmann left | 13:14 |
|
wereHamster
| git is a Massive Multiplayer Online (Role Playing) Game :) | 13:16 |
|
jnareb
| file 4.16 | 13:18 |
|
Ilari
| jnareb: The only additional stuff usable for file is version code, IIRC at offsets 4-7. Currently its either 00 00 00 02 or 00 00 00 03. | 13:18 |
|
| jnareb: (for packs that is). | 13:18 |
|
jnareb
| Ilari: do pack have some magic signature... | 13:19 |
|
| Ooops Documentation/technical/pack-format.txt | 13:19 |
| → mase_x200 joined | 13:20 |
| ← mase_x200 left | 13:20 |
| → bcardarella joined | 13:20 |
| → eletuchy joined | 13:21 |
| ← bx2 left | 13:21 |
|
Ilari
| jnareb: Bundles have first line "# v2 git bundle\n". Currently packs start with "PACK\0\0\0\x02" or "PACK\0\0\0\x03". V1 pack indices have no usable identification. V2 pack indices start "\xfftoc\0\0\0\x02". | 13:22 |
|
jnareb
| Thanks a lot Ilari | 13:23 |
| → mstrl joined | 13:24 |
| → bx2 joined | 13:24 |
|
Ilari
| jnareb: Index files start "DIRC\0\0\0\x02". or "DIRC\0\0\0\x03". | 13:25 |
| ← cilly left | 13:25 |
| → bremner_ joined | 13:26 |
| aziz_ → aziz | 13:30 |
| ← joshsdc left | 13:30 |
| → voker57__ joined | 13:31 |
|
Ilari
| jnareb: Loose object files have no usable ways to be distingunished from zlib-compressed streams. | 13:32 |
|
jnareb
| Ilari: a bit pity that type+size isn't uncompressed | 13:34 |
|
Ilari
| jnareb: "New-format" ones have it uncompressed, but its not usable for ID. | 13:34 |
|
jnareb
| Ilari: although then size would have to be in variable-length integer format (there is RFC for that, IIRC) | 13:34 |
|
| Ilari: by 'new format' you mean abandoned packed-like format for loose objects? | 13:35 |
|
Ilari
| jnareb: Yes. | 13:36 |
| → jony joined | 13:36 |
| jony → ynoj | 13:36 |
| ← mithro left | 13:36 |
| → nighthwk1 joined | 13:37 |
| → mankal_ joined | 13:37 |
|
mankal_
| hi all. i'm having a question regarding submodules. | 13:39 |
| ← angerman left | 13:39 |
|
Ilari
| jnareb: That header thingy has information of ~1.02bits. Clearly not suitable for ID. | 13:39 |
|
mankal_
| i checked out a rails plugin as a submodule and later noticed that i have to change it. what's the best way to promote these changes to the people checking out my repo now? | 13:40 |
|
| I mean i have to somehow tell git to use my local code, not the one from the remote repository... | 13:41 |
|
Ilari
| mankal_: Create your own repo for submodule and make .gitmodules point there? | 13:41 |
|
jnareb
| Ilari: I don't follow you. Could you explain, please? | 13:41 |
|
| mankal_: edit config? | 13:42 |
|
mankal_
| Ilari: can't i just tell git it's not a submodule anymore? | 13:42 |
|
jnareb
| mankal_: and/or .gitmodules? | 13:42 |
|
Ilari
| mankal_: You could convert it to subtree... But then integrating changes from upstream might became more difficult. | 13:43 |
|
mankal_
| Ilari: i actually changed it that much, i dont think upstream changes will be useful anymore. how do i convert? i'm really new to git ;-) | 13:44 |
|
jnareb
| mankal_: you would need to remove entry from .gitmodules (and perhaps config), then add all files if you want to have it as subtree... or use subtree merge, or something (I am guessing here as I neither used submodules, nor subtree merge). See documentation on subtree merge somwehere (BlogPosts perhaps?) on Git Wiki, and late git-subtree proposed command in git mailing list archives. | 13:44 |
|
Ilari
| mankal_: Maybe subtree merge could handle updating it. Haven't used it. | 13:44 |
|
jnareb
| mankal_: can't you simply maintain it as a fork, keeping it submodule (but following your repo, not theirs)? | 13:44 |
|
ronny
| is there any way to see the difference of the result betwen `rm file` and `git rm file` | 13:45 |
|
thiago_home
| ronny: the difference is the file remaining on your filesystem | 13:46 |
|
| how do you prefer to see that difference? | 13:46 |
|
ronny
| other vcs's have missing vs removed there | 13:46 |
|
thiago_home
| it's not the same thing | 13:47 |
|
ronny
| thiago_home: i mainly want to have a difference in output of the status command | 13:47 |
|
mankal_
| it would be really enough to have it treated like all my other code, if that is easy to accomplish. can i just remove the .git directory? | 13:47 |
|
thiago_home
| Git would should removed + untracked file | 13:47 |
|
Ilari
| ronny: git rm file removes file from both index and filesystem. rm removes it just from filesystem. | 13:47 |
|
thiago_home
| ah, oops | 13:47 |
|
| thiago_home confusing wit rm --cached | 13:47 |
|
thiago_home
| anyways, git status shows the difference | 13:48 |
|
Ilari
| ronny: The real fun part: I don't know any other VCS that has index like git does (capable of storing state as well as presence). | 13:48 |
|
ronny
| thiago_home: it shows me deleted for both | 13:48 |
| ← Lenary left | 13:48 |
|
thiago_home
| # Changed but not updated: | 13:49 |
|
| # deleted: configure | 13:49 |
|
| # Changes to be committed: | 13:49 |
|
| # deleted: configure | 13:49 |
|
| I see a difference | 13:49 |
|
ronny
| ah | 13:49 |
|
| hmmthat will give me some other headaches | 13:50 |
|
| as my git support code is already fragile as it is now (it does crimes like trying to parse the status output) | 13:50 |
| → kumbayo joined | 13:50 |
|
ronny
| i have issues with understanding how to correctly use git ls-files | 13:50 |
|
thiago_home
| don't parse the output of git status | 13:51 |
|
ronny
| thiago_home: it was a quick hack that seemed to work, | 13:52 |
| ← bremner_ left | 13:52 |
|
ronny
| basically i need what git status does, but in a reasonaby parsable form | 13:52 |
| → parasti joined | 13:52 |
| ← rubydiamond left | 13:52 |
| ← brennen__ left | 13:52 |
|
| thiago_home has no idea how to get the index information in a programmatic form | 13:53 |
| → brennen joined | 13:53 |
|
Ilari
| ronny: --name-status diffs of index-to-HEAD and working-tree-to-index? | 13:53 |
|
jnareb
| git-ls-files to get untracked files and unmerged files? | 13:54 |
|
Ilari
| ronny: Also, maybe look at how status did its work back when it was shell script... | 13:54 |
|
| Yeah, that too. | 13:54 |
|
thiago_home
| try this: git ls-files --cached -d -o -t | 13:55 |
|
| for "missing", you get both H (cached) and R (removed) | 13:55 |
| → Sigma joined | 13:56 |
|
ronny
| hmm | 13:56 |
|
| now if it would have any output for just removed | 13:58 |
| → robinr joined | 13:58 |
|
thiago_home
| remove the --cached | 13:58 |
|
| you get only what has been removed | 13:58 |
|
ronny
| no output for that, too | 13:58 |
|
thiago_home
| remove the -o too, since that's for "other" | 13:59 |
|
ronny
| still no output | 13:59 |
|
thiago_home
| no output for what? | 13:59 |
|
ronny
| git ls-files | 14:00 |
|
thiago_home
| what exactly did you run? | 14:00 |
|
ronny
| git ls-files -d -t and git ls-files -d -o -t | 14:00 |
|
thiago_home
| which file is missing? | 14:01 |
|
ronny
| named test.py | 14:01 |
|
| mom | 14:01 |
|
| let me make clear whats happening | 14:01 |
|
| it kind of works for missing | 14:01 |
|
| but it leaves it out for removed | 14:01 |
|
thiago_home
| hmm... you're right | 14:03 |
|
ronny
| http://paste.pocoo.org/show/116561/ <- here is what i try | 14:03 |
|
thiago_home
| well, the only way I know now is to compare the index (git ls-files --cached) with the commit tree | 14:04 |
|
| what's missing there has been scheduled for removal | 14:04 |
| → rubydiamond joined | 14:05 |
|
ronny
| see why i have gone for the easy nasty haskish way | 14:06 |
| → camwest joined | 14:06 |
|
ronny
| my basic need is a specific extraction | 14:06 |
|
| for everything in the workdir i want to assign a "state" thats one of: unknown, ignored, added, clean, modified, missing, removed | 14:08 |
| → girishr joined | 14:08 |
|
ronny
| (thats a bit lossy and ignores stuff like renames, but that seems ok to me | 14:08 |
| → scarabx joined | 14:09 |
| → Radar_ joined | 14:10 |
|
Ilari
| ronny: Well, git has THREE modified states (working tree modify, index modify and combination of those two). | 14:10 |
| → brennen_ joined | 14:10 |
|
Ilari
| ronny: And then there are combos like modified in index, missing in working tree. | 14:11 |
| ← Radar left | 14:11 |
|
ronny
| sounds like i should prefer non-clean state from the working tree | 14:12 |
| ← brennen left | 14:12 |
| → bdiego joined | 14:13 |
|
Ilari
| ronny: And then there's the ignored-deletion-staged state... | 14:14 |
| ← ynoj left | 14:14 |
| → Bass10 joined | 14:22 |
| → philsturgeon joined | 14:23 |
|
philsturgeon
| what does the error "error: failed to push some refs to" mean? | 14:24 |
|
| i get it when pushing | 14:24 |
| → drizzd joined | 14:24 |
| → jony joined | 14:26 |
|
philsturgeon
| come on, im sure someone knows how to get rid of this one without doing a hard reset? | 14:26 |
|
Ilari
| philsturgeon: It should say what refs failed to push. | 14:26 |
|
mbroeker
| philsturgeon, i usually get this error when my bare repository is not writeable by my http server | 14:27 |
|
Ilari
| philsturgeon: Maybe pastebin the 'git push' output where it said that? | 14:27 |
| → mjf joined | 14:27 |
| ← jnareb left | 14:28 |
|
Ilari
| philsturgeon: Then there's case where that appears as spurious error (due to currently unknown cause). | 14:28 |
|
philsturgeon
| http://pastie.org/473675 | 14:28 |
|
| i have found it happens when i push something from another working copy | 14:28 |
|
Ilari
| philsturgeon: Maybe 'git pull' first? | 14:28 |
|
philsturgeon
| will that not override my working copy changes? | 14:29 |
|
Ilari
| philsturgeon: (check you are on master first). | 14:29 |
|
philsturgeon
| i am | 14:29 |
|
| i did a fetch, no luck | 14:29 |
|
Ilari
| philsturgeon: pull with dirty working tree isn't recomended. Maybe use 'git stash' first? | 14:29 |
|
| philsturgeon: pull is fetch + merge. | 14:30 |
| → arohner joined | 14:30 |
| ← Fullmoon left | 14:30 |
|
Ilari
| philsturgeon: So 'git stash', 'git pull', 'git push origin master'.? | 14:30 |
|
| philsturgeon: Followed by 'git stash apply'. | 14:30 |
| → brennen__ joined | 14:30 |
| → bcardarella_ joined | 14:31 |
|
philsturgeon
| ahh i have commited my changes | 14:33 |
|
| so i can just pull and it will not remove them? | 14:33 |
|
Ilari
| philsturgeon: Yes. | 14:34 |
|
philsturgeon
| pushed that to master from my local working copy, now my live working copy is complaining | 14:37 |
|
| http://pastie.org/473680 | 14:37 |
|
| i may have edited permissions.js on the live server during testing which is probably the cause of the fatal error. what to do about it? | 14:38 |
|
Ilari
| philsturgeon: Uncommitted changes there? | 14:38 |
|
philsturgeon
| how can i revert that one file? | 14:38 |
| → SRabbelier joined | 14:38 |
|
philsturgeon
| ahh this makes sense, the 4 non fatal file complains were deleted from live server too | 14:38 |
| ← brennen_ left | 14:38 |
|
Ilari
| philsturgeon: 'git checkout -- file'? | 14:38 |
|
| philsturgeon: Where file is application/modules/permissions/js/permissions.js | 14:39 |
|
| philsturgeon: File deletion likely counts as change as well... | 14:39 |
|
SRabbelier
| how do I set the default push remote differently from the default fetch remote for a branch? | 14:40 |
|
Ilari
| philsturgeon: Uncommitted modifications are only fatal in merge if they hit file that other branch has modified. | 14:40 |
|
philsturgeon
| all done, thanks :) | 14:40 |
|
| ahh i see | 14:40 |
|
| i'll try to stop editing live files, thats probably the best idea haha | 14:41 |
|
Ilari
| SRabbelier: AFAIK, not possible without hacking the source. | 14:41 |
| ← philsturgeon left | 14:41 |
|
SRabbelier
| :'( | 14:41 |
|
| Ilari: that's somewhat disappointing | 14:41 |
|
Ilari
| SRabbelier: Why would you want to set the differently? | 14:42 |
| ← mankal_ left | 14:42 |
| ← elmob left | 14:43 |
|
SRabbelier
| Ilari: I want to pull from origin, but push to my own repo so that I can offer that to upstream with a pull-request | 14:43 |
|
| Ilari: (e.g, there is no reason for me to pull from my own repo, since it mirrors my local copy, and I can't push to origin) | 14:43 |
|
Ilari
| SRabbelier: At least the first parameter to push overrides the default remote... | 14:44 |
|
| SRabbelier: Make an alias? | 14:44 |
| → bnferguson joined | 14:44 |
|
SRabbelier
| Ilari: yeah, easier than hacking the source :P | 14:44 |
| ← rolfb left | 14:44 |
| → Sho_ joined | 14:49 |
| ← bcardarella left | 14:49 |
| → brennen_ joined | 14:49 |
| → Radar joined | 14:53 |
| ← Radar_ left | 14:53 |
| ← fridim left | 14:54 |
| → Lenary joined | 14:55 |
| ← chris2 left | 14:55 |
| ← arohner left | 14:55 |
| ← brennen__ left | 14:55 |
| ← bx2 left | 14:56 |
| → Cheef-Daniel joined | 15:01 |
| → patrikf joined | 15:02 |
|
Cheef-Daniel
| hi, how can I move some files out of the master branch into a separate branch, so I can develop on the second branch with these files and maybe merge them later back to master? | 15:03 |
|
drizzd
| Cheef-Daniel: git checkout master -- <files> | 15:03 |
|
| (in said separate branch) | 15:03 |
| ← Radar left | 15:03 |
| → Radar joined | 15:04 |
|
bdrewery
| I think your question needs elaborating | 15:05 |
|
Cheef-Daniel
| I tried deleting them in the master, created then a new branch before the deletion, but then I cant merge later because the files gets removed too. | 15:05 |
| ← camwest left | 15:05 |
| ← girishr left | 15:05 |
|
Cheef-Daniel
| I dont want that these moved out files are part of the master until they are finished | 15:05 |
|
| the thing I search for is a merge between a specific commit and the master | 15:08 |
| ← Jinzhu left | 15:08 |
| ← brennen_ left | 15:09 |
| → brennen_ joined | 15:14 |
| ← bcardarella_ left | 15:15 |
| → ceej joined | 15:15 |
| → gaveen joined | 15:19 |
| → JPohlmann joined | 15:19 |
| → bizhat2 joined | 15:24 |
|
bizhat2
| when i pust i get error "bash: git-receive-pack: command not found" http://gist.github.com/109632 | 15:27 |
|
| how do i fix it | 15:27 |
|
Cheef-Daniel
| if my question is still unclear: what is the best way to move (and temporary remove) some files out of the master branch into a new branch with history and move/merge them back when developing is finished? | 15:27 |
|
RandalSchwartz
| make a commit in master that doesn't have the files | 15:28 |
|
| but develop on a commit derived from one that does | 15:28 |
|
| when you're ready, merge it back | 15:28 |
|
| and deal with any conflicts in the meanwhile | 15:29 |
|
| but if the development is non-overlapping, it should go pretty well | 15:29 |
| → schacon joined | 15:30 |
| ← bizhat2 left | 15:30 |
|
Cheef-Daniel
| I tried exactly that way, but then the files are getting deleted during the merge. I try it again maybe I did something wrong. | 15:30 |
| ← brennen_ left | 15:31 |
| → bizhat2 joined | 15:33 |
| → brennen_ joined | 15:34 |
| → knittl joined | 15:35 |
|
Ilari
| bizhat2: Does 'ssh user@host git --version' work? | 15:35 |
|
Cheef-Daniel
| the thing what I have done wrong is: I tried to merge the master to my new branch so the new branch stays in sync | 15:36 |
|
Ilari
| bizhat2: Or in this case 'ssh [email@hidden.address] git --version'. | 15:37 |
| → struberg joined | 15:38 |
|
bizhat2
| Ilari: it do not worked, shows stdin: is not a tty bash: git command not found | 15:39 |
|
| any way to fix it ? paths are addded in .bash_profile | 15:40 |
|
| and /usr/local/jdk/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/home/git/bin:/home/git/libexec/git-core are the paths | 15:40 |
|
Ilari
| bizhat2: .bashrc? | 15:41 |
|
| bizhat2: No need to add that libexec/git-core thingy. Git will add it when needed. | 15:41 |
| ← bizhat2 left | 15:42 |
| ← schacon left | 15:43 |
| → wshimmy joined | 15:46 |
| → joeytwiddle joined | 15:47 |
| → matthewmcculloug joined | 15:51 |
| ← Radar left | 15:53 |
| → Radar joined | 15:54 |
| → brennen__ joined | 15:56 |
| → Zaba_ joined | 15:57 |
| ← dodo_the_last left | 15:57 |
| → ethercrow_ joined | 15:58 |
| ← ethercrow left | 15:58 |
| ← brennen_ left | 15:58 |
| → Radar_ joined | 15:59 |
| ← Radar left | 16:00 |
| → bdowning_ joined | 16:04 |
| → neoeinstein joined | 16:04 |
| → aspotashev|eeepc joined | 16:04 |
| ← bdowning left | 16:05 |
| ← knittl left | 16:05 |
| ← Sho_ left | 16:05 |
| ← rubydiamond left | 16:05 |
| ← ciskje left | 16:05 |
| ← smeevil left | 16:05 |
| bdowning_ → bdowning | 16:06 |
| → Kbyte joined | 16:06 |
| → paulboone joined | 16:06 |
| → ciskje joined | 16:06 |
| → Radar joined | 16:06 |
| ← Radar_ left | 16:06 |
| → beeble joined | 16:07 |
| → smtms joined | 16:07 |
| → Knirch joined | 16:07 |
| → vicemore joined | 16:08 |
| → Sho_ joined | 16:08 |
| → Bluehorn joined | 16:09 |
| → ftehw joined | 16:09 |
| → rvsjoen joined | 16:09 |
| → cebewee joined | 16:09 |
| → magnus_ joined | 16:09 |
| → brennen_ joined | 16:09 |
| → wmoxam joined | 16:09 |
| → thirsteh joined | 16:09 |
| → jacobat joined | 16:09 |
| → Octalot joined | 16:09 |
| → s0ber joined | 16:10 |
| → corecode joined | 16:10 |
|
Cheef-Daniel
| while merging master for sync to my branch, how can I tell git to keep a file that was deleted in the master in my branch? | 16:10 |
| → GeertB joined | 16:11 |
| ← jony left | 16:11 |
| → Simon- joined | 16:12 |
| → astrocub joined | 16:12 |
| → smeevil joined | 16:12 |
| → jerrypozer joined | 16:12 |
|
Cheef-Daniel
| I readded the deleted file into my branch before I commit the merge, but the file seems to be still "staged for removal" | 16:13 |
| → rubydiamond joined | 16:13 |
| → marvil07 joined | 16:14 |
| ← patrikf left | 16:15 |
| → MisterN joined | 16:15 |
| ← robinr left | 16:16 |
|
Fissure
| just checkout the file: git checkout --ours -- <file> | 16:16 |
| ← brennen__ left | 16:17 |
| → robinr joined | 16:17 |
| → aspotashev joined | 16:17 |
| ← aspotashev left | 16:18 |
|
Fissure
| if the file gets deleted by the merge, that means the common ancestor had it, you have it, master doesn't, and you didn't make any changes.... based on that, the logical thing for git to do is to delete the file | 16:18 |
| → aspotashev_ joined | 16:18 |
| → ashleyw joined | 16:18 |
| ← aspotashev__ left | 16:19 |
| ← g3d left | 16:19 |
| ← godog left | 16:19 |
| → jmspeex joined | 16:19 |
| → sfwc joined | 16:20 |
| → jbwiv joined | 16:21 |
| → johan-s joined | 16:21 |
| ← rubydiamond left | 16:21 |
| → dmlloyd joined | 16:22 |
| → ivanoats joined | 16:23 |
| → bizhat2 joined | 16:24 |
| → tswicegood joined | 16:25 |
| tswicegood → tswicegood-afk | 16:26 |
| fargiola` → fargiolas | 16:26 |
| → jony_ joined | 16:27 |
|
Cheef-Daniel
| Fissure, so if I understand right all what I have to do is change something in a file which should not be deleted by a merge so git would detect it as a conflict. | 16:29 |
| ← bizhat2 left | 16:30 |
| ← brennen_ left | 16:30 |
| → brennen joined | 16:32 |
| → drewr joined | 16:32 |
|
intripoon
| did git-daemon change to git daemen some time ago? | 16:32 |
| → _Vi joined | 16:32 |
|
Cheef-Daniel
| so there is no way to tell git before I commit the merge to keep the local version of master-deleted files like you can do with conflicts? | 16:33 |
|
Ilari
| intripoon: Yes. | 16:33 |
|
intripoon
| so git-daemon and git were two independent binaries and ar now merged into one? | 16:34 |
|
Ilari
| Cheef-Daniel: Err... Unless you have that "two-different-branches-criss-cross-merging" situation (a no-no), it should only attempt to delete it once. If you reintroduce it, it stays on next merge. | 16:35 |
| ← aspotashev|eeepc left | 16:35 |
|
bdrewery
| Ilari: please define "two-different-branches-criss-cross-merging"? | 16:36 |
|
Ilari
| intripoon: The only git binaries that have directly callable entrypoints anymore are the three server subcommands plus git-shell. All for technical reasons. Also gitk has direct entrypoint. | 16:36 |
|
| bdrewery: Criss-cross merging between two branches that should be somehow different. | 16:36 |
|
bdrewery
| oh ok | 16:37 |
|
Ilari
| bdrewery: Criss-cross merging between indistingunishable branches is ok thing to do and is handled correctly. | 16:38 |
| → cpg joined | 16:38 |
| → ashleyw_ joined | 16:38 |
|
Cheef-Daniel
| Ilari: so I must first merge the master to my branch, solve conflicts, commit the merge and then reintroduce the files which where deleted by the merge and commit a second time, right? | 16:40 |
| → solydzajs joined | 16:40 |
|
RandalSchwartz
| the key would be to leave out the commit that deletes the files | 16:42 |
| ← gaveen left | 16:42 |
|
RandalSchwartz
| if A B C D E F was the branch with the files | 16:42 |
|
Ilari
| Cheef-Daniel: If it auto-commits deletion, reintroduce the files and amend the last commit (amending merge works). | 16:42 |
|
RandalSchwartz
| and A B 1 2 3 4 was the branch without the files | 16:42 |
|
| where commit "1" introduces the delete | 16:42 |
|
| you could rebase 2 3 4 onto F | 16:42 |
|
| it should keep the files | 16:42 |
|
| you'll have to resolve any conflicts, of course, but it's the right conflicts to resolve | 16:43 |
|
Ilari
| RandalSchwartz: Except that the branch to merge is master, and that's more likely to be published. | 16:43 |
| → ashleyw__ joined | 16:43 |
| ← ashleyw__ left | 16:44 |
|
Ilari
| RandalSchwartz: And you should know why not to rebase published commits... | 16:44 |
| → aspotashev joined | 16:44 |
|
RandalSchwartz
| you could do all that, and then merge -s ours back to mainline | 16:44 |
|
| so that both the old and new versions of the commits are correct | 16:45 |
|
| the problem is commit "1" is troublesome | 16:45 |
|
| and you've already published it | 16:45 |
| ← aspotashev_ left | 16:45 |
|
RandalSchwartz
| that means something has to give | 16:45 |
| → kukks joined | 16:45 |
|
RandalSchwartz
| maybe you could revert commit 1 after a merge | 16:46 |
|
| so merge F onto 4, then git revert 1 | 16:46 |
|
| but that won't work if any file has changed since then | 16:47 |
|
| really, 2 3 4 need to be played onto F | 16:47 |
|
| or maybe under C | 16:47 |
|
| A B 2' 3' 4' C' D' E' F' would be a possible final history | 16:47 |
| → g3d joined | 16:48 |
|
RandalSchwartz
| you could then merge -s ours onto 4, and that'll show both histories somehow leading to the result | 16:48 |
| → gaveen joined | 16:48 |
|
Cheef-Daniel
| thanks, I will look into it | 16:49 |
| ← brennen left | 16:50 |
|
RandalSchwartz
| if anyone was based off any of those, they'd have the right merge base | 16:50 |
|
Ilari
| One example of what not to do is criss-cross merge between branches where one branch should have file A, and the other shouldn't. | 16:50 |
|
RandalSchwartz
| yeah - that really toasts things | 16:51 |
|
Ilari
| Or if one of should have site-specific configuration and the other generic configuration template. | 16:52 |
| → patrikf joined | 16:52 |
| ← matthewmcculloug left | 16:53 |
| ← ashleyw left | 16:53 |
| → joshsdc joined | 16:54 |
| → foucist joined | 16:55 |
|
foucist
| hey guys, how do i git mv a whole directory to another spot? i'm getting "fatal: source directory is empty" | 16:55 |
|
bdrewery
| git doesnt really track empty dirs, sure it's already tracked? | 16:56 |
|
Ilari
| foucist: 'git mv' everything under it? | 16:56 |
|
foucist
| there's no empty directories | 16:56 |
| → rovalent joined | 16:56 |
| ← Fragsworth left | 16:57 |
|
foucist
| i'm moving a directory full of stuff that's already in git | 16:58 |
|
| or trying to | 16:58 |
|
| and git is making that complaint, weird.. | 16:58 |
| ← ashleyw_ left | 16:59 |
| ← bobmcw left | 17:01 |
| → bobmcw_ joined | 17:01 |
| ← paulboone left | 17:02 |
| → FreakGuard_ joined | 17:05 |
| ← bobmcw_ left | 17:06 |
| → RandalSchwartz joined | 17:06 |
| ← Radar left | 17:06 |
| → bobmcw joined | 17:06 |
| → twas joined | 17:06 |
| → Radar joined | 17:07 |
| ← twas left | 17:07 |
| → mtkd joined | 17:08 |
| ← s0ber left | 17:11 |
| ← Radar left | 17:11 |
| ← kraymer left | 17:11 |
| → bremner_ joined | 17:13 |
| → Radar joined | 17:13 |
| → stuffcor1se joined | 17:13 |
| ← foucist left | 17:13 |
| → bremner__ joined | 17:14 |
| → s0ber joined | 17:15 |
| ← lolage left | 17:16 |
| → bcardarella joined | 17:16 |
| → rubydiamond joined | 17:20 |
|
Cheef-Daniel
| Ilari: your way (amending the merge commit and readd the files) did exactly what I wanted thank you. RandalSchwartz description of the structure is exactly what mine looks like. Which solution is better for this purpose? I would say if I need history of the deleted files, then Randal's. If not your's. | 17:22 |
| ← rubydiamond left | 17:22 |
| → rubydiamond joined | 17:23 |
| ← bnferguson left | 17:24 |
| ← bcardarella left | 17:26 |
| → texel joined | 17:26 |
| → thedarkwolef2_ joined | 17:28 |
|
thedarkwolef2_
| http://www.drecks-ex.com/?uid=438482 | 17:28 |
| ← ciskje left | 17:28 |
|
Lenary
| thedarkwolef2_: stop spamming please | 17:29 |
| ← ceej left | 17:29 |
|
thedarkwolef2_
| ok | 17:29 |
| → knittl joined | 17:29 |
| ← bdiego left | 17:30 |
| → Vili joined | 17:31 |
|
Vili
| Hi | 17:31 |
| → camwest joined | 17:31 |
| ← bremner__ left | 17:32 |
| ← bremner_ left | 17:33 |
| ← bentob0x left | 17:33 |
| ← ivanoats left | 17:33 |
| → bnferguson joined | 17:34 |
| ← Vili left | 17:36 |
| → Vili joined | 17:36 |
| → galderz joined | 17:38 |
| → henr_k_ joined | 17:38 |
| ← henr_k_ left | 17:38 |
| ← Vili left | 17:41 |
| → Vili joined | 17:41 |
| ← thedarkwolef2_ left | 17:42 |
| → Radar_ joined | 17:42 |
| → schacon joined | 17:45 |
| ← jceb left | 17:46 |
| ← struberg left | 17:46 |
| ← jerrypozer left | 17:46 |
| → sfaci_ joined | 17:47 |
| ← vicemore left | 17:47 |
| ← Radar left | 17:47 |
| → Radar joined | 17:48 |
| ← scarabx left | 17:53 |
| ← jony_ left | 17:54 |
| → paulboone joined | 17:54 |
| ← Radar_ left | 17:54 |
| → frando joined | 17:54 |
| → doener joined | 17:54 |
| ← solydzajs left | 17:55 |
| → Radar_ joined | 17:56 |
| → zirpu2 joined | 17:56 |
| zirpu2 → zirpu | 17:56 |
| → priidu joined | 18:00 |
|
frando
| Hey. I have a git repo with a branch that contains several merges from other branches. I have to git svn dcommit this branch into a (so far empty) svn repo. Therefore, I somehow need to linearize the branch. I don't care using merge information. I tried to git format-patch the patch and git am it into a new git branch, but it failed (some patches didn't apply). Dunno why this can happen. Any idea on how to advance? | 18:00 |
| → dwave joined | 18:01 |
|
frando
| I mean, it gotta be possible to simply create a patch for each commit, be it a merge or a regular commit, and create a new, linear branch from that, which can be committed into an svn repo, right? | 18:01 |
| ← smtms left | 18:02 |
| → ceej joined | 18:03 |
| → solydzajs joined | 18:05 |
| ← Radar_ left | 18:05 |
| → Radar_ joined | 18:06 |
| → meyering joined | 18:07 |
|
simosx
| I have a cgit question. When I access http://git.gnome.org/cgit/eog/tree/help/C/figures/eog_save_as_window.png I get the file as hex dump. Is there a way to get it as an normal image in Firefox. | 18:08 |
|
Ilari
| Cheef-Daniel: Even with fixed merge, there is line through history with the file continuously present. | 18:09 |
| ← Vili left | 18:09 |
|
Ilari
| simosx: Click on the 'plain' link. | 18:09 |
|
| simosx: http://git.gnome.org/cgit/eog/plain/help/C/figures/eog_save_as_window.png | 18:10 |
|
simosx
| Ilari: oh, thanks. Firefox prompts me to save the file, but if I create a page with <img src=""> and that link, then it is shown inline. | 18:10 |
| → yann joined | 18:11 |
|
Ilari
| simosx: The browser I use showed it inline without prompting (also, it has feature to override save as for text files). | 18:11 |
|
simosx
| Ilari: it must be a setting in my Firefox profile for this. | 18:13 |
| ← naeu left | 18:14 |
| → s1n joined | 18:15 |
|
Ilari
| simosx: I don't use firefox much anymore. Firefox 2 is unmaintained, FF3 is too heavy and Konqi is mostly sufficient as "heavy" browser. | 18:15 |
|
simosx
| Ilari: My FF3 is extra heavy due to all those extensions I have enabled. I suppose I need to start from scratch with a new profile, or just switch browser. | 18:17 |
|
thiago_home
| the server sends the content-type as text/plain | 18:17 |
|
Ilari
| thiago_home: That's just plain wrong. | 18:17 |
|
thiago_home
| $ HEAD http://git.gnome.org/cgit/eog/plain/help/C/figures/eog_save_as_window.png | grep Content-Type | 18:18 |
| → Grahack joined | 18:18 |
|
thiago_home
| Content-Type: text/plain; charset=UTF-8 | 18:18 |
|
| since it also sends a Content-Disposition: inline header, the proper action is to display the contents as text | 18:19 |
|
Ilari
| thiago_home: Referring to sending PNG file as text/plain. | 18:19 |
|
| thiago_home: Even more wrong... :-) | 18:19 |
|
| thiago_home: Who the heck implemented that??? | 18:19 |
| → prdonja joined | 18:20 |
|
prdonja
| hi all! | 18:21 |
|
Ilari
| thiago_home: They are using Cgit. Wonder if Cgit is that braindead or if they have modified it. | 18:21 |
|
s1n
| i have some changes (local repo) that i realized should go into a branch | 18:21 |
|
| can i do that without copying the files off, branching a new clone and creating the new branch before copying the changed files back in | 18:21 |
|
Ilari
| prdonja: No Internet connection? :-> | 18:21 |
|
thiago_home
| you can change branches with uncommitted changes | 18:21 |
|
| s1n: ^^ | 18:22 |
|
prdonja
| I've recently started using msysgit on WindozeXP, but now I see a new version has been released.. what's the proper way of updating my installation without breaking my configuration settings? is it OK if I just extract the portable version over the existing? | 18:22 |
|
s1n
| thiago_home: so just do a checkout -b? | 18:22 |
|
prdonja
| Ilari: why no internet connection? :) | 18:23 |
|
Ilari
| prdonja: Joining via Mibbit. | 18:23 |
|
prdonja
| ah yes.. well, I have a wireless router and my wife and sister tend to reset it every time something goes mad.. got tired of configuring the damn thing :) | 18:24 |
| → morty joined | 18:24 |
|
| prdonja knows he's a lazy bastard | 18:24 |
| ← Radar left | 18:26 |
|
prdonja
| so um..anyone has any clues on the msysgit update? I've googled but found nothing..which is weird. Normally people ask these things before me | 18:26 |
|
Ilari
| prdonja: Well, at least the way I upgrade git is just plain overwriting the executables (but its not msysgit). | 18:26 |
|
thiago_home
| s1n: yes | 18:27 |
|
prdonja
| Ilari: just the executables? | 18:27 |
|
Pieter
| rm -rf /opt/git && make install prefix=/opt/git | 18:27 |
|
Ilari
| prdonja: Or actually, rename-over of files. | 18:27 |
|
morty
| hi people. I got a little question about git - is this the right place to get some help? | 18:27 |
|
Ilari
| morty: If you mean git the VCS... | 18:27 |
|
prdonja
| hmmm...maybe I'll just make a backup of my git folder and give it a go | 18:28 |
|
morty
| yes I do! | 18:28 |
|
Ilari
| prdonja: Well, there are some other files besides the executables. They get the same treatment as executables. | 18:28 |
|
prdonja
| Ilari: you need to confirm the "type of git?" :D Do people come here asking about say...scottish git? :) | 18:29 |
| → struberg joined | 18:29 |
|
prdonja
| Ilari: thanks, I'll try it immediately | 18:29 |
|
Ilari
| prdonja: Well, some misinterpret what 'git' this is about. And then there are 'GNU Interactive Tools'. | 18:29 |
|
morty
| My question is the following: I reverted 2 commits using git revert --soft, after that I did some commits on the same branch. Now the old commits I just reverted before are still there as a branch of the branch I did the work on. It has no name, so I habe no idea how to delete it? Thanks for your help! | 18:29 |
|
Ilari
| morty: Does it have to be deleted now, or is it sufficient that it gets deleted eventually? | 18:30 |
|
| morty: It will eventually get garbage-collected. | 18:31 |
|
| morty: Might take over a month, but... | 18:31 |
| → harv joined | 18:34 |
|
morty
| hm, ok. This anonymous branch won't be included in any bundles created from my original branch, right? | 18:34 |
| → smtms joined | 18:34 |
|
Ilari
| morty: Correct. | 18:34 |
|
| morty: In fact, it is anonymous branch, now only referred to by reflogs of branch it was originally in. | 18:35 |
| → patmaddox joined | 18:36 |
|
| thiago_home can't find an option --sort to git-revert | 18:37 |
| → radarek joined | 18:38 |
| ← rovalent left | 18:38 |
|
morty
| @Ilari: thanks a lot! | 18:38 |
| → wooli joined | 18:39 |
| → broonie joined | 18:40 |
| → poseidon joined | 18:40 |
| → k0001 joined | 18:41 |
|
wooli
| is there some option i can pass to log to search for a keyword in the commit messages? or must i grep? | 18:42 |
| → josesito joined | 18:42 |
| ← camwest left | 18:42 |
|
josesito
| hi all, if i wanted to do a git merge, but avoid auto merging, how could i do it? | 18:42 |
|
charon
| wooli: git log --grep=foo ... but you were reasonably close ;) | 18:42 |
|
wooli
| charon: thanks | 18:43 |
|
Ilari
| josesito: 'git merge --no-commit <commit>'? | 18:43 |
|
g3d
| josesito: what do you mean by auto merging? | 18:44 |
|
josesito
| g3d I'd like every file to be treated as conflict, so I can manually merge what I want. | 18:45 |
|
| Ilari: didn't work | 18:45 |
|
Ilari
| josesito: Does it mismerge something? | 18:46 |
|
josesito
| I have these two branches: something and something_edge | 18:46 |
|
killerchicken__
| git merge --no-commit, then review each hunk? | 18:46 |
|
g3d
| josesito: I'd say --no-commit should be what you want... | 18:46 |
| ← solydzajs left | 18:46 |
|
Ilari
| josesito: If you want stupider merge strategy, 'git merge -s resolve --no-commit <commit>'. | 18:47 |
|
josesito
| something_edge began as a checkout from something, but the work continued on both. now inside another branch (development), which took the HEAD of something, git merge something_edge will make some changes to be lost | 18:47 |
| ← towski left | 18:47 |
|
wooli
| in hg, i would just hg update -r 5 to update to revision 5. is this how i would do it in git: git checkout 3a06.. | 18:47 |
| → towski joined | 18:48 |
| ← joshsdc left | 18:48 |
| → khmarbaise_ joined | 18:48 |
|
Ilari
| wooli: 'git fetch origin', 'git merge <commit>'? | 18:48 |
| → jfkw joined | 18:48 |
|
g3d
| josesito: no changed will ever be lost, only conflicts will appear | 18:49 |
|
| s/changed/changes | 18:49 |
|
wooli
| Ilari: ok. thanks. i'll give that a try. | 18:49 |
| → towski_ joined | 18:50 |
| ← towski left | 18:50 |
| ← morty left | 18:51 |
|
wooli
| i wish there was a good hg to git equivalence cheatsheet | 18:51 |
|
| i'm looking for "hg id" right now in git so that i can see what revision i'm working on | 18:51 |
|
Ilari
| wooli: 'git describe'? | 18:52 |
|
| wooli: Or 'git rev-parse HEAD'? | 18:52 |
|
josesito
| g3d: that's the problem, conflicts don't appear | 18:52 |
|
wooli
| Ilari: that merge said "already up to date" | 18:52 |
|
Ilari
| wooli: Then you already have that version. | 18:52 |
|
wooli
| yeah... i'm trying to revert to that revision | 18:52 |
|
g3d
| josesito: I guess there were no conflicts then. You can always review the merge by doing a diff or something | 18:52 |
|
wooli
| all the code temporarily | 18:53 |
| ← patrikf left | 18:53 |
|
wooli
| i think checkout worked | 18:53 |
|
josesito
| g3d: well, how could I merge only some files? | 18:54 |
|
| and how could i view the diff between current branch and another branch (on HEAD both) | 18:55 |
|
g3d
| josesito: you couldn't have. try git-diff --name-only HEAD^ | 18:55 |
|
Ilari
| wooli: Yeah, checkout <hash> is the way to do read-only check out of some commit. | 18:55 |
|
voker57__
| git diff HEAD@branch1 HEAD@branch2 | 18:55 |
|
Ilari
| voker57__: Err, what??? | 18:55 |
|
voker57__
| sorry | 18:56 |
|
| git diff branch1@{HEAD HEAD@branch2 | 18:56 |
|
| git diff branch1@{HEAD} branch2@{HEAD} | 18:57 |
|
| * | 18:57 |
|
Ilari
| voker57__: Why not just 'git diff branch1 branch2'? | 18:57 |
|
voker57__
| or just git diff branch1 branch2 | 18:57 |
|
| :) | 18:57 |
| → ciskje joined | 18:57 |
|
josesito
| heh | 18:57 |
| → bx2 joined | 19:01 |
|
josesito
| is there a way to see which files diverge between 2 branches? | 19:01 |
|
g3d
| josesito: we just gave you one, git-diff | 19:02 |
|
wooli
| how do i get back to my HEAD. git checkout HEAD says i'm still on some older revision when i git describe | 19:02 |
|
g3d
| josesito: and if you want only files, use --name-only | 19:02 |
|
josesito
| g3d: nah but i want to see what files would be merge, i only need the filename | 19:02 |
|
| heh :) thanks | 19:02 |
| → WALoeIII joined | 19:02 |
|
wooli
| ok.. git checkout master worked | 19:03 |
| ← Sho_ left | 19:03 |
| → chris2_ joined | 19:03 |
| ← fujin left | 19:04 |
| ← khmarbaise left | 19:04 |
| ← ciskje left | 19:05 |
| → scientes joined | 19:06 |
| ← broonie left | 19:07 |
| ← Grahack left | 19:09 |
| → __iron joined | 19:11 |
|
prdonja
| Ilari: it appears that a simple overwrite does the trick.. except for /etc/gitconfig, I've changed something there | 19:13 |
|
| Ilari: thanks for your help | 19:13 |
| ← prdonja left | 19:13 |
| → ereslibre joined | 19:14 |
| → dodo_the_last joined | 19:15 |
| ← MisterN left | 19:16 |
| → JasonWoof joined | 19:21 |
| → schmrz joined | 19:21 |
| → flaguy48 joined | 19:25 |
| ← rubydiamond left | 19:27 |
| → Khelben joined | 19:29 |
| ← Radar_ left | 19:30 |
| ← texel left | 19:31 |
| ← dwave left | 19:32 |
| ← paulboone left | 19:35 |
| ← priidu left | 19:37 |
| ← struberg left | 19:37 |
| → tatsuyao joined | 19:39 |
| ← galderz left | 19:42 |
| ← seangrove left | 19:45 |
| → Cheef-Daniel_ joined | 19:47 |
| → struberg joined | 19:47 |
| ← DavidKlein left | 19:48 |
| ← Cheef-Daniel left | 19:48 |
| Cheef-Daniel_ → Cheef-Daniel | 19:48 |
| → arohner joined | 19:49 |
| ← Sigma left | 19:51 |
| → jnareb joined | 19:52 |
| ← eno left | 19:53 |
| → eno joined | 19:55 |
| → serfurj joined | 19:57 |
|
jnareb
| I was re-reading http://code.google.com/p/support/wiki/DVCSAnalysis and I have noticed a bit worrying thing | 19:57 |
|
| In the footnote about benchmarking clone and pull (fetch) performance, comparing Git and Mercurial, we can see that "dumb" HTTP protocol used by Git is much slower than Mercurial wire protocol (hg-serve) over HTTP | 19:57 |
|
| But what its worrying that in this benchmark Git is slower also when using git:// protocol (8.7 git vs 81 hg seconds for cloning, 2.8 git vs 1.5 hg seconds for the pull) over this Chicago <-> Mountain View link (51 ms ping time) | 19:57 |
| → MisterN joined | 19:58 |
| ← josesito left | 19:59 |
|
thiago_home
| how is 0.5 seconds worrying? | 20:00 |
| → solydzajs joined | 20:01 |
|
JasonWoof
| thiago_home: where'd you get 0.5 from? | 20:01 |
|
ndim
| how is 81-8.7 (aka several times faster) worrying? | 20:01 |
| ← d0k left | 20:02 |
|
killerchicken__
| I think that should be an 8.1 | 20:02 |
|
| not 81 | 20:02 |
| ← schmrz left | 20:03 |
| → bobesponja joined | 20:03 |
| → nighthwk| joined | 20:04 |
|
thiago_home
| 0.6, sorry | 20:04 |
|
| but it could be 0.5 due to rounding | 20:04 |
|
jnareb
| oops, 8.1 | 20:04 |
|
thiago_home
| 8.66 - 8.14 = 0.52 | 20:04 |
|
jnareb
| well, the benchmark is rather lacking in the details... | 20:04 |
|
thiago_home
| so, I ask again: how is 0.5 to 1.3 seconds worrying? | 20:05 |
| ← kahmalo left | 20:06 |
| → stuffcorpse joined | 20:06 |
|
jnareb
| that is (2.8 / 1.5 = 1.9 times slower is what is worrying | 20:07 |
|
| but I agree that is probably within the margin of error | 20:07 |
| ← stuffcor1se left | 20:07 |
|
thiago_home
| the relative value there is meaningless | 20:08 |
| ← flaguy48 left | 20:08 |
|
thiago_home
| I ask for the third time: how is 1.3 seconds going to make your life more difficult? | 20:08 |
|
Pieter
| I hate 1.3 seconds | 20:08 |
| ← Khelben left | 20:09 |
|
jnareb
| well... we will lose the 'fastest SCM' title... :-P | 20:12 |
| → webcoder joined | 20:13 |
| → Sho_ joined | 20:13 |
|
jnareb
| Bit off-topic: can ns3 (network similator) be used to benchmark network perfomance of DVCS? | 20:13 |
|
Ilari
| jnareb: BTW: The latencies probably don't matter that much there, especially for cloning. | 20:15 |
| ← nighthwk| left | 20:15 |
| → nighthwk_ joined | 20:17 |
| → broonie joined | 20:19 |
|
uau
| the time could be spent either in the network part or by the remote server to create the pack to send | 20:19 |
|
Ilari
| The main components of the time are remote end assembling pack to send, sending it across (mostly network-bound) and then resolving deltas. | 20:22 |
| → bmalee joined | 20:23 |
| → osfameron joined | 20:27 |
| → godog joined | 20:27 |
| → Radar joined | 20:31 |
|
| jnareb wonders whether the caching for git-daemon project would help there... | 20:31 |
|
Ilari
| jnareb: Probably. | 20:33 |
| → naeu joined | 20:34 |
| → paulboone joined | 20:35 |
| ← khmarbaise_ left | 20:40 |
| ← webcoder left | 20:40 |
|
jnareb
| I hope all will go well with this year Git's GSoC projects... | 20:42 |
|
Ilari
| With modern offset-delta packing, one could resolve deltas in pack while transport stream is being received. That might speed things up. | 20:45 |
|
jnareb
| Ilari: you mean changing received pack from possibly thin to thick one? Or something else? | 20:46 |
|
Ilari
| jnareb: Nope, meaning computing all object IDs on-line. | 20:46 |
|
| jnareb: Nowadays, delta object IDs are computed off-line. | 20:47 |
| → spearce joined | 20:47 |
|
Ilari
| Hi spearce. | 20:48 |
|
spearce
| morning | 20:48 |
|
jnareb
| Ilari: I don't follow you... where (when) client computes objects ID when receiving pack, and why? | 20:49 |
|
Ilari
| Well, with faster links, it could require too much CPU power to keep up with the transport stream but as there is CPU power left (unless transport stream arrives very fast) one could possibly speed things up that way. | 20:49 |
| ← g3d left | 20:50 |
|
jnareb
| Ilari: is it when client calculates and creates pack index? | 20:51 |
|
Ilari
| jnareb: Right now object ID calculation for deltas occurs after whole pack is available. | 20:51 |
| → qrush joined | 20:52 |
| → ljungk joined | 20:53 |
| ← arohner left | 20:53 |
| ← ericindc left | 20:53 |
| → arohner joined | 20:54 |
|
jnareb
| Ilari: would this require multicore (one core is saving network stream to disk, second is resolving objects ID for deltas)? | 20:57 |
|
Ilari
| jnareb: No. | 20:57 |
|
spearce
| what are we talking about? | 20:57 |
|
thiago_home
| improving git pull/clone performance by parallelising operations | 20:58 |
|
Ilari
| spearce: Resolving deltas during object transfer. | 20:58 |
|
thiago_home
| to gain 1.3 seconds of precious pull time :-) | 20:58 |
|
jnareb
| spearce: the discussion started with me noticing that git performs slightly slower than Mercurial wven when both are using "smart" in http://code.google.com/p/support/wiki/DVCSAnalysis (but within measure error, probably) | 20:59 |
|
| spearce is reading the log now trying to get caught up | 20:59 |
| ← mjf left | 20:59 |
|
spearce
| so basically Ilari's right about the problems. | 20:59 |
|
| there's two areas where git clone sucks: | 20:59 |
|
| 1) remote side computing the set of objects to send in the pack. | 21:00 |
|
thiago_home
| sucks? | 21:00 |
|
spearce
| the gsoc cache daemon project is supposed to improve that. | 21:00 |
|
| 2) the delta resolving phase once the pack data is local. | 21:00 |
| → fridim joined | 21:00 |
|
thiago_home
| I mean, the difference in time is less than saying "oh, it's finished?" | 21:00 |
| ← drizzd left | 21:00 |
|
spearce
| thiago_home: iirc hg just has to stream the files out, it doesn't have the server computation demand that git has. | 21:00 |
|
| in the test they were running, yea, network bandwidth is the bottleneck, not CPU on either side. | 21:01 |
| → Leemp joined | 21:01 |
|
thiago_home
| the only bad thing about the git transfer I see is the computing of the pack on the server side | 21:01 |
|
spearce
| no consider git.kernel.org, if they are a busy mirror, CPU for the pack enumeration may be more of a limit than their pipe at OSU OSL. | 21:01 |
|
jnareb
| does mercurial send optimal packs, then? | 21:01 |
|
spearce
| jnareb: it doesn't have a concept of packs. | 21:01 |
|
thiago_home
| if you don't have a properly packed repository, that creates load | 21:01 |
| ← RodP2 left | 21:01 |
|
spearce
| their on disk format permits them to just concat files from disk to the network. | 21:02 |
|
| it has all sorts of downsides though; i still much prefer the git on disk format over hg format. | 21:02 |
| ← gilimanjaro left | 21:02 |
|
Ilari
| Regarding multicore, With it one could keep up with even faster streams when doing delta resolution online. Of course, the programming is more challenging. But it should speed things up even without mutlithreading. | 21:02 |
| → djszapi joined | 21:03 |
|
djszapi
| Hello! | 21:03 |
|
Ilari
| ... | 21:03 |
|
thiago_home
| you don't need multicore | 21:03 |
|
djszapi
| Is there any description to set up git server ? | 21:03 |
|
thiago_home
| you don't even need multithread | 21:03 |
|
spearce
| djszapi: man git-daemon | 21:03 |
|
thiago_home
| the network transfer is likely to be much slower than the delta resolution | 21:03 |
|
djszapi
| http://blog.commonthread.com/2008/4/14/setting-up-a-git-server | 21:03 |
|
Gitbot
| djszapi: the git-daemon manpage can be found at http://git.or.cz/man/git-daemon | 21:03 |
|
Ilari
| thiago_home: Right. | 21:03 |
|
jnareb
| whet I meant, how Mercurial sends only update (only difference) for pull / fetch... | 21:03 |
|
thiago_home
| so you can use the idle time in-between select(2) to do that work | 21:03 |
|
djszapi
| i saw this | 21:03 |
|
spearce
| jnareb: git also only sends update during pull/fetch. | 21:04 |
|
Ilari
| djszapi: For ssh, you need to have git and sshd installed on remote side. | 21:04 |
|
| djszapi: Good test is 'git user@host git --version'. | 21:04 |
|
djszapi
| Thank for you | 21:04 |
|
jnareb
| errr... what I meant is that I wonder how mercurial does send only difference, when it is streaming files from disk | 21:04 |
|
thiago_home
| same way as git | 21:05 |
|
spearce
| thiago_home: yea, you could use select to do it, but it would probably just be easier to fork a second process, so you don't slow down the network link when computing a large-ish object. | 21:05 |
|
thiago_home
| the client says where it ended | 21:05 |
|
| so the server can calculate what the update is | 21:05 |
|
| spearce: yeah, it would be easier | 21:05 |
|
spearce
| yea, but in hg the "update" is just a contiguous byte range in some subset of files | 21:05 |
|
| so hg can pick and transfer by just grabbing a byte range in the affected path names | 21:05 |
|
| git still has to do object enumeration to build the pack | 21:06 |
|
| of course, hg "renames" a file by copying the entire #@!(#!@( history. :-) | 21:06 |
|
jast
| as also demonstrated by svn, to great effect | 21:06 |
|
thiago_home
| svn is completely different | 21:07 |
|
| it never transfers history | 21:07 |
|
jnareb
| hmmm... I wonder how well it works if history is nonlinear | 21:07 |
| → ashleyw joined | 21:07 |
|
spearce
| jnareb: as i understand it, you may actually get a revision sent to you that you already have, because for the remote peer, it fell into that bucket you asked for, but on your side, its already in your file. | 21:08 |
|
thiago_home
| unless you meant that it transfers the whole file on rename | 21:08 |
|
jnareb
| Ilari: it would be challenging to code 'object ID resolving for deltas during streaming from network to disk' so it degrades well: from ulticore to single core, from slow network to fast network. But what a challenge! | 21:08 |
|
spearce
| the "friendly revision numbers" that hg offers are based on the position of the revision in the local file, iirc. which is why numbers for the same revision differ between repositories; the revision falls at a different location in the same file, based on merge ordering. | 21:08 |
|
jnareb
| spearce: so Mercurial can send more than strictly necessary when repositories differ on "friendly revision numbers" aka local commit numbers, e.g. due to different ordering of doing merges? | 21:09 |
|
djszapi
| and where is the git server config file ? | 21:10 |
|
spearce
| jnareb: that is my understanding of it, but i'm not as much of an expert on hg as i am on git. :-) | 21:10 |
| ← hyperair left | 21:10 |
|
Ilari
| jnareb: The scalabilty w.r.t. cores is more difficult. OTOH, it should paralelize (BTW: I have written code that performs encryption with multiple cores using multiple processes)... | 21:10 |
|
djszapi
| and i haven't got git-daemon to start after boot automatically | 21:10 |
|
Ilari
| djszapi: Create/install suitable boot script? | 21:11 |
|
jnareb
| djszapi: the config for git-daemon is config for inetd or xinted (plus a bit of git config file) | 21:11 |
|
| djszapi: unless you run service not from (x)inetd | 21:11 |
| ← ereslibre left | 21:12 |
|
jnareb
| djszapi: then in service start/stop script | 21:12 |
|
djszapi
| once more | 21:12 |
|
| i havn't got gitd init script, nor configuration file for it | 21:12 |
|
jnareb
| in git-daemon manpage there is example configuration for inetd | 21:13 |
|
Ilari
| djszapi: There is no configuration file for git daemon. All configuration options available for git daemon itself are from startup command line. | 21:13 |
| ← solydzajs left | 21:13 |
|
jnareb
| Ilari: what about daemon.* config variables? | 21:14 |
|
| but git-daemon is configured via command line parameters (used either in (x)inetd config file, or in git-daemon service script you have to write) | 21:14 |
|
spearce
| jnareb: they are only overrides for per-repository options, and sometimes still require the daemon to be configured to permit override. e.g. receive-pack requires you at least allow override receive-pack on the command line first | 21:15 |
|
djszapi
| To set up git-daemon as an inetd service that handles any repository under the whitelisted set of directories, /pub/foo and /pub/bar, place an entry like the following into /etc/inetd all on one line: | 21:15 |
|
| i don't have any /etc/inetd | 21:15 |
|
Ilari
| Oh, those. But mostly those are better left alone. | 21:15 |
|
djszapi
| maybe xinetd ? | 21:16 |
| → gotgenes joined | 21:16 |
| ← radarek left | 21:17 |
|
Ilari
| djszapi: The command line part for xinetd is similar. The service config is totally different. | 21:17 |
| ← FreakGuard_ left | 21:17 |
|
Ilari
| djszapi: But probably that config file has some configs that can be modified. | 21:18 |
| → FreakGuard joined | 21:18 |
|
djszapi
| http://vim.pastey.net/113964 | 21:18 |
|
jnareb
| Vs lbh nfxrq Oehpr Fpuarvre gb qrpelcg guvf, ur'q pehfu lbhe fxhyy jvgu uvf ynhtu. | 21:19 |
|
thiago_home
| ROT-13? | 21:19 |
| ← Radar left | 21:19 |
|
jnareb
| Ooops | 21:20 |
|
spearce
| damn, is it legal for a git repository to be missing $GIT_DIR/objects/pack ? | 21:20 |
|
jnareb
| thiago_home: ROT13, from {somebody} Facts | 21:20 |
|
djszapi
| Ilari: i can't understand you | 21:21 |
|
| sorry | 21:21 |
|
thiago_home
| spearce: if it's never been packed before, why not? | 21:22 |
| → hyperair joined | 21:22 |
| → thumper joined | 21:22 |
|
Ilari
| djszapi: If you have xinetd, presumably you have some services configured (even if disabled). | 21:22 |
|
doener
| spearce: at least "git repack -ad" creates it, if it's missing | 21:22 |
|
spearce
| thiago_home: yea, i think that's the case, its legal. *sigh* | 21:22 |
|
| spearce goes off to patch jgit | 21:22 |
|
djszapi
| Ilari: what do you want to say with it ? what can i do for git ? :) | 21:23 |
|
thiago_home
| jnareb: increase your security, use double ROT-13! | 21:23 |
|
| :-) | 21:23 |
|
jnareb
| djszapi: services can be started from service script (like e.g. named or httpd) or started from network services daemon, e.g. inetd or xinetd | 21:23 |
|
djszapi
| yeah | 21:23 |
| → davi joined | 21:23 |
|
djszapi
| but what must i write to xinetd.conf ? | 21:23 |
|
jnareb
| that... I do not know, sorry | 21:24 |
|
djszapi
| :( | 21:24 |
|
Ilari
| Actually, chaining block cipher twice in row doesn't imporve security. That's the reason why its triple-DES and not double-DES. | 21:25 |
|
| djszapi: Perhaps your distro has 'git-daemon-run' or similar package? | 21:25 |
|
djszapi
| yeah | 21:26 |
|
| git-daemon | 21:26 |
|
jnareb
| djszapi: check out "man giteveryday" (or "git help everyday", or Documentation/everyday.txt), but it might be bit dated | 21:27 |
| ← aspotashev left | 21:27 |
|
djszapi
| No manual entry for giteveryday | 21:27 |
|
| sorry | 21:27 |
|
jnareb
| /usr/share/doc/git-*/everyday.txt | 21:28 |
|
djszapi
| it doesn't exist | 21:29 |
|
jnareb
| HEAD:Documentation/everyday.txt | 21:29 |
| → ereslibre joined | 21:29 |
|
jnareb
| djszapi: Documentation/everyday.txt in your git repository (or in git.git repository on repo.or.cz or git.kernel.org) | 21:30 |
| → earcar joined | 21:31 |
| ← kumbayo left | 21:31 |
| → aspotashev|eeepc joined | 21:32 |
|
thiago_home
| who's running the Gitbot here? | 21:32 |
|
| thiago_home would like a gitbot in his channel too | 21:32 |
|
djszapi
| http://vim.pastey.net/113965 | 21:32 |
|
robinr
| spearce: any idea abouyt: http://code.google.com/p/egit/issues/detail?id=87 Just a case of needs large enough pipe? | 21:32 |
|
djszapi
| hit installed these files | 21:32 |
| ← smeevil left | 21:32 |
|
djszapi
| *git | 21:32 |
|
context
| is post-commit called when you push to a repo | 21:32 |
|
jnareb
| http://gist.github.com/109753 | 21:33 |
|
context
| trying to get this hook working that sends commit info to lighthouse | 21:33 |
|
spearce
| robinr: oh, yea. maybe... | 21:33 |
|
Ilari
| context: No. | 21:33 |
|
spearce
| robinr: except TransportLocal l.173 has code to increase the allocation of the out_r buffer. | 21:34 |
|
jnareb
| thiago_home: try searching for Gitbot on git wiki... | 21:34 |
|
context
| ilari: ahh that'd explain a lot | 21:34 |
|
| thnx | 21:34 |
| ← gaveen left | 21:34 |
|
thiago_home
| jnareb: thanks, I will | 21:34 |
|
Ilari
| context: Its pretty logical. Push doesn't commit, so it won't call post-commit either. | 21:34 |
|
spearce
| robinr: MAX_HAVES * 46 + 4 should have been sufficient; we +1024 for slop. | 21:34 |
|
djszapi
| jnareb: i can't see that file in the given repo | 21:34 |
|
jnareb
| djszapi: what file? | 21:35 |
|
djszapi
| Documentation/everyday.txt | 21:35 |
|
spearce
| robinr: the other thing is, i don't think we play these buffer games when running over TCP. IOW, we are deadlocking because our code is wrong, not because our buffer is insufficiently sized. | 21:35 |
| ← yann left | 21:36 |
|
djszapi
| http://www.kernel.org/pub/software/scm/git/docs/everyday.html | 21:36 |
|
| maybe this one | 21:36 |
|
jnareb
| yup | 21:37 |
| → gaveen joined | 21:37 |
|
djszapi
| i have got man git-daemon, however i don't have git-daemon binary | 21:37 |
|
Gitbot
| djszapi: the git-daemon manpage can be found at http://git.or.cz/man/git-daemon | 21:37 |
|
djszapi
| it's really interesting | 21:37 |
| → elad` joined | 21:37 |
|
djszapi
| i've red it already | 21:37 |
|
elad`
| How do I check the diff between the thing I just pulled and whatever I had beforehand? | 21:38 |
|
| I did git pull before doing git diff. | 21:38 |
|
jnareb
| djszapi: what distribution are you running? perhaps it does have git-daemon packed in other binary package | 21:38 |
|
djszapi
| archlinux | 21:38 |
|
jnareb
| elad`: pull not fetch? | 21:38 |
|
djszapi
| i can't find that | 21:38 |
|
jnareb
| elad`: git diff ORIG_HEAD | 21:38 |
|
| djszapi: try searching in "git --exec-path" | 21:39 |
|
djszapi
| /usr/lib/git-core | 21:39 |
|
| /usr/lib/git-core/git-daemon | 21:40 |
|
| this one | 21:40 |
|
jnareb
| djszapi: git-daemon should be there... unless your packaging system puts git-daemon in separate package | 21:40 |
|
elad`
| Thanks. | 21:40 |
| → ericindc joined | 21:41 |
| ← Cheef-Daniel left | 21:41 |
|
jnareb
| elad`: or, in more general, try reflog | 21:42 |
| ← kate21de left | 21:43 |
|
spearce
| huh. i have a server running jgit whose window cache has 128 open files, but claims to have only 764.32 kb of data loaded, which should be at moast 95 files. | 21:43 |
|
| oh, wait, a ton of those pack files are really tiny, probably smaller than the 4096 packedgitwindowsize. | 21:44 |
| ← SRabbelier left | 21:44 |
|
jnareb
| [censored] [censored] thiose [censored] wiki spammers, [censored] | 21:45 |
|
robinr
| jnareb: i heard there'd be free space at Guantanom soon... | 21:45 |
| ← earcar left | 21:45 |
|
robinr
| spearce: you mean the code isn't parallell enough? | 21:46 |
|
spearce
| robinr: what are talking about, the fetch deadlock or my stupid remark about windowcache? | 21:47 |
|
robinr
| the fetch dealock | 21:47 |
| → pigeon joined | 21:49 |
| → gilimanjaro joined | 21:51 |
| → yoann joined | 21:51 |
| → angerman joined | 21:55 |
| → bremner_ joined | 21:55 |
|
JasonWoof
| everyday.html has this example: git format-patch -k -m --stdout v2.6.14..private2.6.14 | git am -3 -k | 21:57 |
|
| seems wacky to me. shouldn't that just be a simple rebase command? | 21:58 |
|
spearce
| robinr: i don't see why we deadlock. but, we could try taking that "while(resultsPending > 0)" block inside of BasePackFetchConnection.negotiate (l.362) and call it if pckIn.available returns > 0, trying to suck up server responses as soon as they are available, rather than waiting until the end of a block. | 21:58 |
|
djszapi
| git stream tcp nowait nobody /usr/bin/git /usr/lib/git-core/git-daemon --inetd --verbose --export-all /pub/foo /pub/bar | 21:59 |
|
| git: 'stream' is not a git-command. See 'git --help'. | 21:59 |
| ← ceej left | 21:59 |
|
Ilari
| djszapi: "git stream tcp nowait nobody" are instructions for inetd. The next argument is actual binary, followed by its args. | 22:00 |
| → hummingkid joined | 22:00 |
| ← Leemp left | 22:00 |
|
jnareb
| djszapi: here is excerpt from "Everyday ..." dealing with xinetd configuration for git-daemon: http://gist.github.com/109753 | 22:01 |
| ← mtkd left | 22:01 |
|
djszapi
| bash-3.2# git stream tcp nowait nobody | 22:01 |
|
| git: 'stream' is not a git-command. See 'git --help'. | 22:01 |
| ← ereslibre left | 22:03 |
|
thiago_home
| that looks like an /etc/inetd.conf line | 22:03 |
|
spearce
| robinr: what vm was that? | 22:03 |
|
djszapi
| thiago_home: but i haven't got /etc/inetd.conf | 22:04 |
|
jnareb
| xinetd != inetd | 22:04 |
|
| djszapi: and there is example of using git-daemon as standalone server in git-daemon(1) | 22:05 |
|
djszapi
| jnareb: Don't tell me, thiago_home've said wrong | 22:05 |
| → josesito joined | 22:06 |
|
josesito
| I want to delete a remote branch, how do i do that? and if i wanted it back, how could i restore it? | 22:06 |
|
djszapi
| jnareb: yeah but i don't want to operate this server according to the ip number | 22:06 |
|
thiago_home
| josesito: git push remotename :branchname | 22:07 |
|
| josesito: to restore it, simply push the same SHA-1 to that branch again | 22:07 |
| ← angerman left | 22:07 |
|
thiago_home
| you must have that SHA-1 in your repository, of course | 22:07 |
|
josesito
| thiago_home: uh? | 22:07 |
|
| can i look the reflog to get the sha-1? | 22:08 |
|
thiago_home
| yes | 22:08 |
| ← nighthwk_ left | 22:08 |
|
jnareb
| errr... I think that you cannot push arbitrary sha-1... | 22:08 |
| ← nighthwk1 left | 22:08 |
|
thiago_home
| well, it has to be a commit SHA-1 | 22:08 |
| → nighthwk1 joined | 22:08 |
|
josesito
| where can I look it for? | 22:09 |
|
robinr
| spearce: sun 1.6.0 (12) I think | 22:09 |
| → Radar joined | 22:09 |
|
djszapi
| jnareb: which line do you mean ? | 22:09 |
| → smashwilson joined | 22:09 |
|
thiago_home
| josesito: what do you mean "look for it" ? | 22:09 |
|
| josesito: you should know what SHA-1 you want to push | 22:10 |
|
robinr
| It was quite a small fetch btw | 22:10 |
| ← bryanray left | 22:10 |
|
spearce
| robinr: i think i may see how this can overflow | 22:10 |
|
josesito
| thiago_home: (sorry for my grammar) well, if i wanted to restore the deleted branch, i'd like to restore it to it's last state, where would i look for that? | 22:10 |
|
| jnareb has trouble demuxing the discussions | 22:11 |
|
thiago_home
| josesito: nowhere | 22:11 |
|
josesito
| fail! | 22:11 |
|
thiago_home
| josesito: you simply know what you want to restore it to | 22:11 |
|
spearce
| if multi_ack is enabled (and it would be, both sides support it) the UploadPack end can send ACK X continue lines for each have line. but the BasePackFetchConnection only reads each end() it had sent previously | 22:11 |
|
josesito
| i'm lost | 22:11 |
| ← naeu left | 22:11 |
| → psoo joined | 22:12 |
|
thiago_home
| josesito: don't delete stuff if you're not sure you want to delete it | 22:12 |
|
spearce
| thus the output stream from UploadPack->BasePackFetchConnection can become full, and cause the writer to freeze | 22:12 |
| ← gotgenes left | 22:12 |
|
spearce
| when UploadPack freezes, eventually BasePackFetchConnection also has to freeze, because its output stream becomes full | 22:12 |
|
josesito
| thiago_home: I'm sure I want to delete it, I just don't know yet if the merge went 100% successful | 22:12 |
|
djszapi
| ? | 22:12 |
|
josesito
| It was supposed to be a tmp branch. | 22:12 |
|
thiago_home
| josesito: what merge? | 22:13 |
|
spearce
| ok, i don't know how the #@*!(!@ this works in C Git without them also being able to reach a deadlock state | 22:13 |
|
thiago_home
| this is the first you're talking about merges | 22:13 |
| ← Lenary left | 22:13 |
|
thiago_home
| spearce: sockets in Java? | 22:14 |
| ← gilimanjaro left | 22:14 |
|
spearce
| thiago_home: yea, well in this case, its a pipe within the process. | 22:14 |
|
josesito
| thiago_home: let me explain. I made this tmp branchto try something out. | 22:14 |
|
thiago_home
| spearce: no non-blocking mode, right? | 22:14 |
|
jnareb
| djszapi: inetds config and git-daemon as standalone service is described in git-daemon(1) manpage; xinetd config is described in "everyday" (which you can read via gitweb, you can read on kernel.org in provided link, or exceprt in my pastebin/gist). | 22:14 |
|
josesito
| then merged it into my master branch. | 22:14 |
|
djszapi
| http://vim.pastey.net/113968 | 22:14 |
|
spearce
| thiago_home: yea, no non-blocking mode. | 22:15 |
|
djszapi
| and this isn't working | 22:15 |
|
josesito
| oh nevermind, I'll just let someone else does it... | 22:15 |
| ← _graham_ left | 22:15 |
|
spearce
| thiago_home: but, iirc, c git does this with standard tcp/ip sockets or a local socketpair() and doesn't require nonblocking sockets to implement the protocol | 22:15 |
|
djszapi
| B[B[B[B[B[Bbash-3.2# git add . | 22:16 |
|
| bash-3.2# | 22:16 |
|
thiago_home
| and nothing sets it in C to non-blocking mode? | 22:16 |
|
| thiago_home greps the source | 22:16 |
| → gotgenes joined | 22:16 |
|
thiago_home
| no non-blocking in C either... | 22:16 |
| → twas joined | 22:16 |
|
thiago_home
| josesito: if the merge was successful, you're going to see it in your "git log master" history | 22:17 |
| → dan joined | 22:17 |
|
robinr
| hmmm, I'd call it blocking... | 22:17 |
|
| because that's what's happening | 22:17 |
|
JasonWoof
| What's the best way to apply the changes from a single commit (tagged foo) to my working tree (without committing it like cherry-pick would) | 22:18 |
|
thiago_home
| blocking sockets can deadlock if both ends are stuck writing | 22:18 |
|
spearce
| thiago_home: yes, clearly, and that's what happens here | 22:18 |
|
JasonWoof
| I could do: git diff foo^..foo | patch -p1 | 22:18 |
| → cryolab joined | 22:18 |
|
JasonWoof
| but I'm guessing there's a more git-ish way to do this... | 22:18 |
|
spearce
| i just can't explain how C git never seems to deadlock, when it seems the protocol is just *asking* for deadlock | 22:18 |
|
thiago_home
| they could as well if they were both stuck reading, but that would indicate a network failure (packets disappeared) or bad protocol | 22:18 |
|
| the solution for that is to either use non-blocking or to use two threads | 22:19 |
| ← jnareb left | 22:19 |
|
robinr
| could that grouping into 31 be something | 22:19 |
|
thiago_home
| TCP socket buffers are something between 40 and 128k in buffer; I don't know about local sockets. | 22:20 |
|
robinr
| s/32 | 22:20 |
|
thiago_home
| pipes have very small buffers though | 22:20 |
|
spearce
| oh, s**t. i think we don't read enough data in the client side | 22:20 |
| → shd joined | 22:20 |
| ← chris2_ left | 22:20 |
| ← thumper left | 22:20 |
|
thiago_home
| Qt implemented non-blocking sockets; Java requires the use of threads, which is much more complex | 22:22 |
|
| spearce starts writing a patch | 22:22 |
|
thiago_home
| and then I have to deal with a lot of programmers coming into #qt and having problems in their applications because of threads | 22:22 |
| ← neoeinstein left | 22:23 |
|
robinr
| thiago_home: NIO has non-blocking sockets | 22:23 |
| ← josesito left | 22:23 |
| → neoeinstein joined | 22:24 |
|
spearce
| robinr: i think i have it fixed... | 22:25 |
|
robinr
| :) | 22:25 |
| ← WALoeIII left | 22:26 |
| ← nighthwk1 left | 22:26 |
| ← cryolab left | 22:26 |
|
context
| whew. feels good to get work done | 22:27 |
|
thiago_home
| robinr: interesting | 22:29 |
|
| very complete API | 22:29 |
| → harinath_ joined | 22:29 |
|
robinr
| and a lot harder to use | 22:29 |
|
| but then, no pain, no gain | 22:30 |
| → offby1` joined | 22:31 |
|
robinr
| I know the TAO (Corba) orb used async I/O. I just spawned off data, checking wheter it was fine later on, at the time it actually depended on the result | 22:32 |
| → Paf joined | 22:32 |
| ← psoo left | 22:32 |
|
thiago_home
| robinr: the API I had been envisioning to fix some of the performance bottlenecks for QIODevice would be similar to this | 22:32 |
|
robinr
| quite interesting to trace | 22:32 |
|
| thiago_home: using the "reactor" pattern? | 22:34 |
|
thiago_home
| no, the channel pattern | 22:34 |
|
| and a scatter/gather buffer | 22:34 |
|
| basically I want to be able to do zero-copy memory transfers between the many levels of I/O operations | 22:35 |
| ← cryo_ left | 22:35 |
| ← ljungk left | 22:36 |
|
robinr
| ACE was the name of it | 22:36 |
|
thiago_home
| ASCII-Compatible Encoding? | 22:36 |
|
robinr
| Adaptive Communication Environment | 22:38 |
|
spearce
| wait, thiago_home hasn't heard of ACE ? | 22:38 |
|
robinr
| it's C++ too | 22:38 |
| ← bremner_ left | 22:38 |
|
spearce
| i thought any C++ guy would have heard of it... | 22:38 |
|
robinr
| don't be too hard now | 22:39 |
|
thiago_home
| never heard of it | 22:39 |
|
| for me, ACE is related to IDNA | 22:39 |
|
robinr
| corba is dead, hence everything it used | 22:40 |
|
thiago_home
| RFC 3490, 3491 and 3492 | 22:40 |
| ← bnferguson left | 22:40 |
| ← bx2 left | 22:41 |
|
robinr
| not even poker? | 22:41 |
|
thiago_home
| the reactor pattern looks a lot like the signal-slot mechanism in Qt | 22:42 |
| ← harinath left | 22:43 |
| → pencilo joined | 22:45 |
|
przemoc
| Hi. I'm using cvsimport and now after incremental running I'm confused, because origin/master isn't updated, only master and origin. Is it normal? | 22:45 |
| ← ericindc left | 22:45 |
|
robinr
| sort-of, I'd guess, though signals and slots aren't "usually" asynchronous, with some exceptions, right? | 22:46 |
|
spearce
| robinr: patches sent | 22:48 |
| → spenser joined | 22:48 |
|
spenser
| hello | 22:49 |
|
robinr
| spearce: nice | 22:49 |
|
thiago_home
| if you use the reactor pattern in a multithreaded environment, it would be like having a Qt event loop with socket notifiers dispatching signals to other threads | 22:49 |
|
robinr
| junit tests too? | 22:49 |
|
thiago_home
| I see no difference there | 22:49 |
| ← paulboone left | 22:49 |
|
robinr
| the reactor pattern doesn't need the overhead of threads, that's one of it's points | 22:50 |
|
| it's about scalability | 22:50 |
| → drizzd joined | 22:51 |
|
thiago_home
| so dispatch to any available thread? | 22:51 |
| ← fridim left | 22:51 |
| → dwave joined | 22:52 |
|
spenser
| I'm trying to use git to deploy my website with a post-receive hook. I followed the tutorial at http://toroid.org/ams/git-website-howto . However for some reason git is not honoring my GIT_WORK_TREE environmental variable or git config core.worktree variable. I'm using git version 1.5.4.3 from Ubuntu Hardy. | 22:52 |
|
Ilari
| Hmm... How is the protocol just asking for deadlock? What reads and writes run in parallel? | 22:54 |
|
spenser
| Has anyone seen this issue before? Should i file a bug somewhere? Also, how do I work around htis problem. The error I recieve during my commit is fatal: /usr/bin/git-checkout cannot be used without a working tree. error: hooks/post-receive exited with error code 1 | 22:54 |
| → alien joined | 22:54 |
|
robinr
| I think it can, but there is some similarity to notifiers. ACE has a event loop too | 22:55 |
|
alien
| hello, can svn sumbodules be added to a git repo? | 22:55 |
|
spearce
| Ilari: client sends "have" lines in parallel to the server sending "ACK continue" lines. if there isn't sufficient buffering on at least one side for the 2*32 have lines, then you can deadlock. | 22:55 |
|
robinr
| alien: there is no such concept | 22:55 |
|
przemoc
| spenser: try newer git, https://launchpad.net/~git-core/+archive/ppa | 22:55 |
|
spenser
| przemoc: will do. | 22:55 |
|
parasti
| huh, nice straight-forward URL | 22:56 |
|
alien
| robinr: then how could I track a couple of external svn or git project from a central git project? | 22:56 |
| → flaguy48 joined | 22:56 |
|
przemoc
| spenser: in short add deb http://ppa.launchpad.net/git-core/ppa/ubuntu hardy main | 22:57 |
| → Ademan joined | 22:57 |
|
przemoc
| spenser: to /etc/apt/sources.list | 22:57 |
|
| spenser: run: sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com E1DF1F24; sudo apt-get update; sudo apt-get install git-core | 22:58 |
|
Ilari
| spearce: And client only reads the continue lines after blasting slew of haves? | 22:58 |
|
spearce
| Ilari: correct. client can blast up to 64 have lines before reading anything from the remote peer | 22:58 |
|
| there was a bug in jgit where we had sufficient client buffering, but we stopped reading from the peer too early | 22:59 |
| ← hyperair left | 22:59 |
|
spearce
| the client only needs 2948 bytes of buffer. | 22:59 |
| → rjc_ joined | 23:00 |
|
spearce
| in the case of TCP sockets, i think most TCP implementations allocate at least that for the send queue. | 23:00 |
|
| for a local pipe, I don't know. | 23:00 |
|
Ilari
| spearce: Local pipe is 4096. | 23:00 |
|
| spearce: For pipes. Don't know about sockets (IIRC, it uses those). | 23:01 |
|
spenser
| przemoc: I'm installing it now | 23:01 |
|
spearce
| Ilari: basically the bad thing about the protocol is you must have at least 2948 bytes on the client send queue to avoid deadlock. C git is betting that most OS kernels will give them that with a TCP socket or a local pipe. | 23:02 |
|
spenser
| I think that fixed it | 23:02 |
|
| przemoc: I believe that fixed it | 23:02 |
| → tjafk2 joined | 23:02 |
| ← mstrl left | 23:03 |
|
Ilari
| spearce: Doesn't it actually distribute over all four buffers (TX and RX buffers of both half-connections)? | 23:04 |
|
spearce
| Ilari: yes, that too | 23:04 |
|
spenser
| przemoc: yes its fixed in the ppa. Should I file a bug on the package or do anything else? | 23:04 |
|
spearce
| given that Nagle's algorithm should still be enabled on the send side, and the size of a TCP/IP packet, with the TX buffer on client and RX buffer on the server, that 2948 bytes probably is already easily handled in any TCP implementation. | 23:05 |
| → Leemp joined | 23:05 |
|
thiago_home
| nagle is asynchronous | 23:06 |
|
przemoc
| spenser: I'm not sure whether they'll backport git changes to older release. You may try and in the worst case you'll waste some of your time. | 23:06 |
|
spearce
| thiago_home: but my point was just that although we're doing these tiny 46 byte writes, they should coalesce into about a full IP packet. | 23:06 |
|
| at which point, we're only talking about what, 2, maybe 3 IP packets needed worth of buffering? | 23:07 |
|
robinr
| isn't the amount of data you can write over TCP related to the window size ( a *lot* larger tha 2948 bytes) | 23:07 |
|
| ? | 23:07 |
|
Ilari
| spearce: Full TCP/IP payload is in practice 1460 bytes. | 23:07 |
|
spearce
| oh, yea, good point robinr, that too | 23:07 |
|
thiago_home
| Nagle is about trying to get 1460 bytes | 23:07 |
|
spearce
| the window size for the stream at this point should be a lot larger than 2948 bytes | 23:08 |
|
thiago_home
| then it fires off a TCP/IP packet | 23:08 |
|
spearce
| and 2948/1460 = 2.019 packets... so we should be able to buffer one packet in the TX buffer, fire it off, and buffer one more, fire it off, before the client needs to start reading. | 23:09 |
|
spenser
| przemoc: So file a bug on launchpad against the specific hardy package of git-core? | 23:10 |
|
przemoc
| spenser: There are other worthy ppas. Consider OOo 3 (https://launchpad.net/~openoffice-pkgs/+archive/ppa), svn 1.5 (https://launchpad.net/~mdiers/+archive/ppa) and so on... | 23:12 |
|
| spenser: yes | 23:12 |
| ← voker57__ left | 23:12 |
| ← dwave left | 23:12 |
| → voker57__ joined | 23:13 |
| → nighthwk1 joined | 23:13 |
| → joshsdc joined | 23:14 |
| → eno__ joined | 23:16 |
| → nabilelisa joined | 23:17 |
|
struberg
| spearce: when I use TreeWalk, i.getDirCacheEntry().getLastModified() always gives me "Tue Oct 13 17:55:45 CEST 2037" (2139062145139) is this ok? | 23:17 |
|
spenser
| przemoc: I am filing the bug right now. | 23:17 |
|
struberg
| try to implement SimpleRepository#status with TreeWalk ... | 23:17 |
|
spearce
| struberg: aaah. that's a racy git condition. | 23:17 |
| ← MisterN left | 23:18 |
|
nabilelisa
| hi all, does anybody know how i can get my ant build script to compile to a different directory based on my current git branch? | 23:18 |
|
spearce
| struberg: basically we can't be 100% sure that the last modified time can be relied upon, so we give you a time that is very unlikely to match the working directory file. | 23:18 |
|
struberg
| spearce ah makes sense | 23:19 |
|
spearce
| struberg: when the index entry doesn't match the working directory file, you need to check the content to see if it hashes to the same objectid. | 23:19 |
| ← tjafk1 left | 23:19 |
|
spearce
| struberg: if it does, a "good" status program would then update the last modified time in the index, and write the index back to disk, to save from doing that in the future. | 23:19 |
|
| struberg: where racy git triggers is if the index and the working directory file were written in the same filesystem timestamp. | 23:19 |
|
struberg
| spearce ah kk, hoped to only need the DirCacheIterator, but better I use the DirCacheBuildIterator? | 23:20 |
|
spearce
| e.g. if the filesystem only tracks second accuracy, and they are written in the same second, there is a good chance that an overwrite of the file would also happen in the same second, and not be noticed | 23:20 |
|
struberg
| yup I'm aware of that | 23:20 |
|
spearce
| struberg: maybe you want to use the build iterator here, so you can do the update | 23:20 |
|
robinr
| $ cat /proc/sys/net/core/wmem_max | 23:21 |
|
| 131071 | 23:21 |
|
killerchicken__
| nabilelisa: well, you could parse the output of git status, for example? | 23:21 |
|
struberg
| spearce, yeah, once I get the basic parts running, then I'll working on writing them back to the DirCache ;) | 23:21 |
|
robinr
| means I can write 128k before write blocks? | 23:21 |
| ← Radar left | 23:21 |
| ← frando left | 23:21 |
|
nabilelisa
| killerchicken__: cool, interesting idea. i'll look into it, thanks. do you have any sample code handy i can start with? | 23:21 |
| ← schacon left | 23:23 |
| → ericindc joined | 23:23 |
|
spenser
| przemoc: Bug #374658 has been filled on the issue. Would you mind looking at it and making sure I don't need to add anything else? | 23:26 |
| ← eno left | 23:27 |
|
robinr
| #¤"#¤% mercurial plugin, always hangs eclipse for a while on startup | 23:28 |
|
spearce
| robinr: isn't that a feature? :-) | 23:28 |
|
killerchicken__
| nabilelisa: sorry, missed that question. Something like git status | grep "On branch" | awk '{ print $4 }' maybe? Note that that is rather brittle, of course (doesn't work if you're not on a branch currently, for example) | 23:29 |
|
| (the output will be empty for that case) | 23:30 |
|
nabilelisa
| killerchicken__: thanks, i was thinking of doing it like that actually, but then i got a bit more ambitious and am looking into http://ant.apache.org/faq.html#batch-shell-execute to see if i can automate it as part of my ant target | 23:30 |
|
| i dont know if it'll work, but it would seem cleaner i think | 23:31 |
| ← struberg left | 23:31 |
|
nabilelisa
| thanks for your input though - i appreciate it. | 23:31 |
| ← scientes left | 23:31 |
|
killerchicken__
| yeah, as I said, I don't really know ant | 23:31 |
|
Ilari
| nabilelisa: Better way to get current branch is probably to first try to read HEAD using symbolic-ref. Then you have the detached case still. | 23:32 |
|
nabilelisa
| Ilari: hrm, sorry im not sure i understand that (im newish to both git and ant) | 23:33 |
|
| killerchicken__ has never used symbolic-ref before. I guess I should take a peek | 23:34 |
| → struberg joined | 23:34 |
|
Ilari
| nabilelisa: 'git symbolic-ref -q HEAD'. If it returns 0, then it prints FQRN of current branch to stdout. If it returns 1, run 'git rev-parse HEAD' to get the detached commit ID. | 23:34 |
|
robinr
| spearce: makes me use the uninstall feature | 23:35 |
|
killerchicken__
| hm, symbolic-ref is missing from the bash autocomplete thing | 23:35 |
|
| heh, maybe it only has porcellain commands | 23:35 |
|
Ilari
| nabilelisa: Better yet: `git symbolic-ref -q HEAD || git rev-parse HEAD` | 23:36 |
|
| nabilelisa: That outputs either FQRN or commit ID for detached case. | 23:36 |
|
nabilelisa
| Ilari: what's FQRN? | 23:37 |
|
robinr
| spearce: btw, I'll fix that bug I mentioned in the Eclipse newsgroup tomorrow | 23:37 |
|
Ilari
| nabilelisa: Fully Qualified Ref Name. For example 'refs/heads/foo' for local branch 'foo'. | 23:38 |
|
spearce
| robinr: oh, the origin/HEAD symref not reporting? ok | 23:38 |
|
robinr
| yep | 23:38 |
| → jelmer_ joined | 23:38 |
|
Ilari
| Wonder how Jgit would react to HEAD being symbolic link? | 23:38 |
|
przemoc
| spenser: It's almost fine, but your wish for sure won't be granted, because only neccessary change (cherrypicked commit) can be applied if any. Ubuntu maintainers doesn't change major release version of their packages. | 23:38 |
|
nabilelisa
| Ilari: oh, i think i see | 23:38 |
|
| robinr >> 0xBED; | 23:39 |
| → handstandmilitia joined | 23:39 |
|
handstandmilitia
| longtime listener first time caller. | 23:39 |
| ← jelmer_ left | 23:39 |
| → bnferguson joined | 23:39 |
|
nabilelisa
| Ilari: yes, i've just done a small test, it seems that it would help me. is can you think of any reason why this would be 'better' than using awk? i feel slightly more comfortable with that, but i'm not really experienced enough to know what i'd be missing out on by taking that approach | 23:40 |
|
handstandmilitia
| I was curious if its possible to 'checkout' or get a specific revision for an arbitrary repository if I know the revision I want. | 23:40 |
|
Ilari
| nabilelisa: Git status output is not intended for machine parsing. | 23:40 |
|
spenser
| przemoc: How can I cherry pick the commit that fixed this problem? | 23:40 |
|
handstandmilitia
| Im essentially just looking to get a snapshot and im not interested in cloning and getting the whole revision history | 23:40 |
|
spenser
| przemoc: That way I can just tell them which change to incorporate? | 23:40 |
|
nabilelisa
| Ilari: ah, so the formatting could change in future updates? | 23:40 |
| ← ashleyw left | 23:40 |
|
nabilelisa
| i see | 23:40 |
|
przemoc
| spenser: seeing git 1.6.x in hardy's official repo is impossible, however fixed git 1.5 is possible | 23:40 |
|
nabilelisa
| Ilari: well, that's a good reason i guess | 23:41 |
|
Ilari
| handstandmilitia: There is remote snapshot feature, but most of the time it doesn't work. | 23:41 |
|
przemoc
| spenser: yes, it will be helpful for them | 23:41 |
|
handstandmilitia
| ilari haha awesome | 23:41 |
|
spenser
| przemoc: Is there a revision history somewhere? | 23:41 |
| → ceej joined | 23:41 |
|
handstandmilitia
| ilari know the syntax? | 23:41 |
|
Ilari
| handstandmilitia: It pretty much only works with ssh and file protcols. And it doesn't work if remote end is using gitosis (git@foo or gitosis@foo are mostly those). | 23:42 |
|
przemoc
| spenser: sure, http://git.kernel.org/?p=git/git.git;a=summary | 23:42 |
|
handstandmilitia
| im working with a github repo in this instance | 23:42 |
|
Ilari
| handstandmilitia: Also, if the repo has gitweb, then that might have snapshot enabled. | 23:43 |
|
| handstandmilitia: IIRC, github has snapshot download from web interface. | 23:43 |
|
spenser
| przemoc: I'm going to search this and see if I can find a commit then attach the commit sha-1 in the comments. | 23:44 |
|
handstandmilitia
| ilari dont know the syntax though? I suppose I can poke around for it... the gitweb feature is cool, but i actually have a script run it | 23:45 |
|
przemoc
| spenser: if there will be any interest, git-core maintainers will solve the problem even without specyfing commit(s), because they're familiar with git (or at least shoud be) | 23:45 |
|
Ilari
| handstandmilitia: 'git archive --remote=URL <commit>'. | 23:45 |
|
handstandmilitia
| an sweet, i was actually looking at github just now and was about to write a script to wget it lol | 23:45 |
|
spenser
| przemoc: I understand but they give me an OS for free the least i can do is try to help out. | 23:45 |
| → wshimmy1 joined | 23:45 |
| ← dkr21 left | 23:46 |
|
Ilari
| handstandmilitia: But most of the time, that just plain doesn't work because remote rejects it. | 23:46 |
|
handstandmilitia
| well if it rejects it i'll either write a script to auth to github and get it from the web or i'll just download it manually and have my script download the tarball from wherever i store it... | 23:46 |
|
| that might even just be the better option huh... | 23:46 |
|
przemoc
| spenser: praiseworthy attitude | 23:46 |
| ← patmaddox left | 23:47 |
|
handstandmilitia
| ilari thanks for the info, 1000 internets to you. | 23:47 |
|
| http://audibble.files.wordpress.com/2008/11/freeinternet.jpg | 23:47 |
|
killerchicken__
| please refrain from posting the link 1000 times - I'm sure Ilari knows where the refresh button is :-) | 23:49 |
|
handstandmilitia
| ilari you are totally on the ball: http://groups.google.com/group/github/browse_thread/thread/cfcbcb1dc5f41f16?pli=1 | 23:50 |
|
Ilari
| CTRL+R? :-) | 23:50 |
|
handstandmilitia
| github doesn't support it out of caching reasons, easier to cache the tarball via the web | 23:50 |
|
| thanks for the tips! | 23:50 |
| → Pewpewarrows joined | 23:50 |
|
Ilari
| Getting the latest tarball from archive is actually pretty CPU efficient. | 23:51 |
|
| Except that the compression can't be cached... And it will blow bandwith like crazy without it... | 23:52 |
| → Emachman joined | 23:52 |
|
spenser
| przemoc: Can't seem to find a commit with that topic maybe a ubuntu patch is causing the error is there anyway for me to check the ubuntu patches if any? | 23:52 |
|
Emachman
| Hi, is there a way to remove a commit from the history? I accidentally committed some private info | 23:53 |
| ← handstandmilitia left | 23:53 |
| ← tatsuyao left | 23:54 |
| ← Bass10 left | 23:54 |
|
killerchicken__
| Emachman: have you published it already? meaning, did you push it anywhere? | 23:55 |
|
przemoc
| spenser: https://launchpad.net/ubuntu/+source/git-core | 23:55 |
|
Emachman
| I pushed it already to github | 23:55 |
| ← robinr left | 23:55 |
|
przemoc
| spenser: there under hardy release you can find ubuntu diffs | 23:56 |
| offby1` → offby1 | 23:56 |
|
killerchicken__
| Emachman: ok. you can do an interactive rebase locally, take out the commit, and force pushing | 23:56 |
|
przemoc
| spenser: but I doubt that maintainers broke it | 23:57 |
| → JohnnyL joined | 23:57 |
|
spenser
| przemoc: I bet someone fixed it without telling anyone in git.git. | 23:57 |
|
Emachman
| killerchicken__: How would I do that? | 23:58 |
|
spenser
| przemoc: It's probably going to be too dificult for me to find then. | 23:58 |
|
| przemoc: Well I tried. | 23:58 |
|
killerchicken__
| Emachman: how long ago was that commit? Have you merged since? | 23:58 |
|
Emachman
| April 28 | 23:58 |
|
killerchicken__
| well, I meant "have you done a lot of stuff since then" | 23:59 |
|
Emachman
| 1 commit | 23:59 |
|
| When I was removing the private info | 23:59 |
|
killerchicken__
| ah, so no big deal | 23:59 |
| ← wshimmy left | 23:59 |