| 2008-01-12 |
| ← toxx_ left | 00:01 |
| → toxx_ joined | 00:01 |
| ← toxx_ left | 00:01 |
|
Ilari
| giraffeman: Yes, you can use your own versions of submodules. But don't loose the commits that are used by superrep by rebasing. | 00:02 |
|
| *superrepo | 00:02 |
|
giraffeman
| Ilari: so, if I have a submodule.... and I git add it, and modify it, and commit it, I can still update it? | 00:04 |
|
| how would I lose the commits? | 00:04 |
|
Ilari
| giraffeman: If you use your own commit as subrepo state and subsequently rebase it, it can get lost. | 00:05 |
|
giraffeman
| oh boy... | 00:05 |
|
| so, how do i rebase? | 00:05 |
|
Ilari
| giraffeman: Merging never causes commits to be lost. | 00:05 |
|
giraffeman
| Ilari: is there a better way of doing this? | 00:06 |
|
Ilari
| giraffeman: Yes, after you have committed it, you can add it, and next superrepo commit records it. | 00:07 |
|
| giraffeman: I'd say that you should use merging than rebasing in that subrepo. | 00:07 |
|
| s/than/rather than/ | 00:08 |
|
giraffeman
| okay... I will play around... still new to using git on it's own, but have been playing with it using git-svn for a while | 00:09 |
|
Ilari
| giraffeman: Rebasing is done using 'git rebase'. Merging is done using 'git pull' or 'git merge'. | 00:11 |
|
giraffeman
| here's what I don't understand | 00:11 |
|
| I just added a submodule, using git-submodule add | 00:11 |
|
| and, then I commited .gitmodule | 00:11 |
|
| or whatever | 00:11 |
|
| and then I added the submodule to the repo using git add . | 00:11 |
|
| and committed it | 00:11 |
|
| but now, if I cd in to that dir, and type git log, I get the log for the super repo | 00:11 |
|
| so, how do I update the sub | 00:12 |
| ← p4tux left | 00:12 |
| ← mithro left | 00:12 |
| → CelticSoul joined | 00:12 |
| ← rkaway left | 00:14 |
|
Ilari
| giraffeman: Is there directory named '.git' in that subrepo? | 00:14 |
| → rkaway joined | 00:14 |
|
giraffeman
| no | 00:14 |
|
| actually... there is in the original | 00:15 |
|
| but not one I clone it | 00:15 |
|
| once* | 00:15 |
| → kanru joined | 00:17 |
|
Ilari
| giraffeman: Hmm... Is there even known submodule in that repo? ('git-ls-files -s | egrep ^16') | 00:17 |
|
giraffeman
| nope | 00:18 |
|
| maybe I messed up adding it | 00:18 |
|
Ilari
| Anyway, I have played around with submodules, but not with git submodule... | 00:19 |
|
giraffeman
| yeah, I added it again, and still the .git directory doesn't end up in the repo | 00:20 |
|
| that must be the problem | 00:20 |
|
Ilari
| Hmm... 'git submodule add <URL> <NAME>' should work... | 00:20 |
| → Gitzilla joined | 00:21 |
|
giraffeman
| $ git add vendor/plugins/resource_controller/.git/ | 00:21 |
|
| fatal: unable to add vendor/plugins/resource_controller/.git/HEAD to index | 00:21 |
|
Ilari
| giraffeman: So it exists... Does that ls-files and grep thingy show anything? | 00:23 |
|
| giraffeman: When run from the superrepo. | 00:23 |
|
giraffeman
| it only exists in the original directory, where I added the submodule | 00:23 |
|
| not in the cloned repo | 00:23 |
| → cartman joined | 00:24 |
| ← cartman left | 00:25 |
|
giraffeman
| nope, still not seeing anything from that | 00:25 |
| → cartman joined | 00:25 |
|
giraffeman
| I deleted the version that I had checked in | 00:26 |
|
| and now I get something from the egreg | 00:27 |
|
| egrep | 00:27 |
|
Ilari
| giraffeman: Here's the testcase I did: 'git init' and 'git submodule add ../git gitrepo'. Seems to work fine. | 00:27 |
|
| And it does show up in output from that pipeline. | 00:28 |
|
| Anyway, I haven't played with it enough to really be able to say what's wrong... | 00:30 |
| → EmilMedve joined | 00:30 |
| → toxx_ joined | 00:36 |
| ← ferdy left | 00:38 |
| ← slava left | 00:40 |
|
giraffeman
| Ilari: I just found a doc on it... apparently what I wanted to do isn't possible | 00:42 |
|
| you can't check in a version of the changes | 00:42 |
|
Ilari
| giraffeman: One can use 'git add' on directory where submodule resides to stage the update for next commit. | 00:44 |
|
giraffeman
| yes | 00:45 |
|
| but I can't keep a local copy of another git repo in my tree | 00:45 |
|
| which is really what I need if I don't have commit access to the other repo | 00:45 |
|
| or I don't want to host a local copy of it | 00:45 |
|
| it's a vendor branch management thing... if my project depends on code that comes from somewhere else, I want a local copy of it.. | 00:46 |
|
loops
| giraffeman, you always have a local copy with git.. | 00:46 |
|
giraffeman
| loops: my understanding with subprojects is that that isn't exactly true | 00:46 |
|
loops
| giraffeman, when you clone a repo, you get everything local, not just the current version | 00:46 |
|
giraffeman
| right... | 00:46 |
|
| but.. if I have project A, that depends on project B | 00:47 |
| ← glommer left | 00:47 |
|
giraffeman
| when I add project B as a submodule, I get a copy of it in project A... if I hack project B, and can't commit it back upstream, due to lack of access, then when somebody else I'm working with clones the repo, they won't see my changes | 00:47 |
| → glommer joined | 00:48 |
|
loops
| giraffeman, true enough. | 00:48 |
|
giraffeman
| even if I don't hack it... if another member of my project decides to commit from their git repo, and project B's repo is down for whatever reason... i'm screwed | 00:48 |
|
| maybe I can script my away around this problem... will have to think about it | 00:49 |
| → Kebianizao joined | 00:49 |
|
Kebianizao
| Hello | 00:49 |
|
loops
| giraffeman, i think you can just enter into the submodule B directory and treat it as a regular git repo... ie.. fetch directly from your peer, instead of upstream. | 00:49 |
|
Kebianizao
| how could I revert changes on a single file? | 00:49 |
|
| git reset filename doesn not work | 00:50 |
|
loops
| git checkout -- filename | 00:50 |
|
Kebianizao
| loops: would that modify any other file? | 00:50 |
|
loops
| Kebianizao, no, just the file you specify | 00:50 |
|
Kebianizao
| loops: thanks loops | 00:50 |
|
| would I would expect reset to do that | 00:51 |
|
loops
| Kebianizao, many people do. it's a FAQ. there are some discussions on the mailing list if you care to read about the rationale | 00:51 |
|
Kebianizao
| loops: thanks I probably do | 00:51 |
| → aref_ joined | 00:53 |
|
aref_
| I'm trying to clone a repository via ssh. when I do "git clone ssh://ip/dir", after login it fails, claiming "bash: git-upload-pack: command not found" - I know for a fact it's there, anyone clued in as to what's going on? | 00:54 |
|
Ilari
| aref_: Does 'ssh <ip> git --version' work? | 00:54 |
|
loops
| aref_, are you sure it's in the PATH ? | 00:55 |
| ← devogon left | 00:55 |
|
Ilari
| aref_: Some shell startup scripts are not executed if the shell isn't interactive... | 00:55 |
|
aref_
| quite | 00:55 |
|
| yes indeed, that must be it. thanks | 00:55 |
|
Eridius
| .bashrc is sourced for non-interactive shells | 00:58 |
|
Kebianizao
| bye | 00:58 |
|
Eridius
| you probably did what I did, which was only change the path in .bash_profile | 00:58 |
| ← Kebianizao left | 00:58 |
| → kampasky joined | 01:03 |
| ← madewokherd left | 01:06 |
|
aref_
| yeah | 01:06 |
|
| having some trouble getting ssh to actually do what I want, though :p | 01:07 |
|
| as per usual | 01:07 |
|
| tried adding a modified path to ~/.ssh/rc, then to "environment" in same directory, after changing AllowUserEnvironment in /etc/sshd_config | 01:07 |
|
| still no cookie, but with time I shall hopefully prevail | 01:07 |
|
Eridius
| aref_: just edit .bashrc | 01:08 |
|
aref_
| oh :p | 01:08 |
|
| that was so simple I just skipped right over it | 01:09 |
|
| thanks :P | 01:09 |
|
Eridius
| heh | 01:09 |
|
aref_
| wandaful! | 01:09 |
|
| straight success | 01:09 |
| ← EmilMedve left | 01:10 |
|
Eridius
| when ssh is called to run a command directly, it triggers an interactive non-login shell. those shells source .bashrc | 01:10 |
|
| interactive login shells, or non-interactive shells with --login, source .bash_profile or .profile | 01:10 |
|
jengelh
| .bashrc is always sourced when bash is run :) | 01:10 |
|
| it's bashrc after all | 01:10 |
| ← KirinDav left | 01:10 |
|
Eridius
| actually, .bashrc isn't called if it's a login shell | 01:10 |
|
| you get .bash_profile, .bash_login, or .profile instead (the first one that exists) | 01:11 |
|
jengelh
| then i blame it on /etc/profile, which reads bashrc :p | 01:11 |
|
Eridius
| heh | 01:11 |
|
arw_
| jengelh: yes, but thats the distribution configuring weird things :) | 01:11 |
| ← fobos left | 01:12 |
|
Eridius
| you should see my .bash_profile. I have a ridiculous setup that lets me throw files into ~/Library/init/bash/** and it will source them, along with a require function that lets one file declare a dependency on another | 01:12 |
|
jengelh
| sounds like profile.d | 01:14 |
|
Eridius
| never heard of it | 01:15 |
|
jengelh
| uhm | 01:17 |
|
| /etc/cron.d, perhaps? | 01:17 |
|
| anything with a .d in it | 01:18 |
|
Ori_B
| Eridius: it's the usual Linux setup | 01:18 |
|
| at least for a number of distros. | 01:18 |
|
Eridius
| ah | 01:19 |
|
| jengelh: I understand the concept, but google couldn't tell me if it was actually in use by any distros, or where it came from | 01:19 |
| ← Yuuhi left | 01:19 |
|
jengelh
| distros usually do for i in directory.d/*; do action $i; done | 01:20 |
|
| it is a convenient way to append to the crontab for example without having to edit the user's stuff in /etc/rontab | 01:20 |
|
Eridius
| well, my solution lets files declare dependencies on other files, and it's per-user instead of global. It also supports one level of subdirectories | 01:20 |
|
johannes
| I have a "fork" of a project consisting of a few patches, in my local development I rebase that from time to time to have the patches nice on top and to be in sync with the project. | 01:21 |
|
| Now I'd like to publish it, but re-pushing it after a rebase won' work, what's the good way to handle such things? | 01:22 |
|
jengelh
| doing it like Andrew Morton - not using git? :) | 01:22 |
|
johannes
| :-) | 01:22 |
|
Eridius
| johannes: if you've pushed, then the remote repo should contain your patches and rebase should no longer be necessary | 01:23 |
|
johannes
| Eridius: but the base project gets updated so that tree is outdated one day, then merging around later gives conflicts ... if i merge all the time it's hard to see the differences between my tree and the original tree, and rebase looked nice for that | 01:24 |
|
Eridius
| if you don't make any more local commits, merge and rebase will do the same thing (rebase will find no commits to save and just set the local branch to the remote, and merge will just fast-forward the local branch to the remote) | 01:26 |
|
| I guess what I meant to say was: why won't it work? | 01:26 |
|
johannes
| I did a rebase of my branch, pushed that, fetched the latest changes from upstream, rebased, tried to push my branch again and got a message telling me that my local branch is no strict subset of the remote | 01:29 |
| ← cartman left | 01:31 |
| → cartman joined | 01:32 |
|
Eridius
| perhaps you should run gitk and see where your master and your remotes/whatever/master refs are? | 01:32 |
|
johannes
| maybe I go to bed and take a fresh look tomorrow :-) | 01:40 |
|
robinr
| that happens after rebase | 01:48 |
|
| you'll need to add -f to push to bypass a check | 01:49 |
| → jp_n9 joined | 01:49 |
|
robinr
| push normally checks that the new ref is a direct descendant of the old ref | 01:49 |
|
Eridius
| and why wouldn't the remote be a direct descendent in his case? | 01:50 |
|
jp_n9
| trying to install git from source on osx 10.4. anyone know what version of docbook it requires? | 01:50 |
|
| can't find a dependency list on the site | 01:50 |
|
Eridius
| jp_n9: skip building documentation, just install the manpages from the distribution, or check out the git repo and use the stuff in the man branc | 01:50 |
|
| *branch | 01:50 |
|
jp_n9
| Eridius: how do you skip the doc build? | 01:51 |
|
Eridius
| make all doesn't build documentation | 01:52 |
|
| what are you running? | 01:52 |
|
robinr
| Eridius: because he rebased. The new "version" of the branch is by git's definition another branch | 01:52 |
| ← nashdj left | 01:53 |
|
Eridius
| robinr: I would expect rebase with no local commits to make the branch equal to upstream | 01:53 |
|
jp_n9
| Eridius: ok, tried make prefix=/usr/local all let me see if that works. | 01:53 |
|
| Eridius: worked. thanks | 01:57 |
|
| *thanks!! | 01:57 |
| ← Ademan left | 01:58 |
| → Ademan joined | 01:58 |
|
Eridius
| glad to hear it | 01:59 |
|
robinr
| rebase produces a new branch or nothing happens (i.e. no rebase) | 02:00 |
|
Eridius
| yeah, he said he pushed his changes, then fetched and rebased. That last rebase should have done nothing | 02:01 |
|
robinr
| he said he fetched the latest changes | 02:01 |
|
Eridius
| ok, I'll try again: that last rebase should have made his branch point to the same commit as the remote, no? | 02:02 |
|
robinr
| no. he pushes his branch to some ref, fetches "master" or whatever and rebases his branch on top of that | 02:03 |
|
| he doesn't fetch his own branch | 02:03 |
|
Eridius
| he didn't say he was on a branch | 02:04 |
|
| from what he said, I gathered that he was working on master, just continually rebasing to keep his changes on the tip of the remote tree | 02:05 |
|
| err, remote history | 02:05 |
| → theCarpenter joined | 02:05 |
|
Eridius
| actually, he did say "my branch" later, but I assume he meant local branch. He certainly never said that he was trying to change branches | 02:05 |
|
| of course, given that he's gone to bed this is pointless ;) | 02:06 |
| ← saintdev left | 02:06 |
| ← jp_n9 left | 02:10 |
| ← cedric_ left | 02:12 |
| → macournoyer joined | 02:12 |
| → priidu_ joined | 02:14 |
| → zed_ joined | 02:15 |
| ← rhalff left | 02:17 |
| ← tongueroo left | 02:18 |
| ← bdiego left | 02:18 |
| → EmilMedve joined | 02:20 |
| ← pombreda left | 02:25 |
| bigon → bigon` | 02:29 |
| ← sgrimm left | 02:30 |
| ← bobesponja left | 02:30 |
| ← theCarpenter left | 02:33 |
| ← macournoyer left | 02:33 |
| → KirinDav joined | 02:37 |
| ← KirinDav left | 02:39 |
| → TuxCM- joined | 02:43 |
| ← santhosh_ left | 02:44 |
| → KirinDav joined | 02:45 |
| ← TuxCM left | 02:58 |
| → mithro joined | 03:02 |
| ← ironfroggy left | 03:02 |
| ← jwb left | 03:04 |
| ← robinr left | 03:06 |
| ← Nazcafan left | 03:11 |
| ← toxx_ left | 03:11 |
| → Qarl joined | 03:16 |
|
tarbo
| i am trying to understand the difference when git-rev-list lists some commits when comparing my master and upstream, but git cherry gives nothing | 03:19 |
|
| this means that everything in my repo is reflected in upstream, even if the merging/committing happened in different orders? | 03:20 |
|
| (and vice versa - everything in upstream is in master) | 03:20 |
| ← timocratic left | 03:21 |
|
Randal
| so your master sha1 is the same as the upstream sha1? | 03:21 |
|
| as in - the very same commit? | 03:21 |
|
| or - let's say this differently... how big is git-diff your_master...upstream_master | 03:23 |
|
tarbo
| 'git-diff master upstream' gives nothing | 03:24 |
|
| it appears that i dont know how to check the sha1 thing :-/ | 03:24 |
|
Randal
| but they're not the same SHA1? | 03:24 |
|
| git-branch -a -v | 03:24 |
|
| compare your master and upstream | 03:24 |
|
| same number or different number? | 03:24 |
|
tarbo
| different | 03:24 |
|
| interesting, hadnt seen that before. | 03:24 |
|
Randal
| weird - so you have the same content arrived at via different paths | 03:24 |
|
tarbo
| right - i think its because i merged instead of rebased? | 03:25 |
|
Randal
| maybe | 03:25 |
|
| but what's your goal now? | 03:25 |
|
| you have a commit. do you like your history>? | 03:25 |
|
| or the history of upstreasm? | 03:25 |
|
| I'd suggest "history of upstream" | 03:25 |
|
| nudge nudge | 03:26 |
|
| Randal waits for the OBVIOUS light to go on overhead | 03:26 |
| → Tux__ joined | 03:27 |
|
tarbo
| Randal: not really a goal, other than better understanding. i wanted to make sure that i wasnt leaving anything out in either direction before i played around with it. but yes, i think history of upstream would be preferable. is there an easy way to do that? i probably would have deleted and recloned once i figured out that i hadnt lost anything, but im guessing thats ugly :-) | 03:27 |
|
Randal
| if you apply patches A B C to get D | 03:27 |
|
| or apply patches B C A to get D' | 03:27 |
|
| but D' and D have the same result | 03:27 |
|
| they will still be DIFFERENT sha1s | 03:27 |
|
| this is a given | 03:27 |
|
tarbo
| makes sense now | 03:27 |
|
Randal
| if you want to play well with others, abandon your sha1 | 03:28 |
|
| and play with the upstream from here out | 03:28 |
|
| git branch -D master | 03:28 |
|
| git checkout -b master origin/master | 03:28 |
|
tarbo
| ah, lovely | 03:28 |
|
Randal
| PRESMUING... | 03:28 |
|
| git diff master origin/master is EMPTY EMPTY EMPTY | 03:28 |
|
| don't do it unless | 03:29 |
| ← zed_ left | 03:29 |
| ← jmspeex left | 03:29 |
|
Ilari
| Or maybe even 'git reset --soft origin/master'... | 03:29 |
|
Randal
| that won't help | 03:29 |
|
| the parent will still be the old master | 03:29 |
|
| bad parentage | 03:29 |
| → jmspeex joined | 03:30 |
|
Randal
| you want a new commit to be based on the sha1 of origin/master | 03:30 |
|
| hence, make a local branch based on the tracking branch | 03:30 |
|
| which is always the rule :) | 03:30 |
| → zed_ joined | 03:31 |
|
tarbo
| Randal: at what point do i need git diff master origin/master to be empty? and what if it isnt? | 03:31 |
|
Randal
| right now | 03:32 |
|
| before you type those two commands | 03:32 |
|
| you TOLD me it was empty | 03:32 |
|
| I am giving you advice based on that | 03:32 |
|
tarbo
| ohhhhh | 03:32 |
|
| i se | 03:32 |
|
Randal
| if you were lying to me, you get bad advice | 03:32 |
|
| please don't lie to me | 03:32 |
|
tarbo
| mine is named upstream | 03:32 |
|
| i thought origin/master was something special | 03:32 |
|
Randal
| no | 03:32 |
|
| sorry | 03:32 |
|
tarbo
| my fault | 03:32 |
|
Randal
| I have no idea how you're tracking upstream | 03:32 |
|
| same rules apply though | 03:33 |
|
tarbo
| so what _is_ origin/master? because i do have it... | 03:33 |
|
Randal
| git diff BRANCH-YOU-ARE-ON YOUR-INTERESTING-UPSTREAM # if empty... | 03:33 |
|
| git branch -D BRANCY-YOU-ARE-ON | 03:33 |
|
| git checkout -b BRANCH-YOU-ARE-ON YOUR-INTERESTING-UPSTREAM | 03:33 |
|
| see the pattern | 03:33 |
|
| ? | 03:33 |
|
tarbo
| Randal: indeed | 03:34 |
|
Randal
| so that's what I thought you were doing | 03:34 |
|
Ilari
| tarbo: origin/master is mirror of branch master of repository nicknamed origin. | 03:34 |
|
Randal
| why do you have "upstream" and origin/master different | 03:34 |
|
| where did you get "upstream"? | 03:34 |
|
| wait - is upstream a local branch? | 03:34 |
|
| as opposed to a tracking branch? | 03:35 |
|
| literally "u p s t r e a m" | 03:35 |
|
tarbo
| Randal: thats what i dont understand. i created it myself. clearly i did a lot of things wrong in the run up to opening my mouth here :-) | 03:35 |
|
Randal
| without a / ? | 03:35 |
| → madewokherd joined | 03:35 |
|
tarbo
| Randal: yes, i created it with git pull <remote repo> +:upstream | 03:35 |
|
Ilari
| tarbo: Or actually it is refs/remotes/origin/master, but usually one can omit the 'refs/remotes' part. | 03:35 |
|
Randal
| so go back to "git branch -a -v" | 03:35 |
|
| see which of those actually represents an interesting upstream commit | 03:36 |
|
| and try "git fetch origin" first. :) | 03:36 |
|
| or after, and again. :) | 03:36 |
|
tarbo
| origin/master was crusty, i did the fetch and now it matches 'upstream' | 03:38 |
|
Randal
| aha | 03:38 |
|
tarbo
| which presumably i should have done initially instead of making upstream. | 03:38 |
|
Randal
| so stop that with your "upstream" thing then | 03:38 |
|
| get rid of it. it confuses you | 03:39 |
|
| git branch -D upstream | 03:39 |
|
tarbo
| well, i think i confuse me. but it is certainly unnecessary | 03:39 |
|
Randal
| and now... | 03:39 |
|
| git diff master origin/master | 03:39 |
|
| IF EMPTY... | 03:39 |
|
| git branch -D master # may fail... | 03:39 |
|
| git checkout -b master origin/master | 03:39 |
|
| if the branch fails, it's because you're on it | 03:40 |
|
| in that case, you'll have to go headless for a second. :) | 03:40 |
|
| git checkout origin/master # will say "going headless" | 03:40 |
|
| then the -D and the -b | 03:40 |
|
Ilari
| Another way to compare trees for exact equality is: 'git rev-parse master: origin/master:'. Note the two ':'s. | 03:40 |
|
Randal
| Yeah - that compares the filetree instead of the history producing the filetre | 03:41 |
|
Ilari
| It should dump two hex digit sequences. If they are identical, the snapshots are identical. | 03:41 |
| → dsaxena joined | 03:42 |
|
Randal
| although I could imagine the diff being empty without the trees being identical | 03:42 |
|
| maybe it's not possible. :) | 03:42 |
| ← TuxCM- left | 03:42 |
|
| Randal waits for tarbo to come back | 03:45 |
|
| Randal cues up the "jeopardy countdown music" | 03:45 |
|
tarbo
| Randal: i am here, that definitely worked (and git-rev-parse was also empty). tyvm for your patience :-) | 03:46 |
| → jp_n9 joined | 03:48 |
|
| Randal bows | 03:48 |
|
| Randal hits head on desk | 03:48 |
|
Randal
| ouch! | 03:48 |
|
tarbo
| Randal: incidentally, we met a few times at pdx-pm when i was living in portland (and i attended a session of yours at a tpc) - dont think you learned my name, but just wanted to say love the show | 03:49 |
|
Randal
| "the show"? | 03:49 |
|
tarbo
| you know, like radio call in guys | 03:49 |
|
| i could have said "megadittoes" | 03:49 |
|
Randal
| Oh heh | 03:49 |
|
| I was thinking you had listened to one of my three podcasts | 03:49 |
|
| or seen my git tech-talk | 03:50 |
|
tarbo
| no, but perhaps i will now :-) | 03:50 |
|
Randal
| video.google.com search "randal schwartz git" | 03:50 |
|
| or podcast.geekcruises.com | 03:50 |
|
| or twit.tv/floss | 03:50 |
|
| or perlcast.com | 03:50 |
|
| there you go. more randal than you can handle. :) | 03:50 |
|
| if you're interested in my explorations of smalltalk, methodsandmessages.vox.com | 03:51 |
|
| tarbo rolls up his sleeves and prepares to use the schwartz | 03:51 |
|
Randal
| or following me minute by minute, merlyn.jaiku.com | 03:51 |
|
tarbo
| jaiku is super interesting, but your laptop story sucks | 03:54 |
| ← tvachon left | 03:56 |
| ← KirinDav left | 03:58 |
|
Randal
| indeed | 03:58 |
|
| I'm typing this on what you could compute as a $8000 laptop. :) | 03:58 |
| → tvachon joined | 03:58 |
|
Ilari
| What, no $25k super high end system obtained using money from HELOC? :-> | 04:01 |
|
Randal
| what is HELOC? | 04:02 |
| ← jmspeex left | 04:03 |
|
Ilari
| Randal: Home Equity Line Of Credit. Using stuff like that isn't good idea for obivious reasons... | 04:03 |
|
Randal
| Oh - never seen it called that. | 04:03 |
| → jmspeex joined | 04:03 |
|
Randal
| just googled for it | 04:03 |
|
| anyway - ansewr no. :) | 04:04 |
|
| at this point, in fact, all three of my properties have only firsts on them, with 30-year fixed. I'm quite happy | 04:04 |
|
| and I'm debt free, with credit cards being paid off month-to-month | 04:04 |
|
| no car loan even. :) | 04:05 |
|
| so, I'm not rich, but I'm not a debtor | 04:05 |
| → FunkeeMonk joined | 04:06 |
|
Ilari
| That's the old-generation stuff. New generation is pumping out whatever value increase of home using HELOC and using negative-amortization ARMs. Of course when that boom ends, one is screwed. | 04:07 |
|
| Of course, if too many do that, when the boom ends, the whole nation is screwed. | 04:07 |
|
Randal
| Yeah | 04:09 |
|
ivazquez
| It'll be 1929 all over again. | 04:09 |
|
Randal
| I'm already seeing that. my primary residence has actually topped out for a few years | 04:10 |
|
| but that's mostly because I'm not "updating" it | 04:10 |
|
| it needs to have the kitchen-diningroom wall knocked out to be "more modern" | 04:10 |
|
| and create an intimate large cooking and eating area | 04:10 |
|
| in any event, this is not $current_channel topic. enjoy. | 04:11 |
|
Ilari
| And BTW, that topic does not look right, as IIRC 1.5.3.8 has been released alrady.... | 04:12 |
| ← jp_n9 left | 04:13 |
|
tarbo
| /join #mortgagecrisis /* no one here! */ | 04:13 |
| → saintdev joined | 04:19 |
| ← jmspeex left | 04:27 |
| → pombreda joined | 04:28 |
| ← giraffeman left | 04:28 |
| → fhobia joined | 04:29 |
| ← EmilMedve left | 04:35 |
| ← tvachon left | 04:36 |
| ← FunkeeMonk left | 04:48 |
| ← alley_cat left | 04:57 |
| ← stephenjudkins left | 04:57 |
| → sgrimm joined | 04:58 |
| → FatalError joined | 05:01 |
| ← fhobia left | 05:04 |
| → stick joined | 05:07 |
| → jmspeex joined | 05:18 |
| ← stick left | 05:23 |
| → vintrepid joined | 05:31 |
| → mediogre joined | 05:48 |
| ← Sho_ left | 05:58 |
|
Qarl
| What does "superproject" refer to in git? | 05:58 |
| → KirinDav joined | 06:13 |
|
gitster
| When a project has "another" project bound at one of its directory, it is called superproject while the other project is called "submodule". | 06:13 |
| → tvachon joined | 06:17 |
| → Pengwn joined | 06:18 |
| ← tvachon left | 06:18 |
|
Ilari
| Isn't latest stable git release 1.5.3.8 (altough topic says 1.5.3.7, and can't fix it myself because of +t)? | 06:22 |
|
gitster
| I can't either. I'll be pushing out 1.5.4-rc3 tonight. | 06:23 |
| ← KirinDav left | 06:33 |
| → tjafk2 joined | 06:36 |
| ← ivazquez left | 06:52 |
| ← rkaway left | 06:53 |
| → ivazquez joined | 06:54 |
| → dduncan joined | 06:56 |
| → FunkeeMonk joined | 06:58 |
| ← zealo left | 07:03 |
| ← pedro_mg left | 07:03 |
| ← pedro-mg left | 07:03 |
| ← vintrepid left | 07:08 |
| ← zed_ left | 07:08 |
| → vintrepid joined | 07:15 |
| ← dsop_ left | 07:16 |
| → dsop joined | 07:17 |
| → pedro_mg joined | 07:25 |
| → pedro-mg joined | 07:25 |
| → srid joined | 07:30 |
| ← pedro-mg left | 07:30 |
| ← pedro_mg left | 07:30 |
| → jerbear joined | 07:34 |
| ← dysinger left | 07:43 |
| → Ingvae joined | 07:54 |
| ← dduncan left | 08:09 |
| ← cartman left | 08:15 |
| ← bartman left | 08:27 |
| ← Fullmoon left | 08:28 |
| → devogon joined | 08:29 |
| → Eludias joined | 08:29 |
| → bartman joined | 08:31 |
| ← Mohjive left | 08:32 |
| ← FunkeeMonk left | 08:34 |
| → FunkeeMonk joined | 08:36 |
| ← bartman left | 08:38 |
| → kmap joined | 08:38 |
| → bartman joined | 08:38 |
| ← FunkeeMonk left | 08:39 |
|
| gitster asks whoever is channel operator of #git to update the topic to 1.5.4-rc3 | 08:42 |
| ← jerbear left | 08:49 |
|
doener_
| gitster: I think there was a thread on the ml about this, but can't find it. Anyway, "git checkout no_such_branch_nor_file", will ask you if you forgot to git-add. | 08:50 |
|
| that's kinda misleading if you actually wanted to switch branches. | 08:50 |
| ← context left | 08:52 |
| → context joined | 08:52 |
|
doener_
| oh, checkout is a shell script. Actually wanted to ask if you know how hard it would be to improve that and eventually try to guess if the user meant a branch or a file | 08:52 |
|
Pieter
| it does that already? | 08:52 |
|
doener_
| for the error message? since when? | 08:53 |
|
Pieter
| oh, for the error message | 08:53 |
|
| :) | 08:53 |
|
doener_
| but I guess for a shell script I can figure that out myself, just wanted to avoid reading through the C core *g* | 08:54 |
| → FunkeeMonk joined | 08:56 |
|
doener_
| heh, "git checkout maste -- file" gives a really ugly error message | 08:56 |
| ← loops left | 08:57 |
| ← sgrimm left | 09:02 |
| → sgrimm joined | 09:07 |
| ← GyrosGeier left | 09:08 |
| → cedricv joined | 09:22 |
| → kmap_ joined | 09:31 |
| ← kmap left | 09:31 |
| → octopod joined | 09:35 |
| → desegnis joined | 09:36 |
| → penguin394 joined | 09:40 |
| → stephenjudkins joined | 09:48 |
| → reval joined | 09:51 |
| ← FunkeeMonk left | 09:52 |
| ← stephenjudkins left | 09:56 |
| → HG` joined | 10:01 |
| ← penguin394 left | 10:02 |
| → penguin394 joined | 10:04 |
| → sverrej joined | 10:06 |
| ← sgrimm left | 10:11 |
| ← penguin394 left | 10:16 |
| → robinr joined | 10:34 |
| ← Ingvae left | 10:37 |
| ← reval left | 10:38 |
| → ferdy joined | 10:46 |
| ← srid left | 10:59 |
|
reuss
| is there an easy way of adding all "modified" files to the next commit? | 11:00 |
|
numbah
| git-add -u | 11:01 |
|
reuss
| kool, i'll try that | 11:01 |
| ← HG` left | 11:02 |
|
reuss
| worked like a charm - that helps a whole lot :) | 11:04 |
| → harinath joined | 11:23 |
| ← Pengwn left | 11:25 |
| → Phoop joined | 11:28 |
| → toxx_ joined | 11:38 |
| → kumbayo joined | 11:45 |
| → aref joined | 11:51 |
| → Yuuhi joined | 11:52 |
| ← captnmark_ left | 11:52 |
| → captnmark_ joined | 11:53 |
| ← aref_ left | 12:00 |
| → IanL joined | 12:32 |
|
Eridius
| when I use git-filter-branch it left behind refs/original/... | 12:37 |
|
| is there a "correct" way to delete that, or should I just rm it? | 12:38 |
| ← mithro left | 12:44 |
|
doener_
| is there any magic in git (or git-svn) that re-creates a "master" branch when you have none? | 12:45 |
|
| I renamed master to trunk in a git-svn repo, but somehow master keeps reappearing | 12:46 |
|
| hm, ok, I basically answered the question myself... Let's try "Why does git do that?" instead ;-) | 12:46 |
|
thiago_home
| there's no magic I know of | 12:47 |
|
| what was the operation you did that made it reappear? | 12:47 |
|
doener_
| not sure, I tried to reproduce it earlier, failed and guessed that I somehow did that myself. But now there's a new master branch again. | 12:48 |
|
thiago_home
| pay attention to when it comes back up | 12:49 |
| → dysinger joined | 12:49 |
|
doener_
| AFAICT it must be one of: checkout, log, diff, commit (--amend), svn rebase, svn dcommit | 12:49 |
|
Eridius
| post_fetch_checkout does actually poke the master branch (after making sure it exists), but that's the only reference I can see, and it should actually exit out if master doesn't exist | 12:49 |
|
| hrm, maybe it's in Git.pm | 12:50 |
|
| nope, only reference to master is in a comment | 12:50 |
|
thiago_home
| checkout, log and diff shouldn't cause any changes to existing branches | 12:51 |
|
Eridius
| doener_: I bet it's svn rebase - I'd imagine that takes your svn-remote.svn.branches arg and just copies all remote branches to local branch names, and the remote branch is named master | 12:51 |
|
thiago_home
| except for checkout -b | 12:51 |
|
| commit should commit to your current branch only and not touch anything else | 12:52 |
|
| git-svn... that I have no idea. | 12:52 |
|
doener_
| Eridius: nope, master points to the same commit that remotes/1.0 points to right now | 12:52 |
|
| Eridius: and "svn rebase" only works on the current branch anyway | 12:52 |
|
Eridius
| hmm | 12:53 |
|
| I guess I meant git-svn fetch | 12:53 |
| ← jas4711 left | 12:53 |
|
doener_
| Eridius: does verify_ref actually return "true" for invalid refs? Or do I just "read" that Perl code wrong? | 12:53 |
|
| without knowing Perl at all, I'd say that it returns when refs/heads/master^0 is valid, and that would explain what I'm seeing | 12:54 |
| → alley_cat joined | 12:54 |
|
Eridius
| it must return true if it's not valid, because you can't call update-ref on a ref that doesn't exist, right? | 12:55 |
|
| or maybe you can.. | 12:55 |
|
| huh, I guess you can. that's probably it | 12:56 |
|
doener_
| yep, you can | 12:56 |
|
| normalperson: ping? | 12:58 |
| → mithro joined | 13:00 |
| ← soma- left | 13:12 |
| → GyrosGeier joined | 13:14 |
| → cods joined | 13:17 |
| → Sho_ joined | 13:20 |
| → jp_n9 joined | 13:24 |
| → bdiego joined | 13:30 |
| ← jp_n9 left | 13:35 |
| ← kumbayo left | 13:36 |
|
vbgunz
| I see this a lot in plenty of man pages, .ft C and .ft ... what do they mean? | 13:37 |
|
doener_
| vbgunz: IIRC someone said that it might be related to your asciidoc version (too old? too new?) IIRC there's some documented setting in the Makefile | 13:39 |
|
vbgunz
| I just see it in a lof man pages for Git, curious if it is something I should already know | 13:43 |
|
doener_
| vbgunz: would I meant to say is: they should not be there, might be due to your version of asciidoc that they show up | 13:44 |
|
| s/would/what/ | 13:45 |
|
| weird typo... | 13:45 |
|
vbgunz
| oh | 13:45 |
|
doener_
| vbgunz: try to define ASCIIDOC8 when generating the docs | 13:45 |
|
vbgunz
| I didn't build Git, I got it with apt-get from my repos | 13:46 |
|
doener_
| then complain to your upstream ;-) | 13:46 |
|
vbgunz
| e.g., man git-show, scroll to DISCUSSION and you'll probably see some examples of the config all enclosed in .ft C and .ft | 13:47 |
| → FunkeeMonk joined | 13:47 |
|
doener_
| no, my manpages are alright :-) | 13:48 |
|
vbgunz
| maybe it means file type config... | 13:48 |
|
| heh, no sweat, more curious than concerned :) | 13:48 |
|
doener_
| vbgunz: no, it means that your manpages are broken | 13:48 |
|
robinr
| vbgunz: it's a bug. | 13:48 |
|
vbgunz
| :O | 13:48 |
|
robinr
| fixed in some asciidoc/docbook version | 13:49 |
|
vbgunz
| man, I never noticed... I see most man pages without a problem, I didn't even think it could be a problem... so, I can basically ignore it? otherwise, man pages look fine | 13:49 |
|
robinr
| you manpages are built the wrong way. | 13:49 |
|
| I don't think you'll miss any information, it just looks wierd | 13:50 |
| ← stni left | 13:50 |
|
doener_
| vbgunz: yeah, you can ignore it, or better yet, complain to your upstream and get a package with correct man pages :-) | 13:50 |
|
vbgunz
| cool, comparing it to the HTML version in got-docs, they're all the same | 13:50 |
| → hendry joined | 13:51 |
|
vbgunz
| s/got-docs/git-docs | 13:51 |
| → chris2 joined | 13:53 |
|
vbgunz
| heres a question of convention. I can put exlude patterns in one of 3 places. .gitignore, .git/info/exclude or ~/.gitconfig ... I am learning Git, not only for version control *but* to hopefully one day open source a project and hopefully work with others. when this is the case, shouldn't I always use .gitignore instead of anything else? as a matter of style, shouldn't others know what I am ignoring? | 14:06 |
| → Man-erg joined | 14:06 |
| ← cedricv left | 14:06 |
|
doener_
| vbgunz: ~/.gitconfig? How would you add exclude patterns there? | 14:11 |
|
| vbgunz: .gitignore is for files that make sense to ignore for the project | 14:11 |
|
vbgunz
| core.excludesfile, tells where to find more exlude patterns | 14:11 |
|
doener_
| vbgunz: .git/info/exclude is for files that you want to ignore _locally_, ie. those that are specific to your local environment | 14:12 |
|
| vbgunz: ok, yeah, but that's not an exclude pattern on its own right. | 14:12 |
|
| ;-) | 14:12 |
|
vbgunz
| yeah, I know, but ignoring files locally is a bad thing is it not? I mean, I wish to ignore files that end with a ~ ... some developers may not know what I am ignoring and may violate it, right? | 14:13 |
|
| btw, I put this in my .gitignore file ^[^~]+~$ and ran git status and still see those files ... is my regex off? | 14:15 |
|
robinr
| it certainly helps others, especially newbies to include such information explicitly in the repo | 14:15 |
| → bobesponja joined | 14:15 |
|
doener_
| vbgunz: IIRC .gitignore doesn't take regex, just globs | 14:16 |
|
vbgunz
| not sure what a glob is... I'll figure it out | 14:18 |
|
robinr
| wildcards | 14:18 |
|
| * | 14:18 |
|
| *~ | 14:18 |
|
| *.exe | 14:18 |
|
doener_
| vbgunz: files that are already tracked are not ignored IIRC, so if you ignore *~ but someone else adds a file foo~, you'll be able to work with that one normally | 14:18 |
|
vbgunz
| hmm | 14:19 |
| → Temaris joined | 14:20 |
|
doener_
| oh well, if you explicitly say "git add foo~" to stage new changes, it'll force you to use -f, but "git add -u" will happily stage any changes in foo~ | 14:21 |
|
| personally, I think it should force -f only if "foo~" is not tracked yet... hm | 14:21 |
| ← mediogre left | 14:22 |
|
doener_
| vbgunz: it's basically your choice whether you put them into .gitignore or .git/info/exclude, but .gitignore might get pretty big if you add rules to catch e.g. the backup files of every editor known to mankind | 14:23 |
|
vbgunz
| robinr: thanks for those glob hints. | 14:25 |
|
| doener_: not sure what it is, must be my coffee, am trying to follow what you say without prematurely busting a response into the channel... | 14:26 |
|
| let me start off with a simple glob and check the status | 14:26 |
| → doener joined | 14:27 |
|
doener
| vbgunz: might be my lack of coffee (or that I'm unable to express myself due to English not being my native language) | 14:27 |
|
vbgunz
| yeah, thats out of the way, .gitignore accepts globs and not regex. I'll put glob patterns on the my todo | 14:28 |
|
| doener: I am going to understand, I think I need a few minutes. I find just reading something and trying to remember it is harder than actually going through it, I'll get it | 14:29 |
|
doener
| vbgunz: heh, yeah, that's actually the reason I hang around here. 80% of the time when I try to help, I actually have to figure it out myself first. Way more effective than reading the man pages without a real use for all the features. | 14:31 |
|
| I'm just collecting use cases here :-) | 14:31 |
|
vbgunz
| heh, experimenting with a couple *~ files now | 14:32 |
| → srid joined | 14:34 |
|
dysinger
| pardon my intrusion on the conversation - need to ask a dumb question - how can I merge a single commit from master into a branch ? | 14:37 |
|
doener
| dysinger: git cherry-pick | 14:37 |
|
dysinger
| sweet | 14:37 |
|
| thanks | 14:37 |
|
vbgunz
| doener: hmm, added file~ and used add -f. got it commited, went to a clone and pulled and though the clone had .gitignore, it did pull file~ ... so, although I am personally ignoring certain patterns, if I explicitly add -f an ignored file, it will act like a normal file and no longer be exluded | 14:40 |
|
| ok, got that | 14:40 |
| ← simmel left | 14:43 |
| ← hendry left | 14:43 |
|
vbgunz
| doener: not too sure what you mean about using -u ... commit -a picked it up... a new clone shows the modified file~ | 14:44 |
| ← doener_ left | 14:44 |
| → simmel joined | 14:44 |
|
doener
| vbgunz: commit -a does an implicit add -u | 14:52 |
|
vbgunz
| yes | 14:52 |
|
doener
| vbgunz: but instead of using commit -a, you can also do "git add foo~; git commit" (useful if you don't want to commit all changes in your working tree) | 14:53 |
|
| and then "git add" will force you to use -f again, although the file is already being tracked | 14:53 |
|
vbgunz
| git add -u, updates files in which say git add file~ will require the force option. in other words, -f on a new file makes sense *but* -f on a file that is already tracked is a hurdle, this is what you mean, correct? | 14:54 |
|
| yes, I just got what you meant... heh, kept experimenting and saw that behavior | 14:54 |
|
| does sound like a bug but that is debatable I suppose... I mean Git is supposed to be stupid I think :) | 14:55 |
|
doener
| yeah, "git add -u" and "git add foo~" should both just accept changes to any tracked file. (or both force you to use -f) | 14:55 |
| → theCarpenter joined | 14:56 |
|
vbgunz
| makes sense | 14:57 |
| ← xaiki__ left | 15:05 |
| → xaiki_ joined | 15:06 |
| → nashdj joined | 15:06 |
|
vbgunz
| am going to watch the video by randal, been meaning to do that for a while :) | 15:06 |
|
Eridius
| "the video"? | 15:08 |
|
PerlJam
| vbgunz: it's a good presentation. | 15:09 |
| bigon` → bigon | 15:09 |
| ← theCarpenter left | 15:09 |
|
PerlJam
| Eridius: Randal did a presentation at google that was recorded | 15:09 |
|
Eridius
| ah | 15:09 |
| → theCarpenter joined | 15:09 |
| ← desegnis left | 15:09 |
|
vbgunz
| I saw the one with Linus, I heard there was another one by someone else, anyone knows? | 15:10 |
|
theCarpenter
| Randal's =] | 15:10 |
|
PerlJam
| vbgunz: Just Linus and Randal. Those are the only ones I know of. | 15:10 |
|
theCarpenter
| google "Randal Schwartz git" | 15:10 |
|
johannes
| first hit there ;-) | 15:11 |
| → kukks joined | 15:11 |
| ← Sho_ left | 15:19 |
| → Sho_ joined | 15:21 |
|
theCarpenter
| can git export an SVN log? | 15:28 |
|
reuss
| if you have gitweb setup - and you can list projects, and see changes - is there a URL you can point to for cloning a project over HTTP? - or do you have to have full access to the tree on a URL to clone it? | 15:28 |
| ← ivazquez left | 15:33 |
| → geoff2k_ joined | 15:34 |
| ← theCarpenter left | 15:35 |
| → theCarpenter joined | 15:35 |
| ← theCarpenter left | 15:38 |
| → cartman joined | 15:40 |
| → stni joined | 15:42 |
| ← wayneeseguin left | 15:43 |
| → wayneeseguin joined | 15:44 |
| → jp_n9 joined | 15:47 |
| ← IanL left | 15:47 |
| ← geoff2k left | 15:49 |
| ← jp_n9 left | 15:57 |
|
vbgunz
| 41:34 seconds into randals presentation he mentions something I find very very interesting. "git merge --squash --no-commit t; git commit" ... everything about it makes sense *but* what does t do? t should be the name of the branch, correct? | 15:57 |
| → Oejet joined | 15:59 |
| → |kukks| joined | 16:01 |
| ← kukks left | 16:01 |
| → theCarpenter joined | 16:05 |
|
Eridius
| vbgunz: where's the video? | 16:06 |
|
| nevermind, I found it | 16:07 |
|
vbgunz
| cool | 16:07 |
|
| I really dislike all the single commit messages that can sort of pollute your log. the above command seems to alleviate that in a sense. I am going to try it when the vid is done *but* if it does what I think it does, thats going to be sweet | 16:08 |
|
Eridius
| ok, I'm assuming t is the name of the topic branch | 16:08 |
|
| he probably just condensed "topic-name" into "t" for space | 16:08 |
|
vbgunz
| so am I, I don't see a branch referenced so that has to be it | 16:08 |
|
| yeah | 16:08 |
| ← cartman left | 16:12 |
| |kukks| → kukks | 16:16 |
| → Dodji joined | 16:16 |
| → z3om joined | 16:17 |
| ← aref left | 16:18 |
| ← zeom left | 16:33 |
| z3om → zeom | 16:33 |
| ← Phoop left | 16:37 |
| → zed_ joined | 16:38 |
| ← pcapriotti left | 16:39 |
| → nessundorma joined | 16:44 |
| ← nashdj left | 16:45 |
| → neosun joined | 16:46 |
| ← a-atwood left | 16:47 |
| ← theCarpenter left | 16:48 |
| ← srid left | 16:49 |
| → a-atwood joined | 16:54 |
| → vbgunz_ joined | 16:58 |
| ← vbgunz left | 17:02 |
| → norc joined | 17:03 |
| ← Oejet left | 17:03 |
| ← a-atwood left | 17:04 |
|
norc
| Does git init-db do the same thing as git init? | 17:07 |
|
| (The docs are talking about git init where I can find only init-db) | 17:07 |
|
Ilari
| norc: Sounds like you should upgrade. | 17:08 |
|
norc
| Ilari: debian stable | 17:08 |
|
| nuff said? ;) | 17:08 |
|
Ilari
| norc: Lemme guess: 1.4.<something>? | 17:08 |
|
tpope
| even debian stable should have git init | 17:08 |
|
norc
| Ilari: 1.4.4.4 | 17:08 |
|
tpope
| though yeah, on debian you should grab the version on backports.org | 17:08 |
|
| norc doesnt like backports | 17:09 |
| → aref joined | 17:09 |
|
thiago_home
| upgrade to 1.5 | 17:09 |
|
norc
| what do I need to upgrade, git-core? | 17:09 |
|
| or is git itself a bundle? | 17:10 |
|
thiago_home
| git-core | 17:10 |
|
| that's everything | 17:10 |
|
norc
| ok | 17:10 |
| → a-atwood joined | 17:10 |
|
tpope
| well, it's missing gitk, git-svn, git-cvs, and a handful of other things | 17:12 |
|
norc
| tpope: that can be installed additionally | 17:12 |
|
tpope
| of course | 17:12 |
|
| but it's not "everything" | 17:12 |
| → theCarpenter joined | 17:14 |
|
norc
| git works like charm :) | 17:15 |
|
| setting up is a piece of cake :) | 17:15 |
|
thiago_home
| ah, right, git-svn is extra | 17:15 |
|
Ilari
| norc: gitk is highly recommended install through (unless it is some sort of server without graphical libs). Also, probably git-gui and docs are worth install. | 17:18 |
|
norc
| Although I have to get used to git (never used it before) I think it's the right thing to do for my project. | 17:18 |
|
| Ilari: I'll do | 17:18 |
|
| (its my home machine currently) | 17:19 |
|
| thiago_home uses qgit | 17:20 |
|
thiago_home
| graphs look better | 17:21 |
|
Ilari
| norc: Also, you should set up username and email for author/committer info. | 17:22 |
|
norc
| Ilari: already had to | 17:22 |
|
| Ilari: cant use git without | 17:22 |
|
Ilari
| norc: Ah, good. | 17:24 |
| ← bdiego left | 17:25 |
|
norc
| Do I have to pull repeadtly to keep my git tree up-to-date? | 17:27 |
| ← octopod left | 17:27 |
|
norc
| (Like in CVS) | 17:28 |
|
| err, well, like not in cvs ;) | 17:28 |
|
| s/like not/unlike/ | 17:28 |
| → HG` joined | 17:28 |
|
tpope
| depends | 17:29 |
|
| if you're using a central server setup with a bunch of other people, yes | 17:29 |
|
norc
| tpope: thats what I want :) | 17:29 |
|
tpope
| although pull isn't always the best choice | 17:29 |
|
| sometimes you want to rebase | 17:29 |
|
norc
| What other choice do I have | 17:30 |
|
| mhm | 17:30 |
| → morphir joined | 17:30 |
|
norc
| Isn't there a way that my people can just submit a change which gets automatically accepted into the tree? | 17:30 |
|
| (I trust my developers) | 17:30 |
|
tpope
| that's the opposite, pushing | 17:30 |
|
| and yes, just give them ssh with the appropriate file permissions | 17:31 |
| → bdiego joined | 17:31 |
|
Ilari
| norc: Fetching and rebasing is bit more like CVS/SVN workflow, but one is able to keep multiple changes (even SVN allows just 1). | 17:31 |
|
norc
| mhmm | 17:31 |
|
Ilari
| norc: There's also 'gitosis' for controlling repository access... Never used it though. | 17:32 |
|
norc
| this is more complicated than I thought initially | 17:32 |
|
| looks like its not going to be ready tonight.. ;) | 17:32 |
|
| I'm just using git because I was told that it's better than SVN or CVS | 17:33 |
|
tpope
| if you trust your developers you won't need anything like that | 17:33 |
|
| just give them ssh | 17:33 |
|
norc
| tpope: Uh.. first I wouldn't trust them that far. Secondly I'd prefer some control system which keeps track of all changes | 17:34 |
|
theCarpenter
| is there any way i can export an SVN log if im running git? | 17:34 |
|
morphir
| can anyone with admin privileges delete my account at http://repo.or.cz? (I submitted a incorrect ssh key) | 17:34 |
|
norc
| At some point I might want to introduce new developers | 17:34 |
|
tpope
| norc: there's a hump at the beginning of the learning curve but after that it's smooth sailing | 17:34 |
|
| well then change their shell to git-shell | 17:34 |
|
Ilari
| norc: There's 'git-shell' which is restricted shell for git remote access. | 17:34 |
|
Tv
| theCarpenter: svn log is linear, git history isn't; though have you looked at "git log"? | 17:34 |
|
| norc: or just use gitosis | 17:34 |
|
| norc: gitosis means developers don't need shell accounts | 17:35 |
|
norc
| Ok. | 17:35 |
|
| For some reason I still feel that I want a software that keeps track of changes with comments in a standardized way. | 17:35 |
|
Tv
| norc: eh, that's what git stores about commits | 17:35 |
|
norc
| Tv: exactly.. thats why I dont want them to directly edit these files.. | 17:36 |
|
Tv
| norc: like, not vi the repository direcly? well gitosis will give you that | 17:36 |
|
norc
| Tv: because some of them are on windows and 2 are using IDEs | 17:36 |
|
| well, 2 of the linux guys. ;) | 17:36 |
|
| gitosis | 17:37 |
|
| It's been suggested so many times, I should look into it. | 17:37 |
|
tpope
| with git-shell they can't edit files either | 17:38 |
|
norc
| Ok, doesn't seem like it's what I need. | 17:38 |
| → Fullmoon joined | 17:38 |
|
tpope
| but really, if that is a concern you need to get some less retarded developers | 17:38 |
|
| also, since every body has a full copy of the repo, it's not like editing it directly can destroy the history | 17:39 |
| ← theCarpenter left | 17:39 |
|
norc
| (It's not urgent, my project is in its early alpha stages, so at this point I dont need it yet, but I want some system rdy when my project is beta) | 17:40 |
| → theCarpenter joined | 17:40 |
|
norc
| Just fyi. :) | 17:40 |
|
| tpope: perhabs I have the wrong impression of what GIT is exactly for. | 17:40 |
|
tpope
| it's highly resistant to any sort of mucking with the history | 17:40 |
|
| if someone tries to change it manually, people will notice | 17:41 |
|
norc
| tpope: Can it be that CVS is more what I need here? | 17:41 |
| ← johan-s left | 17:41 |
|
norc
| If it's supposed to be on a central server | 17:41 |
|
| or SVN | 17:42 |
|
tpope
| cvs may be closer to what you have in mind, but that's not what your concerns suggest | 17:42 |
|
| it's way easier to muck with history in cvs | 17:42 |
|
norc
| I dont think they'll screw around with it | 17:42 |
| → johan-s joined | 17:42 |
|
tpope
| svn is harder but only because it's so opaque, not because it's inherently secure | 17:43 |
| ← sverrej left | 17:43 |
|
norc
| tpope: what do you mean with opaque here? | 17:43 |
|
| Are you referring to the administration or the usage? | 17:44 |
|
tpope
| administration | 17:44 |
|
| or more specifically, mucking with files inside | 17:44 |
|
norc
| tpope: what do you mean | 17:44 |
|
tpope
| you said you were concerned about some ass editing files with a text editor | 17:45 |
| kmap_ → kmap | 17:45 |
|
tpope
| well you don't have to worry about that with svn, but only because it's database is binary | 17:45 |
|
norc
| tpope: Well, if all developers would make notes in the changelogs with dates and their name and what they did it would be fine | 17:46 |
|
| but still, I'd like to be able to revert changes etc | 17:46 |
|
tpope
| well you can revert in git, but that means issuing a new commit that undoes the old one | 17:46 |
|
norc
| tpope: Let me give you a summary of what I need, perhabs you can give me an answer to what I actually wanna use | 17:47 |
|
| I have a project which will have about 10-20 developers when I need some control system. I (and the other developers) want to be able to see changes with information like who, when and what | 17:48 |
|
| The project is centralized on a server, from which the software will be distributed | 17:49 |
|
| People shall be able to obtain an experimental tree, which shall be GIT, SVN or whatever | 17:49 |
|
Tv
| norc: have you guys ever used any version control? | 17:49 |
|
| norc: that really sounds like you haven't | 17:49 |
|
norc
| Tv: I havent. :) | 17:49 |
|
| I admit, I'm totally new to this area | 17:49 |
|
Tv
| norc: you're listing the definition of the word, really | 17:49 |
|
norc
| but Im fighting my way through :) | 17:49 |
|
| Tv: please enlighten me | 17:50 |
|
Tv
| tracking who made what change when why is the basic functionality | 17:50 |
|
norc
| which is what I want :) | 17:50 |
|
arw_
| norc: i hereby declare you 'enlightened' :) | 17:50 |
|
norc
| arw_: aww.. thx. :) | 17:50 |
|
| Furthermore I'd like to be able to revert changes if necessary to return to an old state of development | 17:51 |
|
Ilari
| Tv: Does gitosis support logging who did what push and when? If everybody has distinct ssh accounts, I think one can recover that from reflogs... | 17:52 |
|
norc
| and the ability to see code the way it was before some patches were applies. | 17:52 |
|
Tv
| Ilari: err, how would the reflog help there? | 17:52 |
|
norc
| Now what do I want? ;) | 17:52 |
|
arw_
| norc: even stuff as old as rcs can do that :) | 17:52 |
|
Tv
| Ilari: besides, reflogs are garbage collected, i wouldn't consider them reliable | 17:52 |
|
norc
| (some cute webinterface would be nice too btw) | 17:52 |
|
Tv
| Ilari: gitosis has no special logging | 17:52 |
|
arw_
| norc: but, as you are asking in #git, you want git :) | 17:52 |
|
| norc: and yes, you can do all that with git | 17:53 |
|
Tv
| Ilari: that feature sounds more like "i don't trust my developers", and those features don't belong in gitosis, they belong in some extra hooks | 17:53 |
|
norc
| arw_: well, Im not asking if I can do that. I could do that with my own software if I modified it accordingly. | 17:53 |
|
| arw_: I'm asking if it makes sense to use git, or if git aims for something different | 17:54 |
|
Tv
| norc: you're still only listing the very basic fundamentals | 17:54 |
| ← csc` left | 17:54 |
|
Tv
| norc: join the irc channel of any version control system and they'll say yes ;) | 17:54 |
|
norc
| Tv: I thought that if I'd ask here (or in SVN/CVS channel) I would get an easy answer, because you guys are experienced with this kind of software | 17:55 |
|
Tv
| norc: yes but you aren't asking for anything hard ;) | 17:55 |
|
norc
| I knew that there was a risk taht you were trying to sell me your software in a matter of speaking | 17:55 |
|
arw_
| norc: the easy answer is, any modern version control software will do what you listed easily. | 17:55 |
|
norc
| arw_: how do they differ then? | 17:55 |
| ← theCarpenter left | 17:56 |
|
norc
| simply in their features and design? | 17:56 |
|
Tv
| well design can imply huge differences | 17:56 |
| → theCarpenter joined | 17:56 |
|
Tv
| the biggest is probably centralized vs distributed | 17:56 |
|
norc
| Tv: I'm curious, what is a distributed system for especially? | 17:57 |
|
| I can't imagine why someone would prefer that | 17:57 |
|
arw_
| norc: design like in "how does the data-storage-mechanism look" and derived from that things like how it will behave in certain environments. | 17:57 |
|
Tv
| norc: i think at this point you should be asking wikipedia.. | 17:57 |
|
tpope
| norc: use case 1: work on an airplane and actually keep track of your changes | 17:57 |
|
norc
| tpope: didnt know there was an article, didnt see it at first | 17:57 |
|
tpope
| norc: use case 2: two developers want to work together on some experimental stuff they don't want to put in trunk | 17:57 |
|
arw_
| norc: theres plenty | 17:57 |
|
tpope
| norc: use case 3: I want to work on a patch for a project I don't have commit access too, and it's complex enough that I want to manage history on that patch | 17:58 |
| ← kmap left | 17:58 |
| kmap_lab → kmap | 17:58 |
|
norc
| tpope, arw_, Tv: I think I get your points now | 17:59 |
|
| Ok, won't use SVN as there is no good way to coop with lighttpd here. | 18:02 |
| ← theCarpenter left | 18:03 |
| → desegnis joined | 18:03 |
| → sverrej joined | 18:06 |
| ← FunkeeMonk left | 18:08 |
| ← nessundorma left | 18:09 |
| → wastrel joined | 18:09 |
| ← kukks left | 18:11 |
| → kukks joined | 18:13 |
| → ironfroggy joined | 18:14 |
| → Pommes joined | 18:16 |
| ← vbgunz_ left | 18:25 |
| → sgrimm joined | 18:26 |
| → orospakr joined | 18:34 |
| → cedricv joined | 18:38 |
| ← cedricv left | 18:38 |
| ← HG` left | 18:48 |
| ← priidu_ left | 18:48 |
| → ruphy joined | 18:57 |
|
chris2
| how could i checkout a subdirectory at a different revision than the rest of the repo? | 18:57 |
|
Randal
| for the purposes of merging? | 18:58 |
|
chris2
| for the purposes of debugging, e.g. | 18:59 |
|
Randal
| git checkout SomeRevision path/to/top/of/tree | 19:00 |
|
| but you'll need to reset that before you commit | 19:00 |
|
chris2
| just read access | 19:00 |
|
| easy, nice. | 19:00 |
|
ruphy
| hello | 19:00 |
|
| chri2, have a look at git-bisect :-) | 19:00 |
|
Randal
| I *think* that shoould work | 19:00 |
|
ruphy
| I was updating a local repo with git-svn, but seems that I get stucked on a 'checksum mismatch' | 19:01 |
|
| and no idea on how to solve that :\ | 19:01 |
|
| the repo doesn't seem to have problems | 19:01 |
|
| and this is what I get: | 19:01 |
|
thiago_home
| backtrack one revision | 19:01 |
|
ruphy
| thiago_home: git-svn one revision? | 19:01 |
|
thiago_home
| no | 19:01 |
|
| git reset --hard last-rev-that-worked | 19:01 |
|
| then change the remote ref as well | 19:01 |
|
| and erase the rev_map file | 19:02 |
|
| git-svn will recover | 19:02 |
|
ruphy
| let me try | 19:02 |
|
| thiago_home: I should to the reset on the git-svn branch, right? | 19:02 |
|
| (I'm just trying with fetch for now) | 19:02 |
|
thiago_home
| no, reset your local branch | 19:03 |
|
| then update-ref the refs/remotes/git-svn ref | 19:03 |
|
ruphy
| thiago_home: what should I update it to? | 19:05 |
|
| git update-ref refs/remotes/git-svn [?] ? | 19:05 |
|
thiago_home
| to the last ref that worked | 19:06 |
|
| one before the one that git-svn complains about | 19:06 |
|
ruphy
| ok | 19:06 |
| → sverrej_ joined | 19:07 |
|
ruphy
| thiago_home: seems to work man, thanks :-) | 19:07 |
|
| thiago_home: I'll write a blog post, google tells nothing about that | 19:07 |
|
thiago_home
| ok :-) | 19:08 |
|
ruphy
| thiago_home: why is this needed? shouldn't just the update-ref work? [19:59:31] <thiago_home> git reset --hard last-rev-that-worked | 19:09 |
|
thiago_home
| you could do update-ref on refs/heads/master | 19:10 |
|
ruphy
| thiago_home: and, btw, I didn't erase the rev_map file because I couldn't find it :P | 19:10 |
|
thiago_home
| but that doesn't change your checkout | 19:10 |
|
| the rev-map file is in .git/svn/git-svn/.rev_map* | 19:10 |
|
| thiago_home is so glad git-svn switched to the map format instead of the old rev_db | 19:10 |
|
ruphy
| ah, here's still the old one... .rev_db | 19:11 |
|
thiago_home
| upgrade your git-svn | 19:12 |
|
| your rev_db is 29MB in size. | 19:12 |
|
ruphy
| yes | 19:12 |
|
thiago_home
| the rev-map is under a megabyte | 19:12 |
|
ruphy
| thiago_home: anyway, it should still work with a git-svn fetch... when git-svn fails with that error, it doesn't rebase the current branch | 19:12 |
|
| woo, neat | 19:12 |
|
| so just update-ref should work | 19:13 |
|
| anyway ;-) | 19:13 |
|
| thiago_home: you'll be in MV, right? | 19:13 |
|
thiago_home
| yep | 19:13 |
| → vbgunz_ joined | 19:14 |
|
ruphy
| thiago_home: ok, I'll draft it in the plane and I'll ask you to correct it there then ;-) | 19:15 |
|
thiago_home
| draft what? | 19:15 |
| ← MicahElliott left | 19:17 |
| ← sverrej left | 19:22 |
| ← sverrej_ left | 19:25 |
| → drizzd_ joined | 19:25 |
| → sverrej_ joined | 19:25 |
| → onnadi3 joined | 19:29 |
|
onnadi3
| Hello all. I'm new to the channell. Please tell me if there is anyone working on the one-click git port as I would like to ask some questions about it | 19:31 |
| ← tcoppi left | 19:32 |
| → reval joined | 19:35 |
| robfitz_ → robfitz | 19:36 |
| ← kukks left | 19:37 |
| → kukks joined | 19:38 |
| ← drizzd left | 19:40 |
| ← bdiego left | 19:53 |
| → vfe4t67yg joined | 19:55 |
| → tcoppi joined | 20:01 |
| ← neosun left | 20:05 |
| ← reval left | 20:05 |
| → tongueroo joined | 20:18 |
| ← desegnis left | 20:19 |
| → cartman joined | 20:22 |
| → theCarpenter joined | 20:30 |
| ← cartman left | 20:36 |
| ← vfe4t67yg left | 20:48 |
| ← Man-erg left | 20:59 |
| → nud joined | 21:04 |
| ← pombreda left | 21:06 |
| ← semi_ left | 21:15 |
| ← sverrej_ left | 21:15 |
| ← Pommes left | 21:20 |
| → dmlb2000 joined | 21:23 |
| → HG` joined | 21:26 |
| ← morphir left | 21:31 |
| → reval joined | 21:33 |
| ← chris2 left | 21:36 |
| → cartman joined | 21:38 |
| → robfitz_ joined | 21:42 |
| ← vbgunz_ left | 21:45 |
| ← orospakr left | 21:46 |
| ← aref left | 21:46 |
| ← robfitz left | 21:46 |
| → flaguy joined | 21:52 |
| ← flaguy left | 21:59 |
| → flaguy joined | 21:59 |
| ← tcoppi left | 22:06 |
| → tcoppi joined | 22:09 |
| ← Qarl left | 22:11 |
| → Qarl joined | 22:12 |
| → sverrej joined | 22:16 |
| ← ruphy left | 22:19 |
| → pergesu joined | 22:26 |
| → ruphy joined | 22:28 |
| → macournoyer joined | 22:30 |
| ← nud left | 22:35 |
| → desegnis joined | 22:38 |
| ← ironfroggy left | 22:48 |
| → ironfroggy joined | 22:49 |
| ← desegnis left | 22:52 |
| ← vintrepid left | 22:54 |
| ← Spyr1 left | 23:03 |
| → pmax joined | 23:07 |
|
pmax
| how do I undo a remote branch deletion? | 23:08 |
| → alp joined | 23:09 |
|
Tv
| pmax: do you have the branch locally? | 23:11 |
|
pmax
| I think so | 23:11 |
|
Tv
| pmax: just push it again | 23:12 |
|
pmax
| but I really don't know | 23:12 |
|
| how? | 23:12 |
|
Tv
| well git branch will tell | 23:12 |
|
robtaylor
| pmax: git branch to see | 23:12 |
|
pmax
| okay I see it here | 23:12 |
|
| how do I put it back? | 23:12 |
|
Tv
| git push REMOTE BRANCH:refs/heads/BRANCH | 23:13 |
|
pmax
| hm I think I got it | 23:13 |
|
| how do I check out a branch on the server? | 23:14 |
|
| I don't seem to have it locally | 23:14 |
|
| anything I've tried with git branch so far has failed | 23:15 |
|
Tv
| eh? | 23:15 |
|
pmax
| some guy has created a branch on the server | 23:15 |
|
Tv
| "check out a branch on the server" doesn't really mean anything | 23:15 |
|
pmax
| there is code on the git server that someone checked in | 23:15 |
|
| with a branch name | 23:15 |
|
| I want to get it | 23:15 |
|
Tv
| with default config, fetch will mirror remote branch foo to remotes/REMOTE/foo | 23:16 |
|
| remotes/origin/foo usually | 23:16 |
|
| if you want to create a local branch based on it, run git checkout -b foo remotes/origin/foo | 23:16 |
|
pmax
| actually I just want to do what I think is cherry pick | 23:16 |
|
| I want to merge one of those checkins into my branch | 23:16 |
|
| but it says I don't have that revision # | 23:16 |
|
| so I figured I don't have his branch somehow | 23:17 |
|
Tv
| are you *sure* you want cherry pick? | 23:17 |
|
| sounds like you just want git merge remotes/origin/foo | 23:17 |
|
pmax
| I want to put his fix into my branch | 23:17 |
|
| but his branch is based very far away from mine | 23:17 |
|
| I happen to know that his changes will merge cleanly however | 23:17 |
|
| git merge says "not something we can merge" | 23:18 |
|
Tv
| well do you see his branch in git branch -r | 23:18 |
|
pmax
| no git branch -r is blank | 23:18 |
|
Tv
| run git fetch | 23:18 |
|
pmax
| lots of error: no such remote ref .... | 23:19 |
|
| and then a fatal: Fetch failure | 23:19 |
|
Tv
| i wonder what you've done | 23:19 |
|
pmax
| me too | 23:19 |
| ← ruphy left | 23:19 |
|
Tv
| sounds like you've configured your git repo weirdly where defaults would have worked | 23:20 |
|
| pmax didn't configure anything but I guess that could be it | 23:20 |
|
pmax
| okay I checked out the whole thing all over again | 23:20 |
|
context
| ok so, i have a branch i accidently merged , and have sense checked in, i need to rebase this branch to remove the merge, and then rebase on top of that branch again | 23:20 |
|
pmax
| and git branch -r shows things fine | 23:20 |
|
| looks like my local checkout is screwed | 23:21 |
|
| so back to where I started | 23:23 |
| ← devogon left | 23:23 |
| → ruphy joined | 23:23 |
|
pmax
| how do I take this checkin in branch A and merge it into branch B? | 23:23 |
|
| I was told this is what cherry pick is | 23:23 |
|
| branch A branches from the mainline 2 months later than branch B did | 23:23 |
|
| so it's based on quite different code | 23:23 |
|
| but the patch will apply cleanly | 23:24 |
| → redondos_ joined | 23:24 |
| → devogon joined | 23:25 |
|
pmax
| when I run git cherry-pick A it seems to find the checkin and merge it | 23:26 |
|
| but then I can't push | 23:26 |
| ← zed_ left | 23:26 |
|
pmax
| it says "B is not a strict subset of local ref B. maybe you are not up-to-date and need to pull first?" | 23:26 |
| ← Qarl left | 23:27 |
| → Qarl joined | 23:27 |
|
pmax
| ah I have to pull and then push, but my old corrupt repo prevented it | 23:27 |
|
context
| hmm | 23:27 |
|
| ahh nm i figured it out :D WIN ! | 23:28 |
|
jengelh
| DOS. | 23:28 |
| ← Eludias left | 23:29 |
|
pergesu
| what's the difference between merge and rebase? | 23:34 |
| ← Pieter left | 23:34 |
|
arw_
| pergesu: i think that is a faq | 23:35 |
|
Tv
| pergesu: http://eagain.net/articles/git-for-computer-scientists/ | 23:35 |
|
jengelh
| eagain haha | 23:35 |
|
arw_
| http://metku.net/index.html?path=mods/loginoki/index_eng | 23:35 |
|
| ah, sorry | 23:35 |
|
Tv
| arw_: what are you, finnish? | 23:35 |
|
arw_
| http://git.or.cz/gitwiki/GitFaq#head-1168c3027a2b7060df8c5cf141756c8e0e33139c | 23:35 |
| ← redondos left | 23:36 |
|
arw_
| Tv: german | 23:36 |
| redondos_ → redondos | 23:36 |
|
Tv
| arw_: that domain is finnish | 23:36 |
|
context
| damnit ! | 23:36 |
|
| yeah im confused :/ | 23:36 |
|
arw_
| Tv: what domain? the first link? maybe, but thats just some random link from some random irc-channel :) | 23:36 |
|
pergesu
| arw_ and Tv: thanks, I'll check it out | 23:37 |
|
Tv
| arw_: metku = prank or something | 23:37 |
|
context
| YEY ! | 23:37 |
|
| nm i got it | 23:37 |
|
| rebase --onto is nifty | 23:37 |
| → Pieter joined | 23:37 |
| robfitz_ → robfitz | 23:38 |
|
context
| hmm | 23:38 |
|
| rebase duplicated commits :x | 23:41 |
|
| how boo | 23:41 |
| ← cartman left | 23:41 |
|
Tv
| context: try reading some documentation first next time | 23:42 |
| ← Dodji left | 23:43 |
|
Tv
| context: there is no way to edit git commits in any way without effectively creating new commits | 23:43 |
|
| context: the sha1 is a cryptographic hash of everything related to the commit | 23:43 |
|
| context: anything changes -> sha1 changes -> it's a new commit | 23:43 |
|
context
| tv: umm i know what im doing . | 23:43 |
|
| ive just never used rebase --onto before | 23:43 |
|
Tv
| context: all rebases | 23:44 |
|
context
| tv: im using git-svn and kinda borked un-dcommit'ed stuff with a merge | 23:44 |
|
| tv: i know! | 23:44 |
| → sverrej_ joined | 23:44 |
| ← sverrej left | 23:44 |
| YGingras_ → YGingras | 23:45 |
|
context
| just need to do a cherry-pick and reset hard now and il all done :D | 23:46 |
|
| there | 23:48 |
|
| all set good and done | 23:48 |
|
| tv: thats for the insperation and confidence | 23:48 |
|
| guh | 23:51 |
|
| git-svn is bugging me | 23:51 |
| → csc` joined | 23:55 |
|
context
| but i got everything fixed :D | 23:58 |