| 2008-11-30 |
| → EmilMedve joined | 00:03 |
| → johnw joined | 00:11 |
| → gambler joined | 00:11 |
| → quoin- joined | 00:11 |
| ← advany left | 00:12 |
|
corecode
| how do i start a new root? | 00:14 |
|
vmiklos
| git init, git add, git commit | 00:15 |
| ← quoin left | 00:17 |
| → loincloth joined | 00:21 |
| ← vbabiy left | 00:22 |
|
drizzd
| "git symbolic-ref <new-root>; git checkout new-root" I think | 00:22 |
|
bcessa
| ok, this is not working :/ thnx anyway , I'll keep looking for this one ;) | 00:22 |
|
| see ya' soon | 00:22 |
| ← bcessa left | 00:22 |
|
corecode
| drizzd: i don't have symbolic-ref | 00:24 |
| → Marmouset joined | 00:26 |
| → akitada joined | 00:27 |
|
drizzd
| corecode: you should. but what I said doesn't work anyways | 00:28 |
|
| I'm trying to figure out why | 00:28 |
|
| maybe that behavior was changed in newer git. in any case, you can create a new repo and pull from that | 00:30 |
| ← charon left | 00:30 |
| ← LiamH left | 00:31 |
| ← radarek left | 00:37 |
|
corecode
| oh bah | 00:38 |
|
cehteh
| git commit-tree plumbing | 00:44 |
| → icwiener joined | 00:47 |
| → bobmcw joined | 00:47 |
| → markelikalderon joined | 00:50 |
|
vmiklos
| drizzd: why isn't it easier to init a new repo, add, commit then git fetch /path/to/new master:foo? | 00:56 |
|
| symbolic-ref and other plumbing is for scripts | 00:57 |
|
argonel
| git status says "Not currently on any branch.", and git status says "* (no branch)" did i break something? | 00:58 |
|
RandalSchwartz
| what did you last use for "checkout" | 00:58 |
|
| I'm betting "not a branch" | 00:59 |
|
argonel
| ahh, yes. this is the one where i tried to git checkout git-svn | 01:01 |
|
| RandalSchwartz averts eyes at mention of svn | 01:02 |
|
argonel
| heh | 01:02 |
|
drizzd
| vmiklos: sure, you're right. I didn't immediately realize that's what you were suggesting to do. | 01:02 |
|
RandalSchwartz
| git-svn is like a flying car... which everyone wants, but fails miserably because it's not a very good car *or* airplane | 01:03 |
|
drizzd
| vmiklos: I'm still wondering why "git symbolic-ref <new-ref>" doesn't work any more, however. | 01:03 |
| ← jackdempsey left | 01:05 |
|
argonel
| oh, i was hoping it would get better once i learned more | 01:05 |
|
vmiklos
| drizzd: if you really want to use plumbing directly, then you need: | 01:07 |
|
| git symbolic-ref HEAD refs/heads/newbranch; rm .git/index; rm -rf *; copy your files in; git add; git commit | 01:08 |
|
| (untested) | 01:08 |
| ← name left | 01:10 |
| → jackdempsey joined | 01:11 |
| ← gasbag left | 01:11 |
| ← earcar left | 01:13 |
|
drizzd
| vmiklos: thanks | 01:19 |
| ← akitada left | 01:20 |
| ← litage left | 01:25 |
| ← scsiraider left | 01:27 |
|
argonel
| git branch outputs color properly, but git status does not. any ideas? | 01:28 |
| ← jackdempsey left | 01:28 |
| → hacim joined | 01:29 |
|
hacim
| i made a new tag, how do I 'push' that tag? I did git push, but it thinks everything is up to date | 01:29 |
|
| dur --tags | 01:29 |
|
argonel
| ahh, pager | 01:30 |
|
hacim
| what I want to ask is... how do I delete a tag from the remote? | 01:31 |
|
| I git tag -d <tag> locally, but to push that ? | 01:31 |
| → qrush joined | 01:33 |
|
hacim
| ah, I found it, i should just shutup now | 01:33 |
| ← hacim left | 01:33 |
|
bobmcw
| git push --tags | 01:33 |
| ← johnw left | 01:33 |
| → loinclot_ joined | 01:36 |
| → peeja joined | 01:38 |
| ← peeja left | 01:39 |
| → cartucho joined | 01:42 |
| ← lolage0 left | 01:50 |
| → mikeblack_ joined | 01:50 |
|
mikeblack_
| http://deine-nackte-weihnachtsfrau.net/?id=2667561 | 01:51 |
| → earcar joined | 01:51 |
| ← loincloth left | 01:52 |
| → davik joined | 01:52 |
| ← mikeblack_ left | 01:56 |
| ← kanru left | 01:56 |
| → kanru joined | 01:57 |
| → ashleyw joined | 01:59 |
| ← protorom left | 02:03 |
| ← Marmouset left | 02:04 |
|
cartucho
| Anyone here using git under cvs ? | 02:08 |
|
cehteh
| why would one do that :) | 02:09 |
|
drizzd
| I'm only using git over cvs | 02:12 |
| ← ph^ left | 02:12 |
|
cartucho
| drizzd: sorry I meant over | 02:15 |
| ← earcar left | 02:18 |
| ← Millow left | 02:21 |
| → peeja joined | 02:30 |
| ← Zimm left | 02:30 |
| → jeckel joined | 02:37 |
| drobbins|away → drobbins | 02:38 |
| ← icwiener left | 02:42 |
| → ceej joined | 02:44 |
| ← SRabbelier left | 02:44 |
| → synchris joined | 02:45 |
| ← ceej left | 02:48 |
| ← parasti left | 02:51 |
|
argonel
| i just found a bunch of merge conflicts that are clearly just deletions, should this really have to be resolved manually? | 02:52 |
|
offby1
| rerere | 02:54 |
| → mndoci joined | 02:55 |
| drobbins → drobbins|away | 02:57 |
| ← bobmcw left | 03:00 |
| ← peeja left | 03:01 |
| → hobodave joined | 03:01 |
| → peeja joined | 03:02 |
|
argonel
| drizzd: thanks, patch and then rebase worked a lot better | 03:03 |
| → Tametomo joined | 03:05 |
|
Tametomo
| Hello | 03:05 |
| → rtomayko joined | 03:06 |
| ← davik left | 03:07 |
| ← markelikalderon left | 03:07 |
| ← hobodave left | 03:11 |
|
dancor
| i have audio files that i sync to multiple computers. using rsync, if i rename one file it's kind of lame to have to transfer the whole file over the network again | 03:12 |
|
| but using git is probably overkill | 03:12 |
|
| any thought on this, or recommendation of something lighter-weight? | 03:12 |
|
cehteh
| rsync :) | 03:12 |
|
dancor
| cehteh: lol but it will retransefer the file on rename right | 03:13 |
|
| i could just make a "distributed rename" script.. | 03:14 |
|
cehteh
| -y, --fuzzy find similar file for basis if no dest file | 03:14 |
|
| man rsync | 03:14 |
|
dancor
| oh, sorry thanks | 03:14 |
|
cehteh
| i never tried that, just remembered that such an option exists | 03:14 |
|
cbreak
| git should do the job, but if you want to push | 03:15 |
|
| be aware of faq non-bare | 03:15 |
|
Gitbot
| cbreak: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare | 03:15 |
| → bwwww joined | 03:15 |
|
cehteh
| well and git isnt very well suited to hold big binary blobs | 03:16 |
|
Tametomo
| I've been trying to commit to a gitorious branch that was migrated recently from SVN. I'm the owner of the branch, but my commits haven't been going through to it. | 03:16 |
| ← rtomayko left | 03:17 |
|
Tametomo
| So far, I've got an ssh key, I put the public version up there, I've set my name and email through git config, and I've even signed a commit that I've made. | 03:17 |
|
| At the moment I think that maybe it could be my ssh key, as I can't determine any steps that could be going wrong. Any ideas? | 03:18 |
|
cbreak
| I would expect the big binary blobs in this case to not change | 03:18 |
|
| (unless your player adds/changes meta) | 03:19 |
| ← qrush left | 03:21 |
| → scsiraider joined | 03:22 |
| drobbins|away → drobbins | 03:22 |
| → qrush joined | 03:23 |
| ← |kukks| left | 03:24 |
| → quoin joined | 03:26 |
| ← charlenopires left | 03:32 |
| → niki joined | 03:32 |
| ← unreal left | 03:36 |
| → unreal___ joined | 03:36 |
| unreal___ → unreal | 03:38 |
| ← synchris left | 03:38 |
| ← quoin- left | 03:42 |
| → markelikalderon joined | 03:43 |
| → bobmcw joined | 03:50 |
| ← qrush left | 03:52 |
| ← bobmcw left | 03:56 |
| → qrush joined | 04:01 |
| ← elmex left | 04:01 |
| → elmex joined | 04:02 |
| ← Tametomo left | 04:03 |
|
dancor
| yeah rsync isn't really right either since i don't expect the files to change | 04:04 |
|
| i'll figure something out | 04:04 |
| ← qrush left | 04:07 |
| drobbins → drobbins|away | 04:10 |
| ← madewokherd left | 04:10 |
| ← Niamor left | 04:13 |
| → NiaGhost joined | 04:13 |
| NiaGhost → Niamor | 04:14 |
| → vbabiy joined | 04:15 |
| drobbins|away → drobbins | 04:18 |
| → qrush joined | 04:22 |
| ← qrush left | 04:26 |
| ← jmspeex left | 04:28 |
| → qrush joined | 04:28 |
| → jmspeex joined | 04:30 |
| ← jeckel left | 04:31 |
| → litage joined | 04:33 |
| → mediogre joined | 04:39 |
| ← mediogre left | 04:39 |
| ← markelikalderon left | 04:40 |
| → Flathead joined | 04:44 |
| → gitfoo joined | 04:48 |
|
gitfoo
| hi | 04:48 |
|
| if I work with other people on the same repository, I should never use git rebase master for my feature branches, right? I should do git pull . master instead, or is it ok ot rebase? in this case why? | 04:50 |
| → ciaran joined | 04:50 |
|
ciaran
| Hi, I'm trying to get a git-svn clone of a subdir of an svn repository, but also have a branch of that dir available. Could anyone help me with the correct syntax for the clone command for this task? | 04:51 |
|
| I've tried: git svn clone --prefix=svn/ http://svn.textmate.org/trunk/Bundles/PHP.tmbundle --branches=http://svn.textmate.org/branches/*/Bundles/PHP.tmbundle # which appears to clone ok, but I'm not able to dcommit afterwards (i get a perl error from the git-svn script) | 04:51 |
| ← Kangou left | 04:52 |
| → Kangou joined | 04:52 |
|
offby1
| is it OK to use a * in the --branches argument? | 04:53 |
|
| dunno that I've ever seen that done | 04:53 |
|
| you might try spelling each of those branches out | 04:53 |
|
ciaran
| there is just one branch | 04:55 |
|
offby1
| then spelling them out ought to be easy :) | 04:55 |
|
ciaran
| Pieter gave me that, not really sure where it came from but I noticed that a normal git-svn clone uses branches = branches/*:refs/remotes/* | 04:55 |
|
| giving the full path was what I tried first, but IIRC the clone failed | 04:56 |
|
| let me try again | 04:56 |
|
| oh wait, now I see what he was doing | 04:56 |
|
| yeah, I think the * will be necessary | 04:56 |
|
| if I give the full path to the single branch, it will think that is the directory containing the list of branches | 04:57 |
| → madewokherd joined | 04:58 |
| ← litage left | 05:02 |
| → Tamesolo joined | 05:02 |
|
Tamesolo
| Is there an easy way to cherry pick across separate branches? | 05:03 |
| ← jas4711 left | 05:03 |
|
Tamesolo
| I don't want to pull from the mainline branch, but one of its other branches | 05:03 |
| ← peeja left | 05:04 |
| → jas4711 joined | 05:04 |
|
Tamesolo
| Alright, a harder approach will work as well. Just trying to figure out how to do it | 05:04 |
|
offby1
| ? | 05:05 |
|
Tamesolo
| Well, I'm trying to figure out the cherry pick command a little bit. | 05:06 |
|
| I know a commit that I'd like to cherry pick, but it isn't completely clear to me how I'm supposed to get it. I tried the commit's sha1sum, but it didn't work. | 05:07 |
|
| git cherry-pick b4b6187aaa21e702bac7c9562b449c5de50e5460 | 05:08 |
|
| That's likely wrong | 05:08 |
| → muthu_ joined | 05:08 |
|
Tamesolo
| I'll talk with that branch master in a bit, but I also can't clone that branch. Apparently, it has a broken head at the moment. | 05:09 |
|
| Don't know if that helps | 05:09 |
|
| I'm curious if I can add it as a branch to my .git/config file. And if so, then how would I approach that locally? | 05:13 |
|
| I probably need another remote as well, I'd think. | 05:14 |
|
offby1
| what made you think that "git cherry-pick b4b6187aaa21e702bac7c9562b449c5de50e5460" didn't work? | 05:16 |
|
| i.e., what did you see, and how did it differ from what you expected to see? | 05:17 |
|
Tamesolo
| One sec while I try it again. I'm testing something else at the moment. | 05:17 |
|
| fatal: Could not find b4b6187aaa21e702bac7c9562b449c5de50e5460 | 05:18 |
|
| That's what I see. However, that's the sha1 for the specific commit I'm looking for. | 05:18 |
|
offby1
| oh. | 05:19 |
|
| that would indeed not be what you wanted :) | 05:19 |
|
Tamesolo
| Like I said, I can't clone the branch as well because it says that there's a broken head. | 05:19 |
|
offby1
| but it sounds to me like it _isn't_ the SHA1 of any commit in your repository. Are you certain that it is? | 05:19 |
|
| i.e., what does "git show b4b6187aaa21e702bac7c9562b449c5de50e5460" say? | 05:19 |
|
| if that craps out too, then either you're confused, or git is quite remarkably broken. | 05:20 |
|
| no offense but my money is on the former option :) | 05:20 |
|
Tamesolo
| Yeah, I'm sure that it's me being confused. That's why I asked here. | 05:20 |
|
offby1
| so ... tell me what makes you think that's the SHA1 you want. | 05:21 |
|
Tamesolo
| http://gitorious.org/projects/tmw/repos/eathena/commits/b4b6187aaa21e702bac7c9562b449c5de50e5460 | 05:21 |
|
offby1
| well, that's a web page. | 05:22 |
|
| I'm assuming you've attempted to clone the repository to which that page points. | 05:22 |
|
Tamesolo
| Yeah, but the git info is there. | 05:22 |
|
| Yeah. | 05:22 |
|
| Like I said, it's got a broken head. | 05:22 |
|
| And since I'm the project head over a fork of it, I don't have access to their resources. | 05:23 |
|
| However, both of us decided to move to git recently. | 05:23 |
|
offby1
| lemme try "git clone git://gitorious.org/tmw/eathena.git"; see where that gets me | 05:23 |
|
Tamesolo
| Most of the reason is that we both do a lot of commits that could be beneficial to each project, but we don't have the same goals. | 05:24 |
| drobbins → drobbins|away | 05:24 |
|
Tamesolo
| They're developing their own server, while we're trying to better utilize a different server. | 05:24 |
|
offby1
| have you tried "git show b4b6187aaa21e702bac7c9562b449c5de50e5460"? Works for me. | 05:24 |
|
| ah, interesting. | 05:25 |
|
| I typed "git branch" and got no output at all. | 05:25 |
|
Tamesolo
| fatal: bad object b4b6187aaa21e702bac7c9562b449c5de50e5460 | 05:25 |
|
| That's what I get. | 05:25 |
|
offby1
| oh, well, your repository may be screwed up. How'd you get your repository? | 05:25 |
|
Tamesolo
| I can't appear to clone theirs. | 05:25 |
|
offby1
| I did the "git clone" command I entered above. | 05:25 |
|
Tamesolo
| Their project head helped me in getting a clone up, since we lost some of our information early on. | 05:26 |
|
offby1
| *shrug* | 05:26 |
|
| Do you remember exactly what you typed? | 05:26 |
|
| If not, you might just try cloning again, using the command I used; it seemed to work. | 05:27 |
|
Tamesolo
| git clone git://gitorious.org/tmw/eathena.git git/tmwclient | 05:27 |
|
| I have my clone that contains our project code in git/client | 05:27 |
| drobbins|away → drobbins | 05:29 |
|
offby1
| are you saying you have two repositories? | 05:29 |
|
Tamesolo
| No. My repository is a clone of theirs that branched off about 9 months+ ago | 05:30 |
|
offby1
| ah. | 05:30 |
|
Tamesolo
| We never shared repos before this. | 05:30 |
|
offby1
| well, that object -- b4b6187aaa21e702bac7c9562b449c5de50e5460 -- is a very recent commit, so it's no surprise your repository doesn't have it. I assume you're trying to cherry-pick it? | 05:30 |
|
Tamesolo
| yeah | 05:31 |
|
offby1
| can I clone your repository in git/client? | 05:31 |
|
Tamesolo
| I could do it manually without cherry picking, but I'd like to at least try to do it properly. | 05:31 |
|
offby1
| sure. | 05:31 |
|
Tamesolo
| Also, if the other project head has some troubles cherry picking from us as well, I'd like to let him know how to do it as well, for being nice enough to help us out. | 05:32 |
|
| http://gitorious.org/projects/tmw/repos/aethyra | 05:32 |
|
| Actually, here, I'll change my nickname to what it really is. We were having a little fun with star wars humor a bit on my channel. | 05:33 |
| Tamesolo → Tametomo | 05:33 |
|
offby1
| goes over my head :) | 05:34 |
|
Tametomo
| Han solo | 05:34 |
|
offby1
| fatal: http://gitorious.org/projects/tmw/repository/aethyra/info/refs not found: did you run git update-server-info on the server? | 05:34 |
|
Tametomo
| hmm... I can try that. | 05:34 |
| ← EmilMedve left | 05:35 |
|
Tametomo
| returned with nothing straight off the bat. | 05:35 |
|
offby1
| :-( | 05:36 |
|
| if it's small, you could zip up the .git dir and put it somewhere | 05:36 |
|
Tametomo
| Wait, did you try cloning it from git://gitorious.org/tmw/aethyra.git ? | 05:37 |
|
| I can't clone their repo, and you apparently are having trouble cloning mine, I'm assuming. | 05:37 |
|
| Meh, it's not too bad. | 05:38 |
|
offby1
| I tried cloning http://gitorious.org/projects/tmw/repository/aethyra, which I assume is the HTTP version of the same thing. | 05:38 |
|
| git://gitorious.org/tmw/aethyra.git is working gine. | 05:39 |
|
| fine | 05:39 |
|
Tametomo
| Still had the same problem with pulling theirs. | 05:40 |
|
| Well, after gziping my .git and deleting it temporarily. | 05:40 |
|
| Maybe it'd help to have the clone name and the directory's name the same. I'm trying that now. | 05:41 |
|
| Nope, same problem. | 05:42 |
|
offby1
| I think I got it working. | 05:42 |
|
| Hold on; I'll paste a transcript | 05:42 |
| ← ashleyw left | 05:42 |
|
offby1
| Tametomo: take a look at http://paste.lisp.org/display/71250 | 05:45 |
|
| the key is that I added the old repository -- eathena -- as a remote to the new one. | 05:45 |
| → xinming_ joined | 05:46 |
|
Tametomo
| Yeah, but I still can't clone it. | 05:46 |
|
| Well, I'll try cloning it again. | 05:46 |
|
| I'm going to try again. | 05:47 |
|
offby1
| weird; worked fine for me. | 05:47 |
|
Tametomo
| Well, maybe I can delete my branch and clone it again. | 05:47 |
|
offby1
| those are two strange statements to put together. | 05:48 |
|
| did you mean "delete my _repository_ and clone it again" ? | 05:48 |
|
Tametomo
| yeah | 05:48 |
|
| However, in order to do commits, I need to use the pull address, not the clone address. | 05:49 |
|
offby1
| what on Earth does that mean? | 05:49 |
|
| do you mean you can't push to http? If so, that's normal | 05:49 |
|
Tametomo
| sorry pull | 05:49 |
| ← vbabiy left | 05:49 |
| ← madewokherd left | 05:50 |
|
Tametomo
| no, I was right. Still getting used to this. | 05:50 |
|
| I'm used to SVN, so this is going to take a little bit to get used to. | 05:50 |
|
offby1
| :) | 05:50 |
| → Arafangion joined | 05:50 |
|
offby1
| I came to git from SVN too. | 05:50 |
|
Tametomo
| [email@hidden.address] | 05:50 |
|
offby1
| Ain't looked back since! | 05:50 |
|
| that's a weird URL -- no / after the :. | 05:50 |
|
Tametomo
| That's what I need to use instead of git://gitorious.org/tmw/aethyra.git | 05:50 |
|
offby1
| Not even sure if it's legal | 05:50 |
|
Arafangion
| offby1: I've come from Perforce. :) | 05:50 |
|
offby1
| aaah | 05:51 |
|
| Tametomo: yeah, "git@gitorious.org:tmw/aethyra.git" is for authorized people to push to, right? | 05:51 |
|
Tametomo
| Yup | 05:51 |
|
| Bah! I tried pulling it to a completely different directory, and I still couldn't pull. | 05:52 |
|
| Maybe I'll try the http address. | 05:52 |
| → rubydiamond joined | 05:52 |
|
Tametomo
| HTTP didn't work | 05:53 |
|
| Well, I'll delete my local copy, and then try to reload them again. | 05:53 |
|
| Their repo still won't pull for me :( | 05:54 |
|
offby1
| at works I could put my repository up somewhere, let you download it | 05:55 |
| ← xinming left | 05:55 |
|
offby1
| s/works/worst/ | 05:55 |
|
Tametomo
| Well, I don't see why it'd succeed for you, but fail for me. I'd expect consistency among different people. | 05:57 |
|
| Initialized empty Git repository in /home/shogun/git/eathena/.git/ | 05:58 |
|
| remote: Counting objects: 18631, done. | 05:58 |
|
| remote: Compressing objects: 100% (4404/4404), done. | 05:58 |
|
| remote: Total 18631 (delta 14858), reused 17823 (delta 14146) | 05:58 |
|
| Receiving objects: 100% (18631/18631), 5.42 MiB | 105 KiB/s, done. | 05:58 |
|
| Resolving deltas: 100% (14858/14858), done. | 05:58 |
|
| warning: remote HEAD refers to nonexistent ref, unable to checkout. | 05:58 |
|
| There's what I get. | 05:58 |
|
offby1
| golly | 05:58 |
|
| what version of git are you using? | 05:58 |
|
Tametomo
| 1.5.6.3 | 05:59 |
|
offby1
| I wonder if the repository is a little unusual, but still legit; perhaps my recent version of git deals with it better than yours | 05:59 |
| → jeckel joined | 05:59 |
|
Tametomo
| It's the most recent one in the Ubuntu repos. | 05:59 |
|
| gitorious uses 1.5.4.4 | 05:59 |
|
| In any case, I'll probably ditch Ubuntu again. It's an unstable environment for me at the moment, as I'm seeing errors in stable that I've never seen outside of their alphas. | 06:00 |
|
offby1
| really? | 06:01 |
|
Tametomo
| Personally, I like Sabayon | 06:01 |
|
offby1
| It's all I use and it seems pretty statble | 06:01 |
|
| of course it interferes with my spelling :-| | 06:01 |
|
Arafangion
| offby1: It'll do more than that if you're not careful. ;) | 06:01 |
|
Tametomo
| Yeah, for me x-session-manager changes its waiting channel to 0 approximately every 6 hours. | 06:01 |
|
| On doing that, I can't launch any new programs, and the ones that are open have some quirks. | 06:02 |
|
offby1
| kwazee | 06:02 |
|
Tametomo
| Very frustrating for me when it happens and I'm in the middle of a code change. | 06:02 |
|
offby1
| anyway, you might try checking out and building git itself; it's quite easy. | 06:02 |
|
| That might get you going; that's the only difference I can think of between your setup and mine. | 06:02 |
|
Tametomo
| Sure I can finish it up if I have it open, but I don't dare close my text editor. | 06:03 |
|
| Well, I might set up Sabayon again. | 06:03 |
|
| I only switched back because the package versions in sabayon when I was using it a few weeks ago were rather dated. | 06:04 |
|
offby1
| The stuff I really care about, I tend to build from source | 06:04 |
|
Tametomo
| Well, that's what I liked about Sabayon. It'd let me compile from source when I wanted to do something different than the defaults, and provide binaries otherwise. | 06:05 |
|
| So it helped save on some time. | 06:06 |
|
| I just got tired of most of my packages being fairly out of date. | 06:06 |
|
Arafangion
| Tametomo: All systems allow that, though some have a better setup by _default_. | 06:06 |
|
Tametomo
| Well, I'd do it through emerge. | 06:06 |
|
| Since Sabayon is related to gentoo, it still keeps the gentoo niceties. | 06:07 |
|
Arafangion
| I prefer OpenBSD's ports to Gentoo's emerge, strangly. | 06:07 |
| ← mndoci left | 06:09 |
|
Tametomo
| Well, I've learned that I still have a bit to learn about gentoo and emerge from that. | 06:09 |
|
| I really don't like its default setup (Sabayon) and the first thing that I do is to clear out most of the packages. There's a lot of bloat by default, IMO. | 06:10 |
|
| Still getting the same error with the most up to date version of git. | 06:21 |
|
| Yeah, I know, impossible, but it's still occurring anyways. | 06:21 |
|
| I personally hate errors like these. | 06:22 |
| ← jeckel left | 06:23 |
|
offby1
| you do? What are you, weird? The rest of us love 'em. | 06:23 |
|
| :-| | 06:24 |
|
| no clue. | 06:24 |
|
Tametomo
| Yeah, I thought as much. Well, I'll tinker with it a bit more and see if I can get it somehow. | 06:25 |
| → jeckel joined | 06:29 |
| → akitada joined | 06:41 |
|
Tametomo
| BTW, thanks for the help that I did get. | 06:41 |
| ← Tametomo left | 06:41 |
| → ijcd joined | 06:47 |
|
Arafangion
| My goodness, p4's disk useage is sooo expensive compared to git. | 06:48 |
|
| My git repo, with history (rather small as it is, as it's new), takes 2.3MB, including the .git, and including the perforce repo which it contains. (Don't ask). That perforce repo, on the other hand, contains the same git repo (but not the perforce repo), and within perforce, it's branched three times (with no history, and no edits). | 06:49 |
|
| Yet that perforce repo is 1.9M! Yikes. | 06:49 |
|
| (Which means that git, with full history, is taking up 0.4M) | 06:50 |
| → tstellar joined | 06:53 |
|
tstellar
| What merge strategy can I use if I want to merge two files, but manually resolve all the differences? | 06:54 |
|
Arafangion
| tstellar: Do the merge, then modify the commit. | 06:55 |
|
| Arafangion is new to this, be warned. | 06:56 |
| → rtomayko joined | 06:56 |
| ← rubydiamond left | 06:56 |
|
tstellar
| Arafangion: What do you mean by modify the commit? | 06:57 |
|
Arafangion
| Just that, make the merge, then make the changes you wanted, but --amend the merge commit. | 06:58 |
| ← gitfoo left | 06:58 |
|
tstellar
| Arafangion: Will doing the original merge auto resolve some of the differences? | 07:01 |
|
Arafangion
| tstellar: Yes. | 07:02 |
|
| tstellar: But you can still explicitly diff the originals via sha1's. | 07:02 |
|
offby1
| you can also do "git merge --no-commit", which leaves the uncommitted file there for you to fiddle with | 07:04 |
|
tstellar
| I guess what I am looking for is a way to do a merge that does not auto resolve the differences. | 07:04 |
|
Arafangion
| tstellar: Who cares about the autoresolve, given that you can blow THOSE changes away. | 07:05 |
| ← jm left | 07:08 |
| ← bwwww left | 07:08 |
| → mahmoud2 joined | 07:10 |
|
tstellar
| Arafangion: After I blow away the autoresovle changes, won't I be back to where I was before the merge? | 07:13 |
| → ijcd_ joined | 07:14 |
|
Arafangion
| tstellar: Just give it a go. | 07:18 |
|
tstellar
| Arafangion: Ok, I'll try it and see what happens, thanks. | 07:19 |
| ← tstellar left | 07:19 |
|
| Arafangion wonders why some people can literally only do one task at a time. | 07:20 |
| → quoin- joined | 07:23 |
| → vbabiy joined | 07:29 |
| ← mdeicaza left | 07:29 |
| → wiebersk joined | 07:30 |
| ← ijcd left | 07:32 |
| → machrider joined | 07:33 |
|
machrider
| switching from svn to git, is there anything i should know other than the appropriate git svn init and fetch commands? | 07:36 |
|
| i'd like to create a git repository that has all our history, but ideally no extra svn cruft (i'm not even sure if this is a valid concern) | 07:37 |
| ← quoin left | 07:39 |
|
mugwump
| machrider: you might want to use --no-metadata | 07:50 |
|
| I wrote an essay on it if you want, utsl.gen.nz/talks/git-svn/intro.html | 07:51 |
| ← pygi left | 07:52 |
| → tstellar joined | 07:52 |
|
machrider
| mugwump: funny, that page doesn't mention --no-metadata | 07:52 |
|
mugwump
| that's a page on using git-svn | 07:53 |
| → Weaselweb joined | 07:53 |
|
mugwump
| I guess I didn't write about stripping the metadata, I guess most people prefer it to stay around to remind people that the commit was made in svn | 07:53 |
| → ben_h joined | 07:54 |
| → redii joined | 07:54 |
|
machrider
| i'm ok with harmless metadata, but i didn't know if the conversion would leave me with an "unusual" git repository | 07:54 |
| ← wiebersk left | 07:54 |
|
mugwump
| you get a .git/svn directory in the one you run git-svn in | 07:55 |
|
| but that doesn't get copied by git clone; so clones are "clean" | 07:55 |
|
machrider
| that's cool, then :) | 07:55 |
| ← tstellar left | 07:58 |
| ← ben_h left | 07:58 |
| ← vbabiy left | 07:59 |
| → ben_h joined | 08:01 |
| ← ben_h left | 08:03 |
| → ben_h joined | 08:04 |
|
machrider
| is ssh or git-daemon preferred for hosting? | 08:04 |
|
| in my quick tests via ssh, i'm noticing permissions are going to be troublesome (with multiple users having commit access) | 08:05 |
| ← ben_h left | 08:06 |
|
lordpil
| use gitosis | 08:07 |
| → ben_h joined | 08:09 |
|
redii
| Hello....I'm looking for recommendations/links for the best practical way to host a git repo on my macbook. I'm running a linux vm for it now which is a little convoluted to push from my mac to the vm so another user can get pull. Any ideas/links on current best practices? | 08:10 |
|
machrider
| lordpil: i'm supposed to clone gitosis's repository? | 08:11 |
|
| they don't make stable releases? | 08:11 |
|
| let me ask a better question: how does repo.or.cz or github.com host their repositories? | 08:12 |
|
| i don't want to be bleeding edge, i want to be stable | 08:12 |
|
lordpil
| that's the idea | 08:12 |
|
manveru
| stable releases are sooo 2008 | 08:12 |
|
| machrider checks his watch | 08:13 |
|
manveru
| machrider: they didn't push any changes since september, i'd consider it stable :) | 08:14 |
|
| and there are even release tags | 08:14 |
|
| but they are over a year ago | 08:15 |
|
machrider
| is gitosis what "everybody" uses? | 08:15 |
|
mugwump
| there's also gitorious and repo | 08:15 |
|
manveru
| or you can do it all by hand | 08:15 |
|
mugwump
| I think many people are lazy and just ue github :) | 08:15 |
|
| manveru is lazy | 08:16 |
|
offby1
| lazy++ | 08:16 |
|
| machrider is not lazy, and wants to get it right | 08:16 |
|
machrider
| (but doesn't want to use someone else's host) | 08:17 |
|
manveru
| you're no programmer, eh :) | 08:17 |
|
offby1
| if only one other person will pull, just create an account for them and let them use git:// over ssh | 08:17 |
|
| use git-shell if you don't trust them :) | 08:17 |
|
machrider
| multiple people will have read/write access | 08:17 |
|
offby1
| ah. | 08:17 |
|
lordpil
| i never got gitosis working actually | 08:18 |
|
offby1
| I _think_ git shell and SSH will still work in that setup too | 08:18 |
|
lordpil
| it's on my list | 08:18 |
|
machrider
| lordpil: hahahahahaha thank you | 08:18 |
|
lordpil
| but i'm still working convincing folks that clearcase is a dead end, so i'm not in a huge hurry | 08:18 |
| → xinming joined | 08:18 |
| ← bobesponja left | 08:18 |
|
| manveru just adds contributors to authorized_keys | 08:18 |
|
machrider
| i actually prefer the ssh solution, let me see what git shell is all about. | 08:18 |
|
lordpil
| machrider just come back when the guy who wrote it is here | 08:18 |
|
offby1
| it's just an ultra-simple shell that only lets you run one or two git commands. | 08:19 |
|
manveru
| so your repo has a home and user | 08:19 |
|
| and the git-shell acts as jail | 08:19 |
|
machrider
| oh, so everyone uses the same user account? | 08:19 |
|
offby1
| ayup | 08:19 |
|
manveru
| yeah | 08:19 |
|
machrider
| can you still tell who committed what? | 08:19 |
|
manveru
| [email@hidden.address] | 08:19 |
|
offby1
| and they all know the password, or have the same ~/.ssh/id_dsa | 08:19 |
|
manveru
| machrider: yeah | 08:20 |
|
offby1
| machrider: I assume you can tell. That info comes in with the commit. | 08:20 |
|
| machrider: sounds like you're used to Subversion | 08:20 |
|
lordpil
| if you're mischeivious you could forge your commit! | 08:20 |
|
machrider
| yes, i am. | 08:20 |
|
| we're currently using svn, and we currently have user accounts on the system | 08:20 |
|
lordpil
| then Bob will get fired instead of you | 08:20 |
|
manveru
| if you're paranoid you can require people to sign them :) | 08:20 |
|
offby1
| yeah, Subversion uses the user ID of the person logged in as the committer. | 08:20 |
|
machrider
| lordpil: freaky, bob is the other guy working on this. | 08:20 |
|
offby1
| it's like he reads your mind. | 08:21 |
|
lordpil
| well i was debating between Bob and Muhammed. i got lucky | 08:21 |
|
machrider
| well, i'd like to keep security at a user-level | 08:21 |
|
| rather than a shared secret | 08:21 |
|
| is that possible? | 08:21 |
|
| (i know it is, because github works that way) | 08:21 |
|
lordpil
| well then you know the answer is yes | 08:21 |
|
machrider
| question is how | 08:22 |
|
lordpil
| security isn't really my thing | 08:22 |
|
| my root password is root | 08:22 |
| ← akitada left | 08:26 |
| → akitada joined | 08:27 |
| → clairvy joined | 08:27 |
| ← akitada left | 08:28 |
| → akitada joined | 08:29 |
|
mugwump
| ssh -v [email@hidden.address] | 08:29 |
|
| sorry ww | 08:29 |
|
lordpil
| nat is the only thing that saves me | 08:29 |
|
mugwump
| :) | 08:30 |
|
redii
| macrider, i'm looking for that same answer (secure transport, no shared secrets)...googling now in parallel | 08:34 |
| ← xinming_ left | 08:34 |
| → scientes joined | 08:37 |
| ← akitada left | 08:37 |
|
offby1
| just curious: what's wrong with making a new account, installing git-shell, and giving all your collaborators the password? | 08:37 |
| → akitada joined | 08:37 |
| ← jeckel left | 08:37 |
|
offby1
| I've never done it, but it wouldn't frighten me: I've read the source for git-shell, and it's so simple I genuinely believe it's safe | 08:37 |
| ← loinclot_ left | 08:38 |
|
machrider
| i don't know, i just think of shared secrets as primitive | 08:38 |
|
| if i fire someone, i have to change it and tell everyone | 08:38 |
|
| etc. | 08:38 |
|
lordpil
| no you don't | 08:38 |
|
| learn apathy. | 08:38 |
|
redii
| non-repudiation probably only thing i guess | 08:39 |
|
| and temp access as machrider mentions | 08:39 |
|
| giving temp access means have to have everyone change secrets | 08:40 |
| → tritz joined | 08:40 |
|
machrider
| i think, you could put everyone's public key into the git user's authorized_keys file | 08:40 |
|
| then you would bypass the shared secret problem. | 08:40 |
|
| (and you have the more minor problem of maintaining that file) | 08:40 |
| → wanders joined | 08:41 |
| → drizzd_ joined | 08:41 |
|
redii
| hmmm...true...thinking | 08:42 |
| ← sgrimm left | 08:45 |
|
redii
| guess that's the easiest way...shared secret and ssh key authentication and git-shell shared authorization | 08:45 |
|
machrider
| i'm surprised there's no obviously good answer | 08:46 |
| → DrFrasierCrane joined | 08:46 |
|
redii
| yeah...this is seems a little too hackish at first...it's growing on me though...just smoke the key and he's gone... | 08:48 |
| → loincloth joined | 08:49 |
|
machrider
| i'm gonna play with gitosis and see what i think. | 08:49 |
|
redii
| yes, likewise | 08:49 |
| → clairvy__ joined | 08:49 |
|
redii
| bought the prag prog git book tonight...just for this recommendation...there hosting recommendation is gitosis essentially | 08:50 |
|
| there -> their | 08:51 |
|
| nite guys | 08:53 |
|
machrider
| later, good luck | 08:53 |
| ← clairvy left | 08:56 |
| → ph^ joined | 08:58 |
|
machrider
| ok, gitosis implements basically the solution i just described | 08:59 |
|
| a single git user with authorized_keys | 08:59 |
|
| but the keys are managed via an administrative git repository | 08:59 |
|
| which is pretty useful. | 08:59 |
| ← drizzd left | 09:00 |
|
corecode
| ola | 09:00 |
|
| anybody have an idea how i could create a new, empty branch in git? | 09:01 |
|
tritz
| corecode: http://book.git-scm.com/5_creating_new_empty_branches.html | 09:01 |
|
corecode
| i don't even have symbolic-ref | 09:03 |
|
| mugwump suggests git-rm * instead of rm .git/index; git clean | 09:03 |
|
corecode
| oh now i have? | 09:03 |
|
mugwump
| that subcommand probably doesn't tab-complete | 09:03 |
|
corecode
| i tried yesterday night and i didn't have it :) | 09:03 |
|
mugwump
| it's plumbing | 09:03 |
|
corecode
| oh well, thanks | 09:03 |
|
mugwump
| it's been around since forever | 09:03 |
|
| 0.99.8 | 09:04 |
|
corecode
| now i need to rewrite the post-receive-email hook to send out separate mails for every change | 09:05 |
|
mugwump
| yeah, I've wanted that before too | 09:05 |
|
corecode
| not sure what to do with merges | 09:05 |
| → mixandgo joined | 09:06 |
|
mixandgo
| hello, how do I add a the http://github.com/technoweenie/restful-authentication/tree/master plugin to my rails project and the commit it to the git repo ? I need it to be committed with the project. I have tried a few times but it's ignored by git. | 09:07 |
|
mugwump
| corecode: start with git-log -1 -m --stat $commit | 09:13 |
|
corecode
| mugwump: i think i'll take andy parkins' script as a start | 09:13 |
|
| it does wicked rev/merge compression | 09:13 |
|
mugwump
| ah yep... where's that ? | 09:13 |
|
corecode
| contrib/ | 09:14 |
|
mugwump
| hmm, interesting | 09:15 |
|
| might look at that myself too | 09:15 |
|
| mugwump still wants one that is git-patch-id aware | 09:16 |
|
corecode
| what's a patch id? | 09:16 |
| ← CodeOfficer left | 09:17 |
|
Arafangion
| corecode: See the man page. | 09:20 |
|
mugwump
| it's the sha1 of the diff output, essentially | 09:20 |
|
corecode
| oh | 09:20 |
|
| that's not so good | 09:20 |
|
| you won't see the same patch applied twice | 09:20 |
|
| or applied to different branches | 09:20 |
|
mugwump
| I just don't want the same diffs twice | 09:21 |
|
| you can still notify that the change happened, just say "same as commit BLAH" | 09:21 |
|
| or even set the References: header so that the e-mail client threads changes on the same branch | 09:22 |
|
| er | 09:22 |
|
| I mean, the change as it gets cherry picked | 09:22 |
| → ijcd joined | 09:24 |
|
machrider
| ok, cloning my svn tree with --bare causes only the master to be preserved | 09:25 |
|
| is there a way to clone all the branches? | 09:25 |
|
| (without remote tracking references) | 09:25 |
|
mugwump
| you need to use all the --trunk --branches etc options | 09:25 |
|
| you should be able to re-run git-svn init and git-svn fetch | 09:25 |
|
machrider
| i used the stdlayout one | 09:25 |
|
mugwump
| right | 09:25 |
|
| does 'git-branch -a' show them? | 09:26 |
|
machrider
| no, just master | 09:26 |
|
| i did a two step clone, as described here: http://www.ruby-forum.com/topic/154892 | 09:26 |
|
| the first one (done by git-svn) has all the branches | 09:26 |
| ← mixandgo left | 09:26 |
|
machrider
| the second one only has master | 09:26 |
|
mugwump
| yeah. all the refs/remotes/* need to become refs/heads/* | 09:27 |
|
machrider
| i see | 09:27 |
|
mugwump
| I sometimes just go ln -s ../remotes .git/refs/heads/svn | 09:28 |
|
| then you at least see all the git-svn heads as refs/heads/svn/* | 09:28 |
|
| otherwise you can push them to the publishing repo with git push blah refs/remotes/*:refs/heads/svn/* | 09:28 |
|
machrider
| what if i just cp them, in the interim repository? | 09:29 |
|
| before the 2nd clone | 09:29 |
|
mugwump
| yeah that works too | 09:29 |
|
| or if you run 'git pack-refs' first you can search and replace on .git/packed-refs | 09:29 |
|
| git's refs system is quite simple :) | 09:30 |
|
| often described as commit post-it notes | 09:30 |
|
machrider
| yeah, it's very cool | 09:31 |
|
| thanks mugwump, that helped | 09:31 |
|
mugwump
| no worries | 09:31 |
| xyzzy_ → xyzzy42 | 09:31 |
| → cilly joined | 09:32 |
| → quoin joined | 09:34 |
| → Ademan joined | 09:36 |
| ← quoin- left | 09:37 |
| ← ijcd_ left | 09:40 |
|
machrider
| is it normal for gitk to show "local uncommitted changes" when viewing a bare repository? | 09:40 |
| → aboodman joined | 09:42 |
| → prof_freud joined | 09:43 |
| ← crazybyte left | 09:46 |
| → quoin- joined | 09:47 |
| ← kanru left | 09:51 |
| → kanru joined | 09:51 |
| ← kanru left | 09:52 |
| → chris2 joined | 09:53 |
| drobbins → drobbins|away | 09:54 |
|
corecode
| oh boy, this is not a simple change | 10:00 |
| → radarek joined | 10:02 |
| → bwalk joined | 10:03 |
|
Arafangion
| corecode: Hmm? | 10:03 |
|
corecode
| Arafangion: making the post-receive-email hook send separate mails for each change | 10:04 |
| ← quoin left | 10:05 |
| → kanru joined | 10:06 |
| ← kanru left | 10:08 |
| → kumbayo joined | 10:09 |
| → kanru joined | 10:11 |
| → protorom joined | 10:15 |
|
Arafangion
| corecode: As opposed to? | 10:16 |
|
corecode
| one per push | 10:16 |
|
Arafangion
| Ahh, well it's called once per push. | 10:17 |
|
corecode
| yah | 10:17 |
|
| so i have to split up the revs | 10:17 |
|
Arafangion
| I've seen examples of how one does that, but can't remember were. Somewhere on hte internet. | 10:17 |
| → protorom_ joined | 10:18 |
|
aboodman
| I have a remote tracking branch setup using git-svn, and it has files in a different state than HEAD on svn, even though it thinks nothing is modified. Is there a way to force sync? | 10:19 |
| ← protorom_ left | 10:20 |
| → Voker57 joined | 10:20 |
| → protorom_ joined | 10:20 |
| ← protorom left | 10:20 |
| ← ia left | 10:22 |
| ← protorom_ left | 10:22 |
| → protorom joined | 10:22 |
| → ia joined | 10:23 |
|
machrider
| i want to grab a series of commits from one git repository and apply them to my working one | 10:24 |
|
| what's the usual command for that? | 10:25 |
|
Voker57
| git cherry-pick? | 10:25 |
| ← protorom left | 10:25 |
|
machrider
| cherry-pick seems to need a commit that's in my current repo somewhere | 10:26 |
| → protorom2 joined | 10:26 |
| ← protorom2 left | 10:27 |
| → protorom joined | 10:28 |
| → charon_ joined | 10:28 |
| ← mahmoud2 left | 10:28 |
| → protorom_ joined | 10:29 |
| charon_ → charon | 10:29 |
| → aspotashev joined | 10:34 |
| ← bevans left | 10:34 |
| ← cilly left | 10:35 |
| ← naeu left | 10:40 |
| → melvinram joined | 10:41 |
|
melvinram
| I am trying to merge a branch into my master and I'm getting some errors... or at least I think they are errors http://pastie.org/326985 | 10:42 |
|
| Anyone know what I need to do here? | 10:42 |
| → davik joined | 10:42 |
| ← melvinram left | 10:45 |
| → melvinram joined | 10:45 |
| ← protorom_ left | 10:46 |
|
machrider
| melvinram: it looks like your working tree has changes that haven't been committed, so it won't merge | 10:46 |
|
melvinram
| machrider: yea i finally figured that out (with some help)... but now i've got a new problem/error | 10:59 |
|
| http://pastie.org/326985 | 10:59 |
| ← jas4711 left | 11:03 |
| → jas4711 joined | 11:04 |
| ← chris2 left | 11:07 |
| → not-xjjk joined | 11:09 |
| ← protorom left | 11:13 |
| → protorom joined | 11:13 |
| ← melvinram left | 11:15 |
| → bentob0x joined | 11:17 |
| ← dwmw2_gone left | 11:20 |
| ← xjjk left | 11:22 |
| → lucsky joined | 11:22 |
| → priidu joined | 11:25 |
| → hendry joined | 11:28 |
|
hendry
| i'm trying to git clone into my homedir. e.g. git clone https://ftp-master.debian.org/git/archvsync.git . | 11:30 |
|
| fatal: destination directory '.' already exists. | 11:30 |
|
| is there no way to force it? | 11:30 |
| → doener joined | 11:32 |
| → umc joined | 11:32 |
|
drizzd_
| hendry: you misunderstand the meaning of the second argument to 'git-clone' | 11:34 |
|
| it's supposed to be the target directory for the repository | 11:34 |
|
| not the directory containing it | 11:34 |
|
| if you just leave the second argument out you automatically get the new repo in 'archvsync' | 11:35 |
|
umc
| hello. can anyone please tell me the syntax for cloning a local repository ? couldn't figure it out via man git-clone. I have a repository in /path/to/repository/ and I'd like to make a clone of it in /path/to/clone/. I tried the command "git-clone -l --no-hardlinks /path/to/repository/" in folder /path/to/clone/ but didn't work | 11:35 |
|
Gitbot
| umc: the git-clone manpage can be found at http://git.or.cz/man/git-clone | 11:35 |
|
jast
| umc, how about just git clone /path/to/repository /path/to/clone? :) | 11:36 |
|
umc
| and in what folder must I run that command ? | 11:36 |
|
| doesn't matter ? | 11:36 |
|
doener
| exactly | 11:36 |
|
| but /path/to/clone may not exist yet | 11:36 |
|
| s/may/must/ | 11:36 |
|
| git doesn't like overwriting stuff | 11:37 |
|
umc
| let's see | 11:37 |
|
| but I still need the -l param... no ? | 11:37 |
|
doener
| no | 11:37 |
|
umc
| don't need --no-hardlinks also ? | 11:37 |
|
drizzd_
| oddly enough, -l is kind of the opposite of --no-hardlinks | 11:38 |
|
| so we don't know what you're trying to achieve | 11:38 |
|
doener
| if you use /path/to/repo for the source, -l is the default | 11:38 |
|
umc
| excelent. it worked | 11:38 |
|
| thanks | 11:38 |
|
hendry
| drizzd_: i don't what it in 'archvsync'. I want it in $HOME (which already exists) | 11:39 |
|
doener
| btw, does anyone have a clue why the man page says "optimize the cloning process" for --no-hardlinks? By the name of it, I'd rather expect a "Waste some space" description | 11:39 |
|
drizzd_
| hendry: it's not possible to clone into an existing directory, because that would potentially overwrite stuff | 11:40 |
|
| in any case, I do not recommend making your home directory a git repository | 11:40 |
|
| doener: yeah, that's weird | 11:40 |
|
doener
| hendry: in an existing directory you can do "git init" and fetch from the other repo. But as drizzd_ said, making $HOME a git repo is not quite what I would do | 11:41 |
|
hendry
| doener & drizzd_ ok, thanks for the advice | 11:41 |
|
drizzd_
| hendry: in case you want to track your .config files, it's better to use symlinks | 11:42 |
|
| or maybe hardlinks? | 11:43 |
|
doener
| symlinks | 11:43 |
|
| git breaks hardlinks | 11:43 |
| ← umc left | 11:43 |
|
doener
| although gitte had sent a patch to the list to make that configurable. | 11:43 |
|
| Didn't follow the whole discussion, so no clue if it was accepted | 11:44 |
|
drizzd_
| I see | 11:45 |
| → lvh joined | 11:54 |
|
lvh
| hi | 11:54 |
|
| I'm trying to learn how to develop with git. I wanted to implement something completely new, so I made a new branch (mynewbranch), made the changes, checked out master, and merged mynewbranch once I was happy with it | 11:55 |
|
| Can I delete the mynewbranch branch now? | 11:55 |
|
charon
| lvh: yes. the commits will always stay there, since they are now on 'master'. | 11:56 |
|
| note that 'branch -d' actually does a safety check that ensures you only delete branches that are already part of the current (HEAD) branch | 11:57 |
|
lvh
| charon: right. But if I want to add more stuff to mynewbranch, I can re-merge later? | 11:57 |
| → name joined | 11:57 |
|
lvh
| charon: yeah, it warned me once and told me to use -D because I wanted to *get rid* of code | 11:57 |
|
charon
| yes, you can re-merge, though you should keep the 'mynewbranch' if you intend to add more stuff to it, since otherwise you'll have to manually figure out where the last merge was at | 11:58 |
|
lvh
| okay | 11:58 |
|
| if mynewbranch had like 20 commits of incremental changes, I can still squash those even after merging to master, right? | 11:59 |
|
drizzd_
| charon: once you merged you can "re-branch" from that. Why you would want to continue work on an outdated branch? | 12:00 |
|
charon
| drizzd_: i guess it depends. you're right, normally you can just re-branch. but for e.g. a subtree merge, you might want to continue work on the branch instead. | 12:02 |
| → d00dlez joined | 12:02 |
|
drizzd_
| charon: true | 12:03 |
|
| lvh: you can merge with the --squash option, but why would you want to do that? | 12:04 |
|
lvh
| drizzd_: suppose one of my commits is really, really stupid and the next one fixes it | 12:04 |
|
| squashing them sounds like a good idea | 12:05 |
|
drizzd_
| lvh: in that case, you should do that before merging | 12:05 |
|
bremner
| lvh: unless they have already been merged in somewhere | 12:05 |
|
lvh
| ls | 12:07 |
|
| whoops | 12:07 |
|
nadim
| hi, make install complains about "You have installed git-* commands to new gitexecdir... Please remove old version commands in bindir now". is there a documented way to do that? and why isn't it automatic? | 12:09 |
| → Zimm joined | 12:09 |
| Ratler_ → Ratler | 12:13 |
|
drizzd_
| nadim: that's because you upgraded from a pre-1.6 version to a 1.6 version | 12:15 |
|
jast
| automatically removing things just isn't always the smart thing to do. to remove the old binaries, something like rm /usr/bin/git-* should work (your bindir might be different, of course). | 12:16 |
| → szimek joined | 12:18 |
| ← xinming left | 12:18 |
| ← clairvy__ left | 12:21 |
|
dsop
| hmm why does git svn clone -s path/to/repo give me some strange tag branches? | 12:24 |
|
jast
| perhaps because the repository has some strange tags? | 12:24 |
|
dsop
| I have tags like tags/3.3.5@4107 | 12:25 |
| ← muthu_ left | 12:26 |
| ← drizzd_ left | 12:27 |
|
Arafangion
| dsop: What's strange about that? | 12:27 |
|
| dsop: I interpret that as 'tag 3.3.5, at revision 4107' | 12:27 |
|
Voker57
| because people did commit to tags, maybe? | 12:28 |
|
corecode
| what's a good frequency to run git gc on a shared, push-only repo? | 12:28 |
| → drizzd joined | 12:30 |
|
Arafangion
| corecode: Whenever space is scarce. | 12:30 |
|
jast
| enable autogc to have it run automatically in sensible intervals | 12:31 |
|
| (if your version of git is new enough to support autogc, that is... i can't quite remember when it was added though) | 12:32 |
|
| 1.5.6 at least has the setting for it (gc.auto), i don't know about older versions | 12:34 |
| ← Arafangion left | 12:34 |
| ← Zimm left | 12:34 |
|
corecode
| that's not documented anywhere | 12:36 |
|
| oh wait. | 12:36 |
|
doener
| dsop: I guess the tag got deleted a recreated | 12:36 |
|
corecode
| my man pages are out of sync | 12:36 |
|
dsop
| doener: k. | 12:36 |
|
jast
| not necessarily; in svn you can commit to tags | 12:36 |
|
drizzd
| the docs take a while to build, that's why they are not installed unless you call install_doc explicitely | 12:37 |
|
jast
| after all tags are just a convention | 12:37 |
|
nadim
| drizzd, jast: I rmoved /usr/bin/git-* but make install still complains | 12:37 |
|
doener
| jast: yeah, but that's why you get svn tags as branches in git | 12:37 |
|
jast
| sure :) | 12:37 |
|
drizzd
| nadim: which git | 12:37 |
|
doener
| jast: IIRC, plain "not a real tag" stuff doesn't cause the @rev suffix | 12:37 |
|
nadim
| 1.6.0.4 | 12:37 |
|
| I just pulled it | 12:37 |
|
jast
| right | 12:37 |
|
nadim
| so I guess the latest | 12:37 |
| → danten joined | 12:38 |
|
drizzd
| nadim: no I mean literally, `which git`, to tell if it's installed anywhere else (like $HOME/bin) | 12:38 |
|
nadim
| => /usr/bin/git | 12:38 |
|
drizzd
| umh, which git-ls-files then or something | 12:39 |
|
nadim
| I have no git-* commands at all | 12:40 |
|
doener
| which -a git | 12:40 |
|
| that might be more interesting than just the first match | 12:40 |
|
nadim
| => /usr/bin/git | 12:40 |
|
| same thing | 12:40 |
|
doener
| ok | 12:40 |
|
drizzd
| and you're installing in /usr/bin? | 12:42 |
|
| the build system checks for the existence of git-add | 12:42 |
|
doener
| locate git-add | 12:43 |
|
nadim
| no locate in my system | 12:43 |
|
| let me find it using domething else | 12:43 |
|
doener
| oh well, as you're installing to /usr/bin, it should be /usr/bin/git-add | 12:44 |
|
| otherwise check_bindir should not complain AFAICT | 12:44 |
|
nadim
| this is weird, in bash, git-<tab-tab> should give me all the git-* commands | 12:44 |
|
drizzd
| nadim: and you're sure you're not installing in $HOME/bin? | 12:45 |
|
| that's the default, after all | 12:45 |
|
nadim
| you're right | 12:46 |
|
| they are installed there | 12:46 |
|
| I think this is a mix between the git I unstalled through the distribution and the one I build myself | 12:46 |
|
| hmm, better, the version I just build is git version 1.6.0.4.836.gd5cb | 12:47 |
|
drizzd
| I would uninstall the git package then and install your git in $HOME or /usr/local or wherever your distro recommends to install self-built stuff | 12:47 |
|
nadim
| I'm doing that right now :) | 12:48 |
| → ft joined | 12:50 |
| ← tritz left | 12:54 |
| ← davik left | 12:59 |
|
nadim
| this is even weirder! when I ran git --version in the git directory (the one I synched with the repository) I got git version 1.6.0.4.836.gd5cb. The version I had installed before was 1.6.0.4. after removing everything and doing a make install I get a version 1.6.0.2 | 13:00 |
|
| make install says "GIT_VERSION = 1.6.0.2.GIT" but my repo is an older version | 13:01 |
| ← Flathead left | 13:01 |
|
nadim
| haha! sudo make install installs 1.6.0.2 but make install installs the latest | 13:02 |
|
| ok, good to know | 13:02 |
|
SmSpillaz
| hey guys, is it possible to have a separate branch, rebase origin that branch then merge it into your master branch? | 13:02 |
|
drizzd
| nadim: I think it's more likely that sudo causes you to install somewhere else than $HOME/bin and that's why you're seeing different installs | 13:05 |
|
SmSpillaz
| or more specifically, you are probably installing to /root/bin =) | 13:05 |
|
nadim
| drizzd: I believe that the sudo make 'install' choose another version, a stable one | 13:06 |
|
drizzd
| I don't see how that's possible | 13:06 |
|
SmSpillaz
| that wouldn't be right nadim | 13:06 |
|
nadim
| 'install' itself tell me what version it is installing | 13:06 |
|
| I'd be happy to be wrong though | 13:06 |
|
drizzd
| sudo -c 'echo $HOME' returns my own home directory though | 13:06 |
| → adsworth joined | 13:07 |
|
nadim
| and there is no /root/bin in my system | 13:07 |
| → vbabiy joined | 13:08 |
|
drizzd
| is 'all::' like a shortcut for ".PHONY: all", "all:" ? | 13:09 |
| ← szimek left | 13:11 |
|
dsop
| drizzd: no | 13:11 |
|
| drizzd: all:: means that it is the standard target | 13:11 |
|
nadim
| can someone explain why the latest version says | 13:15 |
|
| nadim@naquadim /devel/git $ make | 13:15 |
|
| GIT_VERSION = 1.6.0.2.GIT | 13:15 |
|
drizzd
| dsop: no, the first rule is the default target. the double colon means that there can be more than one rule for that target (and all of them are executed) | 13:16 |
|
| (section 4.13 Double-Colon Rules in make.info) | 13:18 |
|
dsop
| hmm okay, sorry for the info | 13:18 |
|
drizzd
| np | 13:19 |
| → SRabbelier joined | 13:19 |
|
drizzd
| make is a mystery to all of us ;-) | 13:20 |
|
nadim
| indeed | 13:24 |
|
dsop
| the real challange is autoconf :) | 13:24 |
|
nadim
| autohell | 13:24 |
|
| OK guys, htere is something fishy in git install and I would very much appreciate help. Here is what I have done | 13:24 |
|
| I removed all git traces | 13:25 |
|
| (or so I believe) | 13:25 |
|
| i downloaded and build version 1.6.0.4 from git web site | 13:25 |
|
| I did a ./git-1.6.0.4/ clone git://git.kernel.org/pub/scm/git/git.git | 13:25 |
|
| I did cd git and make. That tells me GIT_VERSION = 1.6.0.2.GIT!!!! | 13:26 |
|
| can anyone please explain with the version git://git.kernel.org/pub/scm/git/git.git is not greater than 1.6.0.4? | 13:27 |
|
drizzd
| nadim: what does git describe tell you | 13:29 |
|
| oh wait, you don't have that | 13:29 |
|
nadim
| yes I do | 13:30 |
|
drizzd
| hmm, seems DEF_VER=v1.6.0.2.GIT even in 1.6.0.4 | 13:30 |
|
nadim
| ./git describe => v1.6.0.4-836-gd5cbdba ./git --version => git version 1.6.0.2.GIT | 13:30 |
|
| drizzd: that seems to be the problem | 13:31 |
|
| The weird thing is that one of the build I've done gave, git --version => 1.6.0.4.836.gd5cb as it should | 13:33 |
|
drizzd
| well, just install it, and then run "make clean && make install" again | 13:33 |
|
nadim
| why should I install than clean and make again? | 13:33 |
|
drizzd
| because the build system requires git to figure out its version | 13:33 |
|
nadim
| all right | 13:34 |
|
| ok, all good. It seems that I got to that at a certain point :(! | 13:35 |
| → chris2 joined | 13:35 |
|
nadim
| thanks all for the help | 13:35 |
| → FFighter joined | 13:39 |
|
FFighter
| hi | 13:39 |
|
| I have a git repo on desktop and cloned it at my laptop. I changed a file on my laptop and commited (commit -a) then pushed, but the changes aren't carried to destkop. I'm using only one branch (master) as I'm using git only for syncing | 13:40 |
|
| any ideas on what might be happening? | 13:40 |
|
| I've read that pushing to a working repo is a bad idea... why? | 13:44 |
|
jast
| FFighter, see faq non-bare | 13:44 |
|
Gitbot
| FFighter: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare | 13:44 |
|
FFighter
| thanks | 13:47 |
|
| so, configure a origin server on desktop that points to laptop and pull from there? | 13:49 |
| → ash_ joined | 13:49 |
|
bremner
| FFighter: 3 repos in total, one bare, two with work-trees | 13:51 |
|
| FFighter: is the simplest | 13:52 |
|
FFighter
| but if I would not want a bare-one | 13:52 |
|
wsuff
| http://git.or.cz/gitwiki/GitFaq#push-is-reverse-of-fetch | 13:52 |
|
| might work as well | 13:52 |
|
| wsuff has been thinking of how to deal w/ this as well just hasn't yet | 13:52 |
|
bremner
| FFighter: no, you never edit files on the desktop? | 13:52 |
|
FFighter
| only peer-to-peer | 13:53 |
|
| can I set desktop to point origin to laptop ? | 13:53 |
|
| (originally laptop was cloned from desktop) | 13:53 |
|
| bremner, | 13:53 |
|
drizzd
| pull-only with two repos would work too | 13:53 |
|
FFighter
| bremner, I do | 13:54 |
|
| drizzd, yeah, that's what I want to do - set origin of desktop to point to laptopo | 13:54 |
|
| so I could pull in the desktop and get updates from laptop | 13:54 |
|
| and vice-versa | 13:54 |
|
bremner
| FFighter: that is what the second non-bare repo is for | 13:54 |
|
FFighter
| without a intermediate server | 13:54 |
|
bremner
| FFighter: you can do it that way, it just seems more painful than necessary | 13:55 |
|
FFighter
| thanks | 13:55 |
|
bremner
| FFighter: i.e. ssh desktop to pull from laptop, laptop needs global IP etc... | 13:55 |
| → markelikalderon joined | 13:55 |
|
FFighter
| ah, yeah | 13:55 |
|
| but it is mainly LAN | 13:55 |
|
| but I'll keep this in mind | 13:56 |
|
| thanks | 13:56 |
|
wsuff
| need to try this myself too | 13:56 |
|
| too early to think straight but sounds like sound advise | 13:56 |
|
bremner
| FFighter: OK, good luck. Remember unless your desktop is a C64, disk space is cheap | 13:56 |
|
wsuff
| bremner: why is it easier w/ 3 repos? perhaps i missed the logic. Rather do it right the first time before I get stuck =) | 14:00 |
|
bremner
| wsuff: you just push/pull to server repo from either working repo. In principle pull only works fine, but only for "always internet accessible" repos | 14:02 |
|
wsuff
| so working repo on MachineA MachineB ... w/ master repo on ServerG | 14:03 |
|
| so push all changes to ServerG and can pull from it on any other machines as well | 14:03 |
|
bremner
| wsuff: right, where ServerG == MachineA is ok | 14:03 |
|
wsuff
| just a seperate repo | 14:04 |
|
bremner
| wsuff: correct | 14:04 |
|
wsuff
| i got it now =) | 14:04 |
|
| using mostly git svn atm since work = SVN and I can't change that | 14:04 |
| ← markelikalderon left | 14:04 |
|
wsuff
| so the central server model i can deal w/ | 14:04 |
| ← tclineks left | 14:05 |
|
bremner
| wsuff: there are lots of models, this is the one that works for me (6 months of experience only) | 14:05 |
|
wsuff
| bremner: less than that here i guess for 2 machines like FFighter was talking about docs usually jush push/pull between them etc but beyond 2 I don't know if I want to track that | 14:06 |
| → Gitzilla joined | 14:06 |
|
bremner
| wsuff: I think if there are two machines for two distinct developers, the situation is different | 14:07 |
|
wsuff
| sure but how many developers u know with only 2 machines =) | 14:07 |
|
| also centeral server G makes it easier if I need to open any of the projects to other people later | 14:08 |
| → markelikalderon joined | 14:08 |
| → advany joined | 14:19 |
| → LotR joined | 14:22 |
| ← Voker57 left | 14:22 |
| → Voker57 joined | 14:23 |
| → Weasel[DK] joined | 14:23 |
| → tritz joined | 14:26 |
| → bdiego joined | 14:28 |
| ← hendry left | 14:31 |
| → jm joined | 14:32 |
| ← tritz left | 14:33 |
| → patrick85 joined | 14:34 |
| → icwiener joined | 14:34 |
| ← patrick85 left | 14:41 |
| → marcelo_ joined | 14:47 |
|
marcelo_
| how do I export files a specific rev from a git repo | 14:47 |
|
| ? | 14:47 |
|
Voker57
| git show rev:file | 14:48 |
|
cbreak
| or git-archive | 14:48 |
|
marcelo_
| thanks | 14:48 |
|
cbreak
| or git checkout | 14:48 |
|
marcelo_
| git checkout? | 14:49 |
|
cbreak
| depending on what you want | 14:49 |
|
marcelo_
| I want to export files from a specific rev - copy the files from a specific point in time in the git repo - the output would be a tree of files (non-versioned) | 14:49 |
|
Run
| How can I refer to an upstream branch? | 14:49 |
|
Voker57
| git archive then | 14:49 |
|
Run
| something with origin ... | 14:49 |
|
marcelo_
| Run. origin ? | 14:49 |
|
| something like git merge origin/master | 14:50 |
|
Run
| ok | 14:50 |
|
marcelo_
| I think | 14:50 |
|
| check .git/config | 14:50 |
| → masak joined | 14:52 |
|
jast
| it depends, of course, since you can have several upstreams | 14:54 |
| → litage joined | 14:55 |
| ← quoin- left | 14:58 |
| ← up_the_irons left | 14:58 |
| → jelmer joined | 14:58 |
| → up_the_irons joined | 14:59 |
| ← marcelo_ left | 14:59 |
| ← bdiego left | 15:01 |
| ← wsuff left | 15:02 |
| → wsuff joined | 15:02 |
| → pygi joined | 15:04 |
| → naeu joined | 15:06 |
| → bdiego joined | 15:08 |
| → tvw joined | 15:12 |
| → gko joined | 15:12 |
|
gko
| Hi | 15:13 |
| → tomw joined | 15:13 |
| ← tomw left | 15:16 |
| → tomw joined | 15:16 |
| ← IRSeekBot left | 15:17 |
|
tomw
| I'm trying to use submodules with git | 15:18 |
|
| doing mkdir test; git init; git submodule add ../dm-more (where ../dm-more is a repository) | 15:18 |
|
| and I get this error message: remote (origin) does not have a url defined in .git/config | 15:19 |
|
| what does it mean? | 15:19 |
| → madewokherd joined | 15:24 |
| → kukks joined | 15:26 |
|
jast
| tomw, submodule add needs two parameters: repository URL and target subdir | 15:27 |
|
| if you only give one it assumes that it already knows the URL, perhaps | 15:27 |
|
tomw
| ok so you can't use a local git repository for submodule? | 15:28 |
|
jast
| of course you can | 15:28 |
|
| but it must be outside the superproject | 15:29 |
|
tomw
| ok I'll try it | 15:29 |
|
gko
| Are there GitHub users here? | 15:30 |
|
tomw
| ok it's working using relative path like ../dm-core didn't work... | 15:31 |
| ← gko left | 15:31 |
|
jast
| oh, right, makes sense | 15:32 |
|
| again, impatience seems to be the order of the day... | 15:33 |
| → brett_h joined | 15:35 |
| → LiamH joined | 15:37 |
| ← charon left | 15:38 |
| → parasti joined | 15:38 |
|
tomw
| thanks | 15:42 |
| ← ben_h left | 15:44 |
| ← bdiego left | 15:44 |
| ← danten left | 15:44 |
| ← aspotashev left | 15:44 |
| ← akitada left | 15:44 |
| ← scientes left | 15:44 |
| ← |chalky| left | 15:44 |
| ← ToxicFrog left | 15:44 |
| ← yann left | 15:44 |
| ← xyzzy42 left | 15:44 |
| ← nothingHappens left | 15:44 |
| ← jefferai left | 15:44 |
| ← psilo2 left | 15:44 |
| ← mikearr left | 15:44 |
| ← gebi left | 15:44 |
| ← aCiD2 left | 15:44 |
| ← w00t left | 15:44 |
| ← djinni left | 15:44 |
| ← ke4qqq left | 15:44 |
| ← imarcusthis left | 15:44 |
| ← sverrej left | 15:45 |
| → xyzzy42 joined | 15:45 |
| → psilo2 joined | 15:45 |
| → gebi joined | 15:45 |
| → ivanz joined | 15:45 |
| → imarcusthis joined | 15:45 |
| → w00t joined | 15:45 |
| → kmap joined | 15:45 |
| ← cartucho left | 15:46 |
|
ivanz
| What is the recommended practice for when one has to maintain a patched version of a piece of source code against each new release? I was thinking master == latest + tags for each new release + branch per each merge against a release | 15:47 |
|
| does that sound about alright? | 15:47 |
| → nadim joined | 15:47 |
| ← tvw left | 15:48 |
|
mike_m
| ivanz: i would maintain a set of patches against the upstream release, not a merged release | 15:49 |
| → djinni joined | 15:49 |
| → akitada joined | 15:49 |
| → ddollar joined | 15:49 |
|
ivanz
| mike_m: I was thinking about that but then I won't be able to look back into what has changed very well | 15:50 |
|
| if I keep rebasing a patchset | 15:50 |
|
| (what has changed in the patchset) | 15:50 |
| → CodeOfficer joined | 15:50 |
|
ivanz
| but yeah since noone shouted "wrong wrong wrong" I will do what I said and see how it works :) | 15:50 |
| → Hobbes joined | 15:51 |
| → bdiego joined | 15:51 |
| → gasbag joined | 15:54 |
| → sgrimm joined | 15:55 |
| → EmilMedve joined | 15:55 |
| ← tomw left | 15:55 |
| → kelvie joined | 15:57 |
| → tomw joined | 15:57 |
| → nothingHappens joined | 15:57 |
| → yann joined | 15:58 |
| → jefferai joined | 15:59 |
| → ToxicFrog joined | 15:59 |
| → mikearr joined | 16:00 |
| ← chris2 left | 16:01 |
| → aCiD2 joined | 16:01 |
| → danten joined | 16:02 |
| → chalky joined | 16:02 |
| → scientes_ joined | 16:07 |
| → MisterN joined | 16:10 |
| → solar_Ant joined | 16:12 |
|
solar_Ant
| hi all | 16:12 |
|
| I have added *~ to .gitignore to avoid tracking temporary files | 16:12 |
|
| but now when I do git add * | 16:12 |
|
| all the files are remaining untracked | 16:13 |
|
shd
| solar_Ant: did you commit? | 16:13 |
|
solar_Ant
| though git reports that only a filw with ~ is being untracked | 16:13 |
|
| git commit shows that there is nothing to commit | 16:13 |
| → nibbo joined | 16:13 |
|
solar_Ant
| shd: cause the other files are not getting into the commit list | 16:13 |
| ← gambler left | 16:14 |
|
MisterN
| hi. what can gitbot do? | 16:14 |
|
shd
| solar_Ant: The following paths are ignored by one of your .gitignore files: | 16:15 |
| → gambler joined | 16:15 |
|
shd
| a~ | 16:15 |
|
| b~ | 16:15 |
|
| Use -f if you really want to add them. | 16:15 |
|
| fatal: no files added | 16:15 |
|
| solar_Ant: git warns about this | 16:15 |
|
| solar_Ant: the problem is: '*' expands in the shell, git is explicitly commanded to add 'foo~' files | 16:16 |
|
| solar_Ant: git wants to obey users instructions directly | 16:16 |
|
ivanz
| odd gitk and git diff display different results :| | 16:16 |
|
shd
| solar_Ant: instead, if you do 'git add .' you will only get non-~ files | 16:16 |
|
ivanz
| gitk only sees 1 file changed in the last revision | 16:16 |
|
MisterN
| ivanz: try git diff HEAD | 16:16 |
|
solar_Ant
| shd: thank you :) | 16:16 |
| ← tomw left | 16:17 |
|
MisterN
| Gitbot: help | 16:17 |
|
Gitbot
| MisterN: Try '?' instead of help. | 16:17 |
|
| MisterN: CyBot configuration directory. | 16:17 |
|
MisterN
| Gitbot: ? | 16:17 |
|
Gitbot
| MisterN: Type '<plugin name>?' to get brief help and a command list, where <plugin name> is one of: gitfaq, gitman, gitweb, irc, plugin, test, user. Also try '<plugin name> <command name>?'. | 16:17 |
|
shd
| solar_Ant: so the question is: to obey or not to obey the user. here git trusts the user to know what the user wants to do, because there are _rare_ cases when gitignore conflicts with practice | 16:17 |
|
solar_Ant
| shd: yeah seems like git was wondering why I would ask it to ignore a file and use a glob to add it | 16:17 |
|
ivanz
| MisterN: I am on a branch - a merge of another branch with master branch. | 16:17 |
|
solar_Ant
| that was very informative! Thank you shd | 16:17 |
|
ivanz
| MisterN: git diff master is what I do | 16:17 |
|
| there are at least 10 files that were modified during the merge and 1 that I fixed conflicts in | 16:18 |
|
nibbo
| Is it a bad idea to manage websites (php/xhtml/css) by having a origin non-bare repo in the hosted dir with the hook mentioned here: http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e73 I was thinking about any security issues with the .git dir... | 16:18 |
| ← vbabiy left | 16:19 |
| ← dmlloyd left | 16:21 |
| → dmlloyd joined | 16:21 |
| → tomw joined | 16:22 |
|
nibbo
| or is that even the Right (tm) way to do it? | 16:22 |
| ← MisterN left | 16:22 |
| ← naeu left | 16:23 |
| → threeve joined | 16:26 |
| → naeu joined | 16:27 |
| → jackdempsey joined | 16:28 |
| → charon joined | 16:33 |
| ← scientes_ left | 16:34 |
| zumbrunn__ → zumbrunn | 16:35 |
| → muthu_ joined | 16:37 |
|
not-xjjk
| nibbo: block access to .git via .htaccess? | 16:41 |
| → cartucho joined | 16:41 |
| → marvil07 joined | 16:42 |
|
nibbo
| not-xjjk: ok, is that enough though? | 16:42 |
|
not-xjjk
| nibbo: why do you think it'd not be? all git specific files are in .git | 16:42 |
| → ke4qqq joined | 16:43 |
|
nibbo
| ok. Nice! :) | 16:43 |
|
not-xjjk
| if you have other files you don't want accessible via the web, you need to handle those via some kind of deployment script/hook | 16:43 |
|
nibbo
| Thanks for responding :) | 16:43 |
|
not-xjjk
| nibbo: be glad not using svn/cvs, they dump .svn and CVS directories everywhere | 16:43 |
|
| though you can block those with an .htaccess/Apache deny directive too | 16:43 |
| → cartucho_ joined | 16:45 |
| → phytovor joined | 16:45 |
| ← cartucho left | 16:47 |
| ← protorom left | 16:48 |
| ← gasbag left | 16:48 |
| → muthu joined | 16:48 |
| ← muthu_ left | 16:49 |
|
phytovor
| Why it can't clone git repo to USB stick? http://gist.github.com/30476 | 16:49 |
|
Weiss
| phytovor: permissions? | 16:50 |
|
doener
| that would fail earlier I think | 16:50 |
|
| out of space? | 16:51 |
| not-xjjk → xjjk | 16:52 |
| → doxtor joined | 16:52 |
|
Voker57
| try `touch /media/disk/test/.git/HEAD` | 16:52 |
| ← ke4qqq left | 16:53 |
| → mt` joined | 16:54 |
|
doxtor
| Voker57: destination dir already exists | 16:54 |
|
Voker57
| hmm, HEAD is a dir? | 16:54 |
|
| weird | 16:54 |
|
doxtor
| it's not | 16:54 |
|
| git writes that after I touch it | 16:55 |
| → loinclot_ joined | 16:58 |
|
doener
| doxtor: echo 123 > /media/disk/bla | 16:59 |
|
doxtor
| doener: works | 17:00 |
|
doener
| hm, df /media/disk | 17:00 |
| ← ivanz left | 17:01 |
| ← FFighter left | 17:01 |
| ← loincloth left | 17:02 |
| → mw-home_ joined | 17:02 |
|
doxtor
| doener: http://gist.github.com/30480 | 17:03 |
| ← jas4711 left | 17:03 |
|
doener
| hm, almost 400MB, should be enough I guess | 17:03 |
|
doxtor
| git status after git init on the USB storage says fatal: Not a git repository. I think it has something to do with the filesystem | 17:04 |
| → jas4711 joined | 17:04 |
|
doener
| does "git init" also complain? | 17:04 |
|
doxtor
| doener: no | 17:04 |
|
doener
| and which fs is that? fat32 I guess? | 17:04 |
|
imarcusthis
| probably can't create .git ? | 17:04 |
|
| does it make _git instead? | 17:04 |
|
doxtor
| it's fat32 | 17:04 |
|
| it makes .git | 17:04 |
|
doener
| doxtor: ls .git | 17:05 |
|
| doxtor: does that show HEAD or head? | 17:05 |
|
doxtor
| head | 17:05 |
|
doener
| running gnome by chance? | 17:05 |
|
doxtor
| kde | 17:05 |
|
doener
| maybe that does the same... "mount" output please | 17:06 |
|
| there are some mount options that control how filename case is handled for fat32 | 17:06 |
|
doxtor
| hm, I did use default kde mount | 17:06 |
|
doener
| I know that that fucked up my gf's ipod once, took quite a while till I had that one figured out... | 17:07 |
|
doxtor
| I don't know where to look for output, it was in gui | 17:07 |
|
doener
| just run "mount" in a terminal | 17:07 |
| → ke4qqq joined | 17:07 |
|
doener
| the quotes were meant to indicate that I meant the "mount" command. ;-) | 17:07 |
|
doxtor
| doener: http://gist.github.com/30482 | 17:08 |
| ← phytovor left | 17:08 |
|
doener
| yep, there it is: shortname=lower | 17:08 |
|
doxtor
| thanks, looks like that's it then | 17:08 |
|
| will mount manually | 17:08 |
|
doener
| mount -o remount,shortname=mixed /media/disk | 17:09 |
|
| IIRC that should do | 17:09 |
|
| not sure if /media/disk works there, or if it needs the dev | 17:09 |
|
doxtor
| now it has both: shortname=lower,shortname=mixed last one prevails? | 17:10 |
|
| still produces "head" | 17:11 |
|
doener
| after a new "git init"? | 17:11 |
|
| ...in a directory that doesn't have .git yet/anymore | 17:11 |
| ← adsworth left | 17:11 |
|
doener
| does "cat /proc/mounts | grep disk" also list both shortname versions? | 17:11 |
|
| if so, I've just been mistaken and it needs a true remount | 17:12 |
|
| well, "true"... umount/mount... you know what I mean ;-) | 17:12 |
| → d00dlez_ joined | 17:13 |
| ← advany left | 17:14 |
| → advany joined | 17:14 |
| ← litage left | 17:15 |
| ← DrNick left | 17:16 |
| → DrNick joined | 17:16 |
|
doxtor
| doener: I did "true" remount and it worked. I used -o uid=1000,gid=1000,umask=007,shortnames=mixed | 17:16 |
|
| thanks | 17:17 |
|
doener
| you're welcome | 17:17 |
| → thannoy joined | 17:18 |
| → jeckel joined | 17:21 |
| ← d00dlez_ left | 17:21 |
| ← rtomayko left | 17:21 |
|
mw-home_
| does python 2.6 have ordered dicts? | 17:22 |
| → ebzzry_ joined | 17:29 |
| → mediogre joined | 17:30 |
|
offby1
| Let Me Google That For You™ | 17:30 |
| ← d00dlez left | 17:31 |
| → da-x joined | 17:31 |
| → ebzzry__ joined | 17:32 |
|
mw-home_
| sorry, wrong room | 17:32 |
| ← ebzzry left | 17:32 |
|
offby1
| :) | 17:32 |
|
RichiH
| offby1: heh | 17:32 |
|
offby1
| anyway: I don't think so. | 17:32 |
| ← mw-home_ left | 17:32 |
|
da-x
| hey there. is there a way in the command line to determine whether a commit is a parent of another commit? | 17:33 |
| ← muthu left | 17:33 |
| ← ebzzry_ left | 17:34 |
|
da-x
| hmmm, maybe git-rev-list [commit-b] | grep [commit-a] | 17:37 |
|
| it's a bit heavy, though | 17:37 |
| → nud joined | 17:38 |
|
doener
| git rev-list -1 a ^b --> if that's empty, then a is an ancestor of b | 17:38 |
| ← pygi left | 17:39 |
| → dwmw2 joined | 17:39 |
| ← dwmw2 left | 17:39 |
|
corecode
| gitweb produces some nasty urls | 17:42 |
|
| is there a way to use nicer urls with gitweb? | 17:42 |
| ← jezdez left | 17:43 |
|
jast
| write a patch (or use cgit) | 17:45 |
|
| what's it you dislike about gitweb, anyway? the fact that it uses query strings? | 17:45 |
| → d0k joined | 17:46 |
|
corecode
| yes, i'd like to generate links to changesets in mails | 17:46 |
|
jast
| and what's the problem with query strings there? | 17:47 |
|
corecode
| they're a bit bulky | 17:47 |
|
jast
| personally i don't think it matter if the url is foo.git?a=2189347237289037128973 or foo.git/a/238972409238742397438924 | 17:47 |
|
| well, you can't well get rid of the SHA1 hashes without making the URLs non-unique | 17:48 |
|
corecode
| no, sure not | 17:48 |
|
jast
| otoh you can use branch names instead of sha1 names in many places if you generate the URLs | 17:48 |
|
corecode
| no, then they wouldn't be permanent | 17:48 |
|
jast
| depends | 17:48 |
|
| for example, unless you are in the habit of changing tags (which you shouldn't), you don't need to refer to a tag's sha1 name | 17:49 |
|
corecode
| yah, for a tag | 17:50 |
|
| for commits that doesn't work | 17:50 |
|
jast
| well, you can use abbreviated sha1 ids | 17:50 |
|
| depends on how paranoid you are about future clashes | 17:50 |
|
blizz
| how would i revert a whole range of revisions? they're all linear, inside a single branch | 17:51 |
|
jast
| revert as in stuff you've already published? | 17:52 |
|
blizz
| yes | 17:52 |
|
jast
| i guess the, uh, simplest way is to use git revert in a shell loop, then | 17:53 |
|
doener
| blizz: all up to the branch head, or a series "deep down" in the branch? | 17:55 |
| ← advany left | 17:55 |
|
blizz
| the former | 17:57 |
| → leachim6 joined | 17:57 |
|
doener
| blizz: http://git.pastebin.com/m134db4e9 | 17:58 |
|
| that's one way to do it, which I (sometimes) prefer over a bunch of revert commits | 17:59 |
|
blizz
| ahh, that looks good | 17:59 |
| → advany joined | 17:59 |
|
blizz
| thanks you both | 17:59 |
| ← danten left | 17:59 |
|
jast
| it depends on what the commits contain, i guess | 18:00 |
|
doener
| yeah, if you can't summarize the reason for the revert/override in a single commit message, I prefer multiple revert commits | 18:01 |
|
| but if they're all related in some way, I just use the ours merge to override them all at once | 18:01 |
|
blizz
| i would log it as 'reverted a failed experiment' ;-) | 18:02 |
|
doener
| gives a less cluttered history, and in gitk you see the overriden commits in a nice side-history, telling you how you messed up :-) | 18:02 |
| ← threeve left | 18:07 |
| → threeve joined | 18:09 |
| → Reilithion joined | 18:11 |
| → synchris joined | 18:12 |
|
Reilithion
| Where is git getting my e-mail address? It's putting the wrong one in my commits. | 18:12 |
|
parasti
| Reilithion: from your config -- first think in the tutorial (man gittutorial) | 18:13 |
| → tritz joined | 18:13 |
|
Gitbot
| Reilithion: the gittutorial manpage can be found at http://git.or.cz/man/gittutorial | 18:13 |
|
Reilithion
| thx | 18:13 |
|
parasti
| (s/think/thing/ ...) | 18:14 |
| → cartucho joined | 18:15 |
|
Reilithion
| Can I get it to amend a commit with this new information? | 18:17 |
|
bdrewery
| lookup 'history rewriting' | 18:20 |
| ← advany left | 18:21 |
| → advany joined | 18:21 |
|
corecode
| is there a way how to find out the current repo name? | 18:22 |
|
| i.e. if i am in foo.git, "foo", or in bar/.git "bar"? | 18:22 |
|
offby1
| yeah, there's a surprising and obscure method, which I always forget | 18:22 |
| ← brett_h left | 18:22 |
|
offby1
| it's an option to some command that you wouldn't think had anything to do with this | 18:22 |
|
| git-rev-parse --git-dir ? | 18:23 |
| ← mediogre left | 18:23 |
|
offby1
| yeah, I think that's it | 18:23 |
|
corecode
| hm. | 18:23 |
|
| tells me .git | 18:24 |
|
offby1
| sure | 18:24 |
|
corecode
| that's not necessary helpful :) | 18:24 |
|
offby1
| why not? | 18:24 |
|
| is that not the right answer? | 18:24 |
|
corecode
| hm | 18:24 |
|
| no, it returns "." | 18:24 |
|
| instead of "foo.git" | 18:24 |
|
offby1
| don't those both name the same directory? | 18:25 |
|
| You can canonicalize it, you know, with "realpath" or something similar: git-rev-parse --git-dir | xargs realpath | 18:25 |
|
corecode
| yah | 18:25 |
|
| mm | 18:25 |
|
| i want to extend the mail hook | 18:25 |
|
offby1
| ("realpath" might not be standard on all *nix platforms) | 18:25 |
|
corecode
| to report a gitweb link | 18:25 |
|
offby1
| (cd $(git-rev-parse --git-dir); pwd) might be more portable (assuming you're using Bash) | 18:26 |
| ← cartucho_ left | 18:29 |
| ← masak left | 18:35 |
| → litage joined | 18:41 |
| → bobesponja joined | 18:51 |
| → schierbeck joined | 18:55 |
| → ikitat joined | 18:58 |
| → henux joined | 19:01 |
|
henux
| What is the point of GPG signed tags? | 19:01 |
|
wereHamster
| that they are signed ..? | 19:01 |
|
albertito
| henux: being able to verify *who* did the tag | 19:01 |
|
henux
| Okay so its an additional security, over to the username in the commit log? | 19:02 |
| ← akitada left | 19:02 |
|
wereHamster
| you can fake the username in the commit | 19:02 |
|
albertito
| henux: yes, because the username can be faked | 19:02 |
|
henux
| Indeed. Thanks. | 19:02 |
|
wereHamster
| export GIT_COMMITER_NAME="Not Really Me [email@hidden.address] | 19:03 |
|
henux
| cool | 19:03 |
| ← chalky left | 19:03 |
|
wereHamster
| also GIT_AUTHOR_NAME | 19:03 |
| ← henux left | 19:04 |
| ← d0k left | 19:04 |
| → d0k joined | 19:04 |
| ← tomw left | 19:08 |
| → chalky joined | 19:08 |
| ← name left | 19:10 |
| ← aboodman left | 19:10 |
| ← alikins left | 19:10 |
| ← univate left | 19:10 |
| ← agile left | 19:10 |
| → name joined | 19:11 |
| ← guardian left | 19:12 |
| ← scsiraider left | 19:14 |
| ← davi left | 19:14 |
| → scsiraider joined | 19:14 |
| → pygi joined | 19:14 |
| → davi_ joined | 19:15 |
| → aboodman joined | 19:17 |
| davi_ → davi | 19:19 |
| ← naeu left | 19:21 |
| → naeu joined | 19:21 |
| → univate joined | 19:25 |
| → agile joined | 19:26 |
| → phytovor joined | 19:26 |
| → alikins joined | 19:26 |
|
corecode
| how does git select which branches to push to origin? | 19:30 |
| ← radarek left | 19:30 |
|
Weiss
| corecode: .git/config | 19:31 |
|
offby1
| I think it's spelled out in .git/config | 19:31 |
|
| jinx :-( | 19:31 |
|
vmiklos
| it tries to push matching branches. so if you have master on both side, it'll try to update master (if you use 'git push origin') | 19:31 |
|
corecode
| and described in which man page? | 19:31 |
|
| matching? | 19:31 |
|
| serious? | 19:31 |
|
| who would think of that | 19:31 |
|
offby1
| corecode: probably git-push :) | 19:32 |
|
| it has to do with the "refspec" -- that's a formula for mapping remote refs to local ones and vice-versa | 19:32 |
| → Yuuhi joined | 19:32 |
|
corecode
| oh meuh | 19:32 |
|
bremner
| corecode: see also branch.<name>.remote in man git-config | 19:33 |
|
Gitbot
| corecode: the git-config manpage can be found at http://git.or.cz/man/git-config | 19:33 |
|
corecode
| bremner: yah, that i have | 19:33 |
| ← LotR left | 19:34 |
|
corecode
| bremner: but that doesn't offer pushing by default, and doesn't use the "merge" setting | 19:34 |
|
| bremner: i.e. if i go git push origin foo | 19:34 |
|
| and have a branch.foo.merge = refs/heads/notfoo | 19:35 |
|
| it will still try to create a branch "foo" and not push to "notfoo" | 19:35 |
| → offby1` joined | 19:35 |
|
bremner
| corecode: I guess you can set up a remote in .git/config following the git-push manpage | 19:39 |
| → danten joined | 19:39 |
| ← doxtor left | 19:40 |
|
offby1`
| ... or the "git-remote" manpage | 19:40 |
| ← offby1 left | 19:40 |
| offby1` → offby1 | 19:40 |
|
bremner
| offby1`: you'd think so, but I found git-push manpage easier to follow | 19:41 |
|
offby1
| whatever works :) | 19:41 |
|
bremner
| jinx | 19:41 |
|
| I guess not really jinx, but I meant to write that. If anyone is keeping score | 19:43 |
|
offby1
| You don't get to hit me on the upper arm if you merely _meant_ to write it; you have to have _actually_ written it. | 19:44 |
|
| offby1 rolls his sleeve back down and sighs with relief | 19:44 |
|
| bremner sheepishly sticks out his knuckles to be rapped | 19:44 |
| → markelik_ joined | 19:45 |
|
offby1
| *whack* Don't let it happen again. | 19:46 |
|
Reilithion
| And that's the point at which I'm out of the channel. | 19:46 |
| ← Reilithion left | 19:46 |
| → mndoci joined | 19:47 |
| → ArdRigh joined | 19:50 |
| → rmh3093 joined | 19:51 |
| ← rmh3093 left | 19:53 |
| ← scsiraider left | 19:53 |
| → jesselucas joined | 19:53 |
| ← prof_freud left | 19:56 |
| → scsiraider joined | 19:57 |
| ← ikitat left | 19:57 |
| → Hendu joined | 20:01 |
| ← icwiener left | 20:01 |
| ← DrFrasierCrane left | 20:02 |
| ← markelikalderon left | 20:03 |
| → icwiener joined | 20:03 |
| ← mndoci left | 20:05 |
| → Zimm joined | 20:07 |
| ← scsiraider left | 20:09 |
| → scsiraider joined | 20:09 |
| → LotR joined | 20:10 |
| → omygawshkenas joined | 20:11 |
| → SuperPhly joined | 20:12 |
|
SuperPhly
| Does git allow submodules to have submodules? As in multi-leveled submoduling? | 20:12 |
| → Matze joined | 20:13 |
| ← omygawshkenas left | 20:13 |
| ← Matze left | 20:13 |
| → ceej joined | 20:15 |
| ← bentob0x left | 20:17 |
| ← charon left | 20:18 |
| drobbins|away → drobbins | 20:20 |
| ← Hendu left | 20:20 |
| → jerbear joined | 20:20 |
| → doxtor joined | 20:22 |
| ← advany left | 20:22 |
| → bobmcw joined | 20:23 |
| ← drobbins left | 20:23 |
| → drobbins joined | 20:24 |
|
jast
| SuperPhly, allow... sure, but i don't think you get automatic recursive updates | 20:25 |
|
SuperPhly
| jast: yeah, that would be really nice | 20:25 |
| → k776 joined | 20:26 |
| ← Voker57 left | 20:28 |
| → CharlieSu joined | 20:31 |
|
CharlieSu
| Anyone know why 'git co' wont work for me anymore? Now I have to type 'git checkout <branch>' | 20:31 |
|
doener
| you removed the alias? | 20:31 |
|
| or you're in a different repo, and only set the alias for the other repo and not globally | 20:32 |
| ← d0k left | 20:32 |
|
CharlieSu
| doener: I never setup the alias before that I know of | 20:32 |
|
doener
| well, git never knew a "co" command, must have been an alias | 20:32 |
| → d0k joined | 20:32 |
|
CharlieSu
| ok | 20:33 |
|
doener
| git config --global alias.co checkout | 20:33 |
|
CharlieSu
| perfect.. thanks | 20:34 |
| ← CharlieSu left | 20:34 |
| → lfranchi joined | 20:39 |
| drobbins → drobbins|away | 20:40 |
| ← scsiraider left | 20:41 |
|
lfranchi
| does anyone know if git-svn checkouts don't correlate with normal git checkouts? | 20:41 |
| ← phytovor left | 20:41 |
|
jefferai
| specifically, if two different computers doing a git-svn checkout of the same svn tree will have different sha hashes? | 20:43 |
|
| because we're seeing something where people's branches from their git-svn checkouts find every file conflicting when they try to merge | 20:43 |
|
lfranchi
| jefferai: well for me i can't even merge my local git-svn master to my remote branch | 20:44 |
|
jefferai
| really? | 20:44 |
| ← bwalk left | 20:44 |
|
lfranchi
| yeah... i was trying to update the branch to svn trunk | 20:44 |
|
jefferai
| hm | 20:44 |
|
lfranchi
| which i git svn rebased | 20:44 |
| ← chalky left | 20:44 |
| ← ijcd left | 20:44 |
| → ijcd joined | 20:45 |
| ← lvh left | 20:46 |
| ← jerbear left | 20:49 |
| ← loinclot_ left | 20:51 |
| → nat2610 joined | 20:55 |
| → user___ joined | 20:55 |
| → scsiraider joined | 20:55 |
|
nat2610
| to start a new branch with its own origin, i just have to do git branch <branch_name> or I have to link it to an exisiting origin/ ? ?? | 20:55 |
| ← Leonidas left | 20:56 |
| → Leonidas joined | 20:56 |
| ← Weaselweb left | 20:56 |
| drobbins|away → drobbins | 20:57 |
| → masak joined | 20:57 |
| ← doxtor left | 21:01 |
|
drizzd
| nat2610: origin is just a name for a remote you're tracking | 21:01 |
|
| doesn't necessarily have anything to do with your local branches | 21:01 |
|
nat2610
| I just did a git branch <branch_name> and check out that branch name ... the modification I do from now on won't affect the branch where I was before the checkout right ? | 21:02 |
|
drizzd
| but if you create a branch like this "git checkout -b <branch> origin/<branch>", git pull will call "git fetch; git merge origin/<branch>" | 21:02 |
| → cdemyanovich joined | 21:03 |
|
drizzd
| nat2610: correct | 21:03 |
|
nat2610
| ok ... | 21:03 |
|
| thanks | 21:03 |
|
cdemyanovich
| I'm using git 1.6.0.4 under Cygwin on XP SP3 to manage a VB6 project | 21:03 |
|
nat2610
| so if I push that on github later, I will have a origin/<branch_name> created ? | 21:03 |
|
cdemyanovich
| a tool modified some of my files | 21:04 |
| ← drobbins left | 21:04 |
|
cdemyanovich
| neither git reset --hard nor git checkout on individual files seems to undo changes | 21:04 |
|
| any ideas? | 21:04 |
|
drizzd
| nat2610: yes. you can try right now | 21:04 |
| → bwwww joined | 21:07 |
| ← danten left | 21:10 |
|
nat2610
| drizzd, sweet ... it worked I think, I did a git commit ... then git push origin <branchname> and I have it now on github ! | 21:12 |
| → user____ joined | 21:13 |
| ← d0k left | 21:13 |
| ← scsiraider left | 21:13 |
| ← name left | 21:16 |
| ← user___ left | 21:16 |
|
drizzd
| nat2610: gj | 21:22 |
| → drobbins joined | 21:24 |
| ← bobmcw left | 21:27 |
|
bremner
| cdemyanovich: what does git status tell you? | 21:27 |
| → bobmcw joined | 21:27 |
| → prof_freud joined | 21:28 |
| ← naeu left | 21:28 |
| ← DrNick left | 21:32 |
| ← bobmcw left | 21:37 |
| → bobmcw joined | 21:38 |
| → DrNick joined | 21:39 |
| → norm2782 joined | 21:40 |
| → nickh joined | 21:42 |
| → panpainter joined | 21:47 |
| → FFighter joined | 21:48 |
| ← panpainter left | 21:48 |
| ← bobmcw left | 21:50 |
| ← jesselucas left | 21:50 |
| ← lucsky left | 21:51 |
| → bobmcw joined | 21:51 |
| → akitada joined | 21:51 |
| → robinr joined | 21:56 |
| ← Weasel[DK] left | 21:56 |
| ← ijcd left | 21:57 |
| → ijcd joined | 21:57 |
| → scsiraider joined | 21:58 |
| drobbins → drobbins|away | 21:58 |
| → jerbear joined | 21:59 |
| ← norm2782 left | 22:00 |
| ← Sonderblade left | 22:00 |
|
cdemyanovich
| bremmer: was away shoveling some snow :-) | 22:02 |
| ← jeckel left | 22:02 |
|
cdemyanovich
| @bremmer: git status tells me that several files are changed but not updated | 22:02 |
| → prophile joined | 22:03 |
|
prophile
| hello | 22:03 |
|
| how can I permanently remove one or more files from a git repository's history, even if this repository has been accessed by multiple people? | 22:04 |
|
mugwump
| first use git-filter-branch to modify the history, then ask everyone to re-clone | 22:04 |
|
bremner
| cdemyanovich: after 'git reset --hard HEAD' ; weird. | 22:05 |
|
doener
| cdemyanovich: windows? mac os? | 22:05 |
| ← scsiraider left | 22:05 |
|
bremner
| doener: the evil W*indows | 22:05 |
|
cdemyanovich
| bremner: cygwin on XP SP3 | 22:05 |
| → nice_burger joined | 22:06 |
|
doener
| cdemyanovich: could you pastebin the "git status" output? | 22:06 |
|
cdemyanovich
| bremner: don't use IRC often enough to know pastebin; what do I do? | 22:06 |
| → scsiraider joined | 22:06 |
|
offby1
| cdemyanovich: yeah, I never had that problem with Cygwin, but with msysgit, it happens a lot. The fix/workaround is to set core.autocrlf and/or core.fileMode to false | 22:06 |
|
| http://offby1-whining.blogspot.com/search?q=msysgit for a bit of detail | 22:07 |
| drobbins|away → drobbins | 22:07 |
| → jeckel joined | 22:07 |
|
offby1
| cdemyanovich: perhaps Cygwin's mount table has funny non-standard options, like "text" | 22:08 |
|
doener
| cdemyanovich: go to http://git.pastebin.com | 22:08 |
|
| cdemyanovich: then paste your stuff, send it, and give us the url of the resulting page | 22:08 |
| ← user____ left | 22:09 |
|
argonel
| i just did a git stash apply, and it had merge conflicts. what gives? | 22:10 |
|
cdemyanovich
| bremner: http://git.pastebin.com/d4dd1df21 | 22:10 |
| ← nice_burger left | 22:11 |
|
doener
| cdemyanovich: I guess "git diff" is non-empty, but "git diff -w" is empty? | 22:11 |
| → mw_ joined | 22:12 |
|
cdemyanovich
| doener: both are non-empty | 22:12 |
| → semslie1 joined | 22:12 |
|
drizzd
| argonel: then obviously, you did not apply it to the state you were in when you stashed it | 22:12 |
|
doener
| cdemyanovich: even with -w? | 22:13 |
|
| cdemyanovich: and empty as in "no actual changes shown", headers being ignored | 22:13 |
|
drizzd
| argonel: essentially, 'git stash' is a shortcut for committing to a branch to be merged later | 22:13 |
|
argonel
| drizzd: thats the problem i'm having. it *was* in the same state. basically, the events were "git stash; sleep 24h; git stash apply" | 22:13 |
|
bremner
| argonel: blame the cat? | 22:14 |
| ← elmex left | 22:14 |
|
cdemyanovich
| doener: it shows something like this for each file | 22:14 |
|
| doener: $ git diff -w | 22:14 |
|
| diff --git a/Matrix.ini b/Matrix.ini | 22:14 |
|
| index 6d7ef08..e2e8086 100644 | 22:14 |
| ← priidu left | 22:14 |
| → lucasvo_ joined | 22:14 |
|
drizzd
| argonel: can you reproduce that? | 22:14 |
|
doener
| argonel: git rev-parse HEAD stash@{0}^ | 22:14 |
| → kngspook joined | 22:14 |
|
doener
| argonel: does that give the same hash this? | 22:14 |
|
cdemyanovich
| doener: but no line-by-line diff output | 22:14 |
|
lucasvo_
| I would like to push a branch I have created locally to my remote repository, how can I do that? | 22:14 |
|
doener
| cdemyanovich: ok, so it's "empty" | 22:15 |
| lucasvo_ → lucasvo | 22:15 |
|
argonel
| doener: two different hashes | 22:15 |
| → agenteo joined | 22:15 |
|
doener
| cdemyanovich: and then, yeah, something is converting line-endings | 22:15 |
|
cdemyanovich
| offby1: I do have core.filemode, core.autocrlf and core.safeclrf set to true, so maybe that link will be helpful | 22:15 |
|
doener
| argonel: then you didn't apply to the same state as from which you stashed | 22:15 |
| → nice_burger joined | 22:16 |
|
semslie1
| If I am working on a branch that others may also be working on remotely, how would I check against our central repository whether there have been and changes without pulling them in? | 22:16 |
|
doener
| semslie1: use "git fetch" to update your remote tracking branches | 22:16 |
|
azuk
| cdemyanovich, git reset --hard is not enough with crlf issues, you need to remove the index first if you want it to reapply conversion | 22:17 |
|
kngspook
| Can someone explain to me the difference between fetch, pull, and checkout? | 22:17 |
|
doener
| azuk: seems like cygwin is doing the conversion, only thing that I know of to work-around such behaviour would be core.autocrlf=input | 22:17 |
|
cdemyanovich
| azuk: haven't done that before; have a pointer to what's involved in removing the index? | 22:18 |
|
argonel
| its a bloody good thing i was paranoid and backed this entire tree up | 22:18 |
|
cdemyanovich
| doener: here's my git config | 22:18 |
|
| doener: http://git.pastebin.com/d3a2725b5 | 22:18 |
|
doener
| kngspook: fetch = get stuff from another remote. pull = fetch + merge. checkout = well, checkout, get something out of the repo | 22:18 |
|
azuk
| doener, I don't know why you mean by that, I don't think cygwin is doing any conversion | 22:18 |
|
kngspook
| doener: checkout = get something out of _local_ repo, right? | 22:19 |
|
RandalSchwartz
| cheeckout = make workdir look like some commit | 22:19 |
|
doener
| kngspook: yep, the repo you're in | 22:19 |
|
RandalSchwartz
| and prepare further commits to be on top of that | 22:19 |
|
argonel
| doener: is there any way i can roll back to the "wrong" state that existed before git stash apply, so i can try and figure out what state it is? | 22:19 |
|
doener
| RandalSchwartz: that's only half of the story, "checkout <commit> -- paths" does something else | 22:19 |
|
kngspook
| RandalSchwartz: so checkout would destroy any changes I had made? | 22:19 |
|
azuk
| cdemyanovich, rm .git/index | 22:19 |
|
RandalSchwartz
| kngspook - commit first | 22:20 |
|
kngspook
| RandalSchwartz: well, no, sometimes I want to reset to a known state | 22:20 |
|
corecode
| is there a clever way to get a diff-tree to the parent of a commit, unless it is a merge (then i don't know where to diff to) | 22:20 |
|
RandalSchwartz
| git reset --hard COMMIT | 22:20 |
|
doener
| azuk: when you mount a fs as "text" with cygwin, it does crlf conversions | 22:20 |
|
RandalSchwartz
| stays same branch, picks new parent/workdir commit | 22:20 |
|
kngspook
| RandalSchwartz: then what's the difference between reset and checkout? | 22:20 |
|
doener
| corecode: git show <commit> | 22:21 |
|
RandalSchwartz
| reset is lower level | 22:21 |
|
argonel
| i'd really like to be able to figure out wtf is going on here, as it stands now i don't trust git stash | 22:21 |
|
RandalSchwartz
| you should really know what you're doing if you do that | 22:21 |
|
doener
| corecode: works for any commit. For merge commits, it defaults to the --cc format | 22:21 |
|
RandalSchwartz
| checkout is higher level | 22:21 |
|
| does some safety checks | 22:21 |
|
kngspook
| RandalSchwartz: so, for now, stick to checkout (since I'm a newb...and a confused one atm, at that) | 22:21 |
|
RandalSchwartz
| checkout can create a new branch too | 22:21 |
|
doener
| argonel: stash@{0}^ is the commit that you had checked out when you stashed (assuming that you're talking about the lasted stash entry, otherwise adjust the 0) | 22:22 |
|
cdemyanovich
| azuk: I assume that the index will be rebuilt for me; correct? | 22:22 |
|
corecode
| doener: where is the --cc documented? | 22:22 |
|
doener
| corecode: diff-tree I think | 22:22 |
|
azuk
| doener, yes of course, but no sane person does that | 22:22 |
|
parasti
| argonel: if you had no other local changes when you applied the stash, just reset --hard HEAD | 22:22 |
| ← niki left | 22:23 |
|
argonel
| ok, so reset and apply again? | 22:23 |
|
RandalSchwartz
| hard head. :) | 22:23 |
|
parasti
| argonel: that's not going to achieve anything... you'd just get the same conflicts again | 22:24 |
|
| argonel: make sure the tree you apply the stash to matches the state of the tree when the stash was created | 22:24 |
|
corecode
| doener: that doesn't seem to work for --stat though :/ | 22:25 |
|
kngspook
| Now on to more esoteric questions...assuming this is a private repo, could I do a git fast-export to a file, modify commit messages (the email address mainly), and then fast-import it without doing any damage? | 22:25 |
|
argonel
| parasti: how do i do that? | 22:26 |
| ← prof_freud left | 22:26 |
|
doener
| corecode: what do you mean by "doesn't work"? | 22:26 |
|
argonel
| parasti: i don't know how to inspect "the state" | 22:26 |
| → langenberg joined | 22:26 |
|
parasti
| argonel: maybe it would help if you explained what do you expect git-stash to do | 22:27 |
|
| argonel: use git stash show, git show, git log and git diff to "inspect" | 22:27 |
|
doener
| argonel: try this: "git rev-parse stash@{0}^", copy the hash you get, "gitk --all", paste that hash into the "SHA1 ID" field, hit enter, it'll show you which commit you had checked out when you stashed | 22:28 |
|
langenberg
| Is there a git command that gives me a clean checkout without the history? For example, I manage a web site in git, and I want to tar and scp it to my webserver. | 22:28 |
|
parasti
| langenberg: git archive | 22:28 |
|
doener
| argonel: (might be required to copy the hash after starting gitk, IIRC it auto-selects the current commit's hash into the paste buffer) | 22:28 |
|
argonel
| (using qgit here) | 22:29 |
|
langenberg
| parasti: Thanks! That even creates the tar archive for me. :-) | 22:30 |
|
| git is nice for devs | 22:30 |
|
| So is #git btw ;) | 22:30 |
|
argonel
| whoa, ok, i see whats going on | 22:30 |
| ← jerbear left | 22:30 |
|
doener
| argonel: so, what is it? :-) | 22:31 |
|
argonel
| i was on a different branch | 22:31 |
|
doener
| heh | 22:32 |
| ← cdemyanovich left | 22:32 |
|
doener
| good I added --all to that | 22:32 |
|
argonel
| parasti: so, i expected git-stash to warn me that i was on the wrong branch :) | 22:33 |
|
doener
| it doesn't (and shouldn't) care | 22:33 |
|
argonel
| apparently i care though, given the huge number of conflicts | 22:34 |
|
doener
| More often than not, I just stash because I want the changes to go somewhere else, and just checking out another branch directly isn't good enough | 22:35 |
| drobbins → drobbins|away | 22:35 |
|
doener
| if "git stash" would complain everytime, I'd go nuts | 22:35 |
|
argonel
| sometimes i hate software that assumes i know what i'm doing :P | 22:35 |
|
tango_
| argonel, only when it assumes wrong, right? 8-D | 22:36 |
|
doener
| and "same state" is a bad assumption in general, a common usage pattern is "stash; pull; stash apply", and that basically never leaves you with the same state | 22:36 |
|
parasti
| well, I use that term in a pretty loose fashion... no changes in a relevant file = same state | 22:38 |
| → charon joined | 22:38 |
|
parasti
| and in fact, no *relevant* changes | 22:38 |
|
argonel
| i need a better workflow. | 22:38 |
|
doener
| I use it as in "same commit checked out" (and maybe I should just say that instead) | 22:39 |
|
argonel
| i'm used to svn, where if i want another working copy, i co from the server again. how do i achieve that with git? | 22:39 |
|
doener
| clone again | 22:40 |
| → niki joined | 22:40 |
|
argonel
| this repo only exists here | 22:40 |
| → r3dd0 joined | 22:40 |
|
doener
| so? | 22:40 |
|
r3dd0
| hey | 22:40 |
|
| http://paste2.org/p/109027 <- whats this? | 22:40 |
|
doener
| git clone /path/to/repo | 22:40 |
| drobbins|away → drobbins | 22:40 |
| ← markelik_ left | 22:41 |
|
r3dd0
| I just pushed everything like i always do | 22:41 |
|
parasti
| argonel: an alternative to that is the contrib/workdir/git-new-workdir script | 22:41 |
|
r3dd0
| now i encounter this error when i try to pull it | 22:41 |
| ← SuperPhly left | 22:47 |
| → SuperPhly_ joined | 22:47 |
| ← kumbayo left | 22:47 |
| ← ph^ left | 22:49 |
|
argonel
| ok, cool | 22:49 |
| ← langenberg left | 22:51 |
| ← nice_burger left | 22:51 |
| ← mw_ left | 22:51 |
| ← jeckel left | 22:53 |
| → jeckel joined | 22:54 |
|
corecode
| is there a way to prevent git-diff-tree to print the parent rev in the first line? | 22:54 |
| ← scsiraider left | 22:56 |
| drobbins → drobbins|away | 22:56 |
|
r3dd0
| daniel@vadmin134:~/fach$ git repack | 22:57 |
|
| Counting objects: 3029, done. | 22:57 |
|
| warning: suboptimal pack - out of memory | 22:57 |
|
| fatal: Out of memory, malloc failed6) | 22:57 |
| → nice_burger joined | 22:57 |
|
r3dd0
| Oo | 22:57 |
|
| wtf is this? | 22:57 |
| → scsiraider joined | 22:57 |
| → _bernie joined | 22:58 |
|
_bernie
| I have a corrupted repository that I'd like to fix. is there a way to force git-fetch to download missing objects from the remote? | 23:00 |
| ← scsiraider left | 23:00 |
|
prophile
| git clone | 23:00 |
|
_bernie
| the missing object is part of a remote branch, but for some reason the local sha-1 does not exist on the server | 23:00 |
| → scsiraider joined | 23:00 |
|
prophile
| try some cleanup with git fsck --full --strict && git gc --aggressive && git prune | 23:01 |
|
_bernie
| bernie@giskard:~/public_html/wiki/data$ git clone -n trinity/master | 23:01 |
|
| fatal: Could not switch to 'trinity' | 23:01 |
| → bobmcw_ joined | 23:02 |
| → markelikalderon joined | 23:02 |
|
_bernie
| prophile: both "git gc" and "git prune" abort with "error: Could not read ba55026ea7153e6f0c8871f138b10f3385a3e253" | 23:04 |
|
prophile
| rm that object :P | 23:04 |
|
| by git clone | 23:05 |
|
| I meant rm your repository and duplicate a new one | 23:05 |
| drobbins|away → drobbins | 23:05 |
|
doener
| _bernie: you could clone the remote repo and copy the pack and index files from the new clone to the old one | 23:06 |
|
_bernie
| prophile: it's 250MB, this is why I was trying to recover it | 23:06 |
|
doener
| _bernie: do you have direct access to the remote? | 23:06 |
|
| _bernie: ie. ssh or so? | 23:07 |
| ← aboodman left | 23:07 |
|
doener
| _bernie: or someone else having a clone of it? | 23:07 |
|
r3dd0
| prophile, fatal: Out of memory, malloc failed6) error: failed to run repack... when I try to run fsck gc and prune | 23:08 |
|
_bernie
| doener: yes | 23:08 |
|
doener
| _bernie: ok, first, figure out what kind of object the missing one is (commit, tree, blob, ...) | 23:08 |
|
| _bernie: that's: git cat-file -t $hash | 23:08 |
|
prophile
| oy vay | 23:08 |
|
r3dd0
| Could it be that my project got to big after the last push and now my server ram is too small? | 23:09 |
|
_bernie
| doener: git fsck reports a few: | 23:09 |
|
| broken link from commit 1b3c8721e57dc7a226359d06975ea143305c5c1f | 23:09 |
|
| to tree eee1d287b770e99eb2848ec87a31c298a4bdd801 | 23:09 |
|
| doener: hmmm weird, the missing objects are also missing on the server side. | 23:11 |
|
doener
| but the commit objects (eg. 1b3c8721...) exist there? | 23:12 |
| → bobmcw__ joined | 23:13 |
| ← SuperPhly_ left | 23:13 |
|
_bernie
| doener: no... | 23:14 |
|
| doener: the firt N commits are identical. That's weird... there seems to be a point in the history where things diverge | 23:15 |
|
| oh btw the repository got corrupted as a result of a disk crash | 23:16 |
|
| I know I'm being picky here, but it's good to handle repository corruption gracefully | 23:17 |
| ← bobmcw left | 23:18 |
|
charon
| _bernie: you may disagree, but carefully verifying consistency and freaking out when it fails seems quite graceful to me. i doubt there's another way to handle it, as you'd have to reconstruct the objects from the sha1, which is hard if you don't have a candidate file lying around on an old backup. | 23:19 |
| ← semslie1 left | 23:19 |
|
DrNick
| OTOH, being able to take a corrupted repo and moving it into a "yes, I know this is corrupted, do your best anyway" state would be handy | 23:20 |
|
charon
| maybe a sort of grafts-file for arbitrary objects would help, where you could specify a nearby candidate and filter-branch it to recover the rest... dunno | 23:21 |
| drobbins → drobbins|away | 23:21 |
|
charon
| then again if you have to "graft" away a tree, you might as well remove the whole commit which is already possible | 23:22 |
|
_bernie
| charon: it does not really freak out either: for example, "git pull" gets confused and leaves the sandbox full of conflicts that shouldn't exist | 23:25 |
| ← r3dd0 left | 23:25 |
|
_bernie
| charon: also, git prune --expire shouldn't abort if the breakage is further down in the history. | 23:26 |
| ← bobmcw__ left | 23:26 |
|
_bernie
| charon: what's not clear to me is why the missing files are not on the remote repository (even though they belong to the remote branch) | 23:27 |
| ← bobmcw_ left | 23:29 |
| ← ijcd left | 23:31 |
| ← nice_burger left | 23:32 |
| ← pcapriotti left | 23:33 |
| → ben_h joined | 23:33 |
| → loincloth joined | 23:34 |
| → nice_burger joined | 23:37 |
| ← akitada left | 23:37 |
|
charon
| _bernie: seems you're right. clone --mirror doesn't even twitch if the HEAD commit of the cloned repo is tree-less, so perhaps push suffers from the same problem. | 23:40 |
|
| report it to the list? | 23:40 |
| ← tritz left | 23:42 |
|
charon
| well, push did fail. | 23:42 |
| → cdemyanovich joined | 23:44 |
| → dduncan joined | 23:48 |
| → m104 joined | 23:51 |
| ← lucasvo left | 23:54 |
| ← kngspook left | 23:54 |
| ← schierbeck left | 23:54 |
| → kngspook joined | 23:55 |
| ← jeckel left | 23:58 |
| → vbabiy joined | 23:59 |
| → quoin joined | 23:59 |
| ← nud left | 23:59 |