| 2008-05-30 |
| ← jeckel left | 00:06 |
| ← devogon left | 00:06 |
| → jeckel joined | 00:09 |
| → gmcinnes joined | 00:10 |
|
gmcinnes
| hi all. How do I add an empty directory to a git repo? | 00:11 |
|
Eridius|work
| you need to put something in there. I recommend .gitignore | 00:11 |
|
| git doesn't track dirs | 00:11 |
|
| although, in theory it could just use an empty tree. I wonder why it doesn't support that | 00:11 |
|
| ? | 00:11 |
|
| pasky stays silent ;) | 00:11 |
|
gmcinnes
| right. I thought that was the case. That's what I've done. | 00:12 |
|
| thx. | 00:12 |
|
vmiklos
| it's in the faq | 00:15 |
| → eikonos joined | 00:15 |
|
vmiklos
| http://git.or.cz/gitwiki/GitFaq#head-1fbd4a018d45259c197b169e87dafce2a3c6b5f9 | 00:16 |
|
| Eridius|work wonders how much work it would be to teach the index how to track empty dirs | 00:17 |
| → z1o joined | 00:19 |
| → norflork joined | 00:20 |
|
pasky
| it would be trivial | 00:21 |
|
| (I believe) | 00:21 |
| → tim_abell_ joined | 00:21 |
| tim_abell_ → tim_abell | 00:21 |
| ← tim_abell left | 00:22 |
| → krh joined | 00:22 |
|
pasky
| I think the FAQ is misleading - I believe the proposals (by others and me as well, historically) were getting rather close to patch form but the powers that be did not like the idea :) | 00:22 |
| → tim_abell joined | 00:22 |
|
pasky
| maybe there are caveats I don't realize | 00:22 |
| ← schacon_ left | 00:23 |
| → bdiego joined | 00:23 |
| ← Rameteric left | 00:24 |
| ← sbeyer left | 00:24 |
| ← aroben left | 00:25 |
| ← jamessharpe left | 00:26 |
| ← hipertracker left | 00:28 |
|
norflork
| How do I modify my default commit message so that it always starts with a specific custom string at the very top for a single repository? I think I need to modify prepare-commit-msg in my .git/hooks directory, but the best I've been able to do is get my custom message printed at the very bottom of my commit message which isn't what I want. (I don't know shell very well.) | 00:35 |
| → avdi_ joined | 00:35 |
| → mrix_ joined | 00:35 |
|
mrix_
| hey! Need help on my question: 1) assume i have a repo and 2) i generated few files there (many) 3) i changed my mind and want to get clean repo. How do i do that except manually deleting all those generated files i don't need anymore? Thanks! | 00:37 |
|
Mikachu
| norflork: does it apply after you write the message in the editor? | 00:37 |
|
| norflork: otherwise the obvious answer is to write the message under the generated content :P | 00:38 |
| → context joined | 00:38 |
|
z1o
| mrix_: depends on if the repo is cloned or not. | 00:38 |
|
mrix_
| z1o: it's a local repo | 00:38 |
|
doener_
| norflork: you can create a template for the commit message and set commit.template in the config | 00:38 |
|
norflork
| I see the message appear in the editor itself. But it is under the generated content. I can move it manually, but it gets annoying for when git auto-creates merge messages. | 00:38 |
| ← context left | 00:39 |
|
Pieter
| hmm | 00:39 |
|
| git log HEAD~50000 is kinda slow | 00:39 |
|
Mikachu
| norflork: ah, can you pastebin what you have? | 00:39 |
|
z1o
| mrix_: git checkout master should work | 00:39 |
| → Aughey joined | 00:39 |
|
tim_abell
| I'd love to know what you guys think of my git / flash drive sharing howto: http://timwise.blogspot.com/2008/05/sharing-work-between-computers-with-usb.html | 00:39 |
|
norflork
| just a sec. I think I broke things again. :P | 00:39 |
|
mrix_
| z1o: those useless files do not get removed...weird | 00:40 |
| → rubydiam_ joined | 00:40 |
|
z1o
| mrix_: or clone the repo | 00:40 |
|
tim_abell
| ps, Hi all. | 00:40 |
|
z1o
| mrix_: cd ../ git clone $repo ./newrepo | 00:41 |
| ← rubbish left | 00:42 |
|
z1o
| mrix_: best thing to do though in the future is to branch. then you can checkout a branch ie master to remove changes | 00:42 |
|
mrix_
| z1o: well what i did instead is $ rm -rf./*; git checkout master ./ | 00:46 |
| → brosner joined | 00:46 |
|
mrix_
| z1o: don't like that though | 00:46 |
|
z1o
| mrix_: right so use branching | 00:46 |
|
| mrix_: git branch testing . git checkout testing | 00:46 |
| ← datafirm left | 00:46 |
|
mrix_
| z1o: yup, thanks! | 00:47 |
|
z1o
| mrix_: then you can just git checkout master .. poof changes gone. checkout testing poof changes back | 00:47 |
| rubydiam_ → rubydiamond__ | 00:47 |
|
norflork
| Mikachu: sorry, I really broke it now and don't remember what I had. I think I modified the commented out perl statement though. | 00:48 |
|
| doener_, can you tell me more about the template? | 00:48 |
|
doener_
| uhm, there isn't much to say. You write it, you add the config entry, and then git commit will use it as its template when you need to enter a commit message | 00:49 |
| → spearce joined | 00:50 |
| ← jlh left | 00:50 |
| → jlh_ joined | 00:50 |
| → datafirm joined | 00:51 |
| ← avdi left | 00:51 |
| jlh_ → jlh | 00:51 |
|
norflork
| so in a .gitconfig file, I would have a section called [commit] and a line that looks like template = /path/to/template ? | 00:52 |
| ← bdiego left | 00:52 |
|
Mikachu
| you can use the git-config command | 00:54 |
|
norflork
| Is it possible to have a gitconfig per repository instead of globally? I want this custom commit message only for a specific repository, not all of mine. | 00:55 |
|
Mikachu
| yes | 00:56 |
|
| that's the default mode for git-config | 00:56 |
| → cout joined | 00:56 |
|
Mikachu
| while with --global it goes to ~/.gitconfig | 00:56 |
| → Leefmc joined | 00:56 |
|
Eridius|work
| norflork: .git/config is the default config. note that this does *not* get cloned | 00:56 |
|
tim_abell
| I promise it's not shameless self promotion, rather a labour of love. I only discovered git recently and having had it improve my life in a small way I wanted to share my new found knowledge for the benefit of the greater good. Apologies for rambling, it's late. | 00:57 |
|
Mikachu
| that might also be a reason for not many looking at it :) | 00:57 |
|
| tim_abell shoots self in foot as usual | 00:58 |
|
norflork
| okay, good information here. So .git/config will not be cloned. Do the hooks like prepare-commit-msg get cloned? | 00:58 |
|
Mikachu
| norflork: no | 00:58 |
|
Eridius|work
| no | 00:58 |
|
Mikachu
| norflork: echo rm -rf ~ >> .git/hooks/prepare-commit-msg, hey norflork clone my repo it's so great | 00:58 |
|
tim_abell
| I mentioned in my article removing the contents of .git/hook on fat drives due to lack of execute flag. Am I asking for trouble there or is that considered ok? | 00:59 |
|
Mikachu
| tim_abell: that's a good idea i should think | 00:59 |
|
tim_abell
| phew, thanks | 01:00 |
|
Mikachu
| tim_abell: they're definitely not needed for normal operation, especially as they're all disabled by default | 01:00 |
|
tim_abell
| I can't wait to impose git on work. Er I mean persuade them it's better for us than svn. | 01:00 |
|
Eridius|work
| good luck | 01:01 |
|
| tim_abell: there's a config flag you can set that indicates exec flags don't exist | 01:01 |
|
tim_abell
| thanks, shouldn't be to bad. they'll just need time to adjust (/etc/init.d/svnserve stop. oops!) | 01:02 |
|
| oh cool, thanks Eridius, I'll look it up | 01:02 |
|
ToxicFrog
| Hmm. That's odd. | 01:02 |
| → soto joined | 01:03 |
|
Eridius|work
| tim_abell: it's core.fileMode | 01:03 |
|
ToxicFrog
| I cloned my repo onto windows using cygwin git, and it lost most, but not all, of the execute flags. | 01:03 |
|
Eridius|work
| git config core.fileMode false | 01:03 |
|
| when false, it means ignore exec bit differences | 01:03 |
|
soto
| How do I amend a commit message? | 01:03 |
|
Eridius|work
| soto: if it's the latest commit, git commit --amend | 01:03 |
|
| that'll re-create the commit using the current index, and let you edit the message | 01:03 |
|
soto
| Eridius|work: But if I only want to change the message I have nothing to commit | 01:03 |
|
Mikachu
| Eridius|work: i don't know if that applies to hooks | 01:04 |
|
Eridius|work
| soto: wrong | 01:04 |
|
| you have to create a new commit object | 01:04 |
| ← rwanderley left | 01:04 |
|
Eridius|work
| Mikachu: heh, you're right, I don't know either | 01:04 |
|
soto
| Eridius|work: Do you mind elaborating? How do I create a new commit object? | 01:04 |
|
ToxicFrog
| soto: the message is an intrinsic part of the commit object. | 01:04 |
| → avdi joined | 01:04 |
|
Mikachu
| soto: just run git commit --amend | 01:04 |
|
ToxicFrog
| There is no way to edit a commit once it's created; the closest you can come is to create a new commit and replace the old one with it. | 01:05 |
|
Eridius|work
| soto: are you trying to edit the last commit object? if so, use git commit --amend like I said before | 01:05 |
|
ToxicFrog
| Which is what --amend does. | 01:05 |
|
soto
| Eridius|work: Alright, I guess I thought that wasn't working when I tried it. Thanks | 01:05 |
| ← avdi left | 01:06 |
| → doener joined | 01:06 |
| → avdi joined | 01:07 |
| ← datafirm left | 01:08 |
|
tim_abell
| thanks Eridius, do you know if there's anything more enlightening docs for fileMode than this? http://www.kernel.org/pub/software/scm/git/docs/git-config.html#EXAMPLES | 01:08 |
|
| grammer failing. i should go to bed | 01:08 |
|
Eridius|work
| tim_abell: I think you need to ask someone who actually uses FAT ;) | 01:08 |
|
tim_abell
| poor souls | 01:09 |
| → Cherife joined | 01:09 |
|
tim_abell
| thanks for your help, I'll investigate further another day. goodnight all | 01:09 |
| ← shoe left | 01:10 |
| ← tim_abell left | 01:11 |
| ← avdi left | 01:11 |
|
norflork
| Thanks everybody! I think I got the template working. | 01:12 |
|
| Since the config doesn't clone, are there any recommended practices to remembering to copy this with a new clone? | 01:14 |
| → tzafrir joined | 01:14 |
|
Eridius|work
| you could make a global alias that calls clone and prints a reminder, and use that instead of clone | 01:14 |
|
tzafrir
| any idea how I get git-svn to authenticate with a certificate? | 01:14 |
|
Eridius|work
| tzafrir: it should just work the same way svn does | 01:14 |
|
Mikachu
| you can put some stuff in a branch | 01:14 |
|
| or a tag | 01:14 |
|
tzafrir
| Eridius, sadly, it doesn't | 01:15 |
|
| Specifically, on the same machine subversion 1.4 reads configuration from files in ~/.subversion | 01:15 |
|
Eridius|work
| yes, so should git-svn | 01:16 |
|
| my git-svn reads ~/.subversion no problem | 01:16 |
|
tzafrir
| And I can't persuade git-svn to use the certificate listed there | 01:16 |
|
Mikachu
| i think someone else had the same issue (didn't see a solution) | 01:16 |
|
tzafrir
| Eridius, client-side certificate? | 01:16 |
|
Mikachu
| if it wasn't you | 01:16 |
|
| the only thing i know works is accepting certificates from the server | 01:16 |
| ← soto left | 01:17 |
|
Eridius|work
| tzafrir: I'm not entirely sure if any svn server I've used with git-svn uses certificates, but I know it reads my non-cert auth info just fine, and I looked at the code once and it looked like it should read everything | 01:17 |
| ← doener_ left | 01:18 |
|
tzafrir
| it asks me for a password | 01:18 |
|
| Over a year ago I made an ugly patch to some perl module to get svk working | 01:19 |
|
| But I don't have it here | 01:19 |
| ← goibhniu left | 01:19 |
|
Mikachu
| the perl module comes with svn, but it's possible git-svn still has to call some routine in it to make it work, or it coudl be a bug in svns perl module | 01:19 |
|
| i say this knowing next to nothing about both :) | 01:20 |
| ← avdi_ left | 01:20 |
| → ben_h joined | 01:24 |
|
norflork
| Can somebody set me straight on git push? (newbie question). If I create a new repo 'orig' and then clone it 'copy'. I make some changes to 'copy' and commit them. Then from 'copy', I git push to 'orig'. What am I supposed to do in 'orig' to see the new changes from 'copy'? | 01:25 |
|
Mikachu
| norflork: you are not supposed to push to a non-bare repo | 01:26 |
|
| http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e73 | 01:26 |
|
| Mikachu hopes that is the right link, did /lastlog faq | 01:26 |
|
norflork
| I think that link was correct. | 01:27 |
| ← david_koontz left | 01:29 |
|
| ToxicFrog winds windows's entrails out on a stick | 01:29 |
|
tzafrir
| the password prompt is in the function ssl_client_cert_pw | 01:29 |
|
| strace shows that it did read my certificate file | 01:30 |
|
| But no attempt made to decrypt it? | 01:30 |
| → brosner_ joined | 01:30 |
| ← stillLotR left | 01:30 |
|
ToxicFrog
| 'git checkout: we do not like "World: The Universes of Legend" as a branch name' | 01:32 |
|
| Sad. | 01:32 |
| ← krh left | 01:32 |
|
Mikachu
| the colon is a big nono | 01:33 |
|
ToxicFrog
| Oh, right. This is windows. | 01:33 |
|
| *and* it's reserved by git. | 01:33 |
|
Mikachu
| well, think of push and fetch | 01:33 |
|
| i don't know about the spaces either | 01:33 |
|
ToxicFrog
| It doesn't like the spaces either. | 01:33 |
|
| That I can't see any reason for. | 01:34 |
| → shoe joined | 01:34 |
|
ToxicFrog
| Hmm. Man page says it needs to pass git-check-ref-format | 01:34 |
| ← brosner left | 01:34 |
| brosner_ → brosner | 01:35 |
|
Mikachu
| i'm sure you can use ∶ and instead | 01:35 |
|
ToxicFrog
| Ok. No nonprintings. Nothing in [[ ~^:?*]. No "..". Cannot end in /. Cannot contain "/.". | 01:35 |
|
| Yes, but those are a pain to type. | 01:36 |
|
Mikachu
| sure :) | 01:36 |
|
ToxicFrog
| I could use "World/The.Universes.of.Legend" | 01:37 |
|
Mikachu
| note that you can't have two branches "foo" and "foo/bar" at the same time | 01:37 |
|
ToxicFrog
| Yeah. | 01:37 |
|
| That won't be an issue. | 01:37 |
|
| Every branch except master starts with World/ or Fortress/ | 01:37 |
|
Mikachu
| are these your save files? :) | 01:38 |
|
ToxicFrog
| Yep | 01:38 |
|
Mikachu
| heh | 01:38 |
|
ToxicFrog
| Well, my complete active games | 01:38 |
|
| World/ branches contain generated worlds with no running games; Fortress/ branches, active games. | 01:38 |
|
| When a fortress finishes, I merge it back into the world it spawned from. | 01:38 |
|
Mikachu
| i see | 01:39 |
|
ToxicFrog
| It's not a true merge, sadly - if I have multiple concurrent fortresses, only one of them will succeed. | 01:39 |
|
Mikachu
| i think that's a new usage of git :) | 01:39 |
|
ToxicFrog
| But it makes keeping track of things much easier. | 01:39 |
|
| (also makes trying out mods and the like easier - just create a new branch. No need to taff around with backup game installs!) | 01:39 |
|
jwasson
| OOC, why allow the limitation on branch names? I understand the technical reason with regards to the implementation, but why an implementation that creates those limitations? | 01:42 |
|
Eridius|work
| jwasson: because it would be more work to remove the limitations, and it hardly seems worht it | 01:42 |
|
ToxicFrog
| jwasson: the man page explains it, actually | 01:43 |
| ← Ryback_ left | 01:45 |
|
jwasson
| Hrmm....I guess some of that makes sense. | 01:46 |
|
norflork
| Commit-template (again): Drat, it looks like the auto-generated merge message that looks like: "Merge branch 'master' of /path/of/repo/" is not respecting my template format. Are there any other templates I need to override? | 01:48 |
| ← warthog9 left | 01:50 |
| → ajonat joined | 01:50 |
| ← ajonat left | 01:51 |
| ← mrix_ left | 01:51 |
| → ajonat joined | 01:52 |
| → bdiego joined | 01:55 |
| ← mithro left | 01:59 |
| → destruct_ joined | 02:03 |
|
norflork
| It looks like commits during a merge-conflict also bypass my template. | 02:09 |
| → jamesish joined | 02:11 |
| ← eikonos left | 02:12 |
| ← destruct left | 02:13 |
|
jamesish
| Hi folks. We have an interesting situation. We had a git repository, call it foo. And one of our developers, Bob, pulled from it and started doing large, good work. In the meantime, we moved to repository bar and other developers committed and updated, while Bob was working away solidly. Now he needs to transition his work to the new repository. | 02:14 |
|
| I know git can handle this kind of situation, but I don't have enough experience to know how to deal with it. | 02:15 |
|
jwasson
| Bar wasn't cloned from foo? | 02:16 |
|
jamesish
| Bar wasn't cloned from foo. | 02:17 |
|
jwasson
| If it wasn't, have Bob generate patches from his repository. Find the closest commit in bar and checkout a new branch there. Apply the patches to that new branch and then merge with master. | 02:17 |
|
jamesish
| Okay. | 02:18 |
|
jwasson
| I'm not that knowledgable either, so there might be a better way, but that's how I'd probably do it. | 02:18 |
|
jamesish
| I just checked with a guy who knows better than me; bar was actually cloned from foo | 02:18 |
| → angasule_ joined | 02:19 |
|
jwasson
| In that case bob should be able to add bar as a remote (maybe replacing foo) and just behave normally. | 02:19 |
|
| That is, pull from bar, merge to master (or whatever branch), then push to bar. | 02:19 |
|
jamesish
| Wow. That'll make things _very_ simple. And he has a backup of the repo, so if it goes wrong we'll be fine. | 02:20 |
|
| This could be an ass saver for us, thanks jwasson. | 02:20 |
|
jwasson
| No problem. | 02:20 |
|
| Have bob create a tag of his current HEAD then he can rewind to there easily. | 02:21 |
|
| (if things go wrong) | 02:21 |
| → FunkeeMonk joined | 02:21 |
|
jamesish
| Good idea. | 02:22 |
| → zawir joined | 02:22 |
| ← Leefmc left | 02:22 |
| → eternaleye_ joined | 02:24 |
| → jerbear joined | 02:25 |
| ← tflsh left | 02:30 |
| ← norflork left | 02:32 |
| ← angasule left | 02:34 |
| destruct_ → destruct | 02:35 |
| → igorgue joined | 02:38 |
| ← timocratic left | 02:44 |
| ← ekidd left | 02:45 |
| → Leefmc joined | 02:47 |
| → timocratic joined | 02:48 |
| ← timocratic left | 02:49 |
| ← rubydiamond__ left | 02:50 |
| → lirit joined | 02:51 |
| → ekidd joined | 02:52 |
| ← igorgue left | 03:01 |
| ← Leefmc left | 03:02 |
| → donspaulding joined | 03:04 |
|
donspaulding
| is there some way to have `git svn clone` recognize svn:externals properties? | 03:05 |
|
mugwump
| it recognizes them, see the unhandled.log | 03:08 |
|
| it doesn't currently do anything sensible with them though | 03:08 |
| ← bdiego left | 03:09 |
|
donspaulding
| hrm, could I `git svn clone` each of the externals in the appropriate subdirs of the main repo? | 03:09 |
|
mugwump
| you could, and add them as submodules | 03:10 |
| → rsharma joined | 03:10 |
|
donspaulding
| would git fetch then update from all the appropriate svn repos? | 03:10 |
|
mugwump
| no | 03:10 |
| rsharma → horos22 | 03:10 |
|
mugwump
| nobody's worked on that yet | 03:10 |
|
donspaulding
| ok | 03:10 |
|
mugwump
| also, there is no integration with external SCMs in 'git fetch' | 03:11 |
|
donspaulding
| right, I meant git svn fetch | 03:11 |
| ← ekidd left | 03:11 |
|
mugwump
| however, I suspect that git-svn could be enhanced to allow specification of paths to externals | 03:11 |
| ← Cherife left | 03:12 |
|
horos22
| hey all.. a question about repositories - is there a way to 'look before I leap', | 03:12 |
|
donspaulding
| well it's an itch right in the middle of my back....I'm unable to scratch it myself, so I'll just have to sit and wait for someone double-jointed to get the same itch | 03:12 |
|
horos22
| ie: see the changes that are going to be made to my local repository before actually pulling the switch with git pull? | 03:12 |
|
mugwump
| donspaulding: ok. I just have to keep trying to entice users into implementing the features they request ;) | 03:13 |
| → Cherife joined | 03:13 |
|
albertito
| horos22: yes, if you are going to pull from a remote, you can do "git remote update <name>" and then use git log or gitk to view the remote branch you're interested in pulling | 03:13 |
|
| horos22: if it's not a remote, you can fetch and then use FETCH_HEAD as the reference for what you've just fetched | 03:14 |
|
horos22
| git remote update actually pull the changes over? | 03:14 |
|
| sorry .. does git remote ... | 03:14 |
|
| suppose I want to see only one or two files? | 03:15 |
|
albertito
| horos22: it will get them, and update the remote branches, but it will *not* touch anything that is yours | 03:15 |
|
horos22
| so if you do a 'git pull' afterwards, it's a no-op? | 03:15 |
|
albertito
| horos22: so it gets the changes, but pretty much nothing else. It will not merge or alter your branches in any way | 03:15 |
|
| horos22: it's not a no-op, because the git pull will try to fetch the changes (you will already have them, this will be a no-op) and then merge them in your branch | 03:16 |
|
horos22
| got it.. | 03:16 |
|
| now suppose you've got lots of changes, and a slow connection, and you want to limit what you are seeing only to a couple files.. | 03:17 |
|
albertito
| horos22: the last part is the "op". Another way to think about it is to think of pull pretty much as fetch + merge (but read the docs for the details). git remote update does the fetch part, and git merge does (obviously) the merge part | 03:17 |
|
| horos22: there is no way you can see what you would pull without getting the changes | 03:18 |
|
horos22
| so it's an all or nothing deal.. suppose I wanted to pull only a couple of the files.. | 03:18 |
|
albertito
| horos22: you can get them and then decide to do nothing, but in order to see and decide you have to get them | 03:18 |
| → avdi joined | 03:19 |
|
albertito
| horos22: it's pretty much an all or nothing deal, yes | 03:19 |
|
horos22
| ok.. thanks.. | 03:19 |
|
| probably should switch to smaller branches then.. | 03:19 |
|
albertito
| horos22: another way, more rudimentary, if the project has some gitweb interface, is to browse it manually and get the files you're interested in | 03:20 |
|
| horos22: it really depends on your workflow | 03:20 |
| → warthog9 joined | 03:21 |
|
horos22
| right.. but right now it's taking a given update about an hour to pull over to my local repo.. | 03:21 |
|
| it would be nice if there was a hack.. err workaround for this very issue. | 03:21 |
|
albertito
| horos22: git is very clever about what to send over the network, but you can't get just the changes that affect a given file because of how git works | 03:22 |
| ← lirit left | 03:23 |
|
horos22
| yeah.. that's what I figured.. | 03:24 |
|
| one more thing.. suppose you make some edits and you want to revert them, before you've done a commit (ie: there were some mistakes) | 03:26 |
|
| any way to do that easily? | 03:26 |
| ← jerbear left | 03:27 |
|
horos22
| hmm.. I take it that you can't do this easily? I would think that would be extremely simple to do.. | 03:32 |
| ← kukks left | 03:36 |
|
horos22
| I take it that I need to check my mistakes in, and then do git reset and/or git revert? that seems a little silly | 03:36 |
|
mugwump
| you can force it | 03:38 |
|
| in general no git commands will let you throw away any changed file without requiring you to force it first | 03:38 |
|
horos22
| so you are saying 'git reset --soft HEAD --force'? | 03:38 |
|
| or sorry 'git reset --force HEAD' | 03:39 |
|
mugwump
| why not read the man page a bit | 03:40 |
|
| --hard will overwrite the files | 03:40 |
|
| also, you can use git checkout to revert a single file | 03:41 |
| ← donspaulding left | 03:41 |
|
horos22
| yeah.. I saw that in the docs.. | 03:42 |
| ← xyzzy_ left | 03:42 |
|
horos22
| but I tend to approach such things with great caution.. | 03:42 |
|
| so I thought I'd ask just in case.. | 03:42 |
| → ckoehler joined | 03:45 |
| ← markkalderon left | 03:45 |
|
horos22
| thanks.. | 03:45 |
| ← avdi left | 03:49 |
| ← stargaming left | 03:50 |
| → xyzzy42 joined | 03:54 |
| → theperitus joined | 03:55 |
|
lea_1
| Terminology question: What are the arguments to git-rev-parse called? Iow, how do I call arguments like 98badfa721, HEAD, ...? | 03:57 |
|
z1o
| anyone know way when I push changes. the changes appear as deleted | 04:00 |
| ← ckoehler left | 04:00 |
|
doener
| lea_1: git-rev-parse(1) calls it "extended SHA1 syntax" | 04:01 |
|
lea_1
| doener: Thanks! | 04:02 |
|
| That's kinda unwieldy... :) | 04:02 |
|
| I think I'll go with extsha1 or so. :) | 04:03 |
|
doener
| lea_1: note that it also supports ranges. I usually come up with some term "on demand" | 04:03 |
|
| sha1, rev range, ref name, symbolic ref, ... And for the ^, ^!, ~, @, : and so on, I don't even have a term I use (exactly because I find the "extended SHA1 syntax" unwieldy and often too generic) | 04:04 |
| ← jamesish left | 04:04 |
| → mithro joined | 04:09 |
| ← madewokherd left | 04:09 |
| → tjafk2 joined | 04:10 |
| ← daperitus left | 04:11 |
| ← FunkeeMonk left | 04:13 |
| → a-priori joined | 04:18 |
| ← a-priori left | 04:18 |
| → jerbear joined | 04:24 |
|
doener
| z1o: http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e73 | 04:26 |
| ← tjafk1 left | 04:26 |
| → spearce` joined | 04:31 |
| ← spearce left | 04:32 |
| spearce` → spearce | 04:32 |
| ← jwasson left | 04:32 |
| → jwasson joined | 04:43 |
|
z1o
| doener: great thanks, makes more sense now | 04:47 |
| ← spearce left | 04:51 |
| ← cedricv left | 04:53 |
| ← lea_1 left | 04:53 |
| → alterscape joined | 04:54 |
|
alterscape
| Is this an appropriate venue to ask a gitosis setup question? Hope so, 'cause here goes: I'm setting up gitosis on OS X 10.4.11. Got it set up to the point where I can clone the gitosis-admin repository, change gitosis.conf and the contents of keydir, and commit/push the changes. I've verified that the changes are being pushed by cloning another copy of gitosis-admin. Server-side, I've created a test_project group, given access to @gitosis- | 04:58 |
|
doener
| alterscape: message got truncated it seems, right after "access to @gitosis-" | 04:58 |
|
alterscape
| @gitosis-admin, and committed/pushed those changes. Locally, I've created a local repository called test_project and registered the remote, but when I attempt to push, I get "ERROR:gitosis.serve.main:Repository read access denied." Thoughts? | 04:59 |
|
| doener: Thanks for the heads-up, there's the rest | 04:59 |
|
doener
| no problem. No clue about gitosis either though ;-) | 05:00 |
| ← jerbear left | 05:02 |
| → ggeecko_ joined | 05:04 |
| → cedricv joined | 05:05 |
| ← ggeecko_ left | 05:07 |
| → ggeecko_ joined | 05:07 |
| ← ggeecko_ left | 05:07 |
| → ggeecko joined | 05:07 |
| → Leefmc joined | 05:08 |
| ← zawir left | 05:08 |
| ← tvachon left | 05:09 |
| → panagos joined | 05:10 |
|
panagos
| anyone know how to delete projects from repo.git.cz? | 05:10 |
|
| *** repo.or.cz | 05:10 |
| → rwanderley joined | 05:17 |
| → schacon joined | 05:17 |
| → imyousuf joined | 05:21 |
| ← schacon left | 05:22 |
| → devogon joined | 05:24 |
| ← rwanderley left | 05:26 |
| ← Tv left | 05:27 |
| → d2dchat joined | 05:31 |
| → datafirm joined | 05:35 |
|
cehteh
| panagos: by sending patches to add this functionality to pasky :) | 05:36 |
| ← jwasson left | 05:36 |
| ← Leefmc left | 05:39 |
|
panagos
| right... :| (:P) | 05:41 |
| → tflsh joined | 05:41 |
|
panagos
| pasky: can i delete a repo i created in repo.or.cz, by sending you an email? :) i didn't do any work with it... | 05:46 |
| ← datafirm left | 05:48 |
| ← rmh3093 left | 05:49 |
| → Tv joined | 05:50 |
| ← bobesponja left | 05:51 |
| ← sgrimm left | 05:51 |
| → sgrimm joined | 05:52 |
|
panagos
| i want to start a private project with some friends, and we want to use git. but we don't want "outsiders" to be able to pull from us, so what is the simplest way to do that? so that pulling would require authentication | 05:59 |
| jeckel → away | 06:00 |
| → kixx joined | 06:00 |
| ← krawek left | 06:01 |
| → priidu joined | 06:02 |
|
Auris-
| the answer probably has something to do with ssh. | 06:03 |
|
alterscape
| panagos, I'd look into gitosis. Granted, I'm having trouble setting it up, but it seems to be a nice option | 06:03 |
|
| you could also set up individual user accounts with git-shell as the shell and then, yes, have them ssh in | 06:03 |
| ← chrisb left | 06:06 |
| ← d2dchat left | 06:07 |
| ← kixx left | 06:09 |
|
panagos
| alterscape: i noticed that gitosis doesn't have any good documentation under debian... | 06:11 |
|
alterscape
| there's very little documentation in general, but if you look at the scie.nti.st blog entry, there's a link to some more debian info | 06:11 |
| ← theperitus left | 06:13 |
| ← ggeecko left | 06:13 |
|
panagos
| there aren't even man pages! which is mandated by the debian guidelines, if i'm not wrong | 06:14 |
| away → jeckel | 06:14 |
| ← spuk- left | 06:15 |
| → spuk- joined | 06:16 |
| → _zack joined | 06:17 |
| → gittish joined | 06:18 |
| → deavid joined | 06:18 |
| ← gmcinnes left | 06:23 |
| ← Eridius|work left | 06:27 |
|
comp
| panagos: another option would be usage of Github private repo ... | 06:31 |
| → daperitus joined | 06:32 |
| → BabelO joined | 06:34 |
| ← johan-s left | 06:34 |
|
panagos
| yeah, but it needs $$$$ :) plus, not as distributed :D | 06:34 |
|
tflsh
| gitosis isn't that hard to set up, go for that. once you've got it set up, it's very rewarding to add new projects and permissions as needed so easily | 06:36 |
| dwmw2_gone → dwmw2_HEL | 06:36 |
|
Ilari
| panagos: The only real pitfalls in setting up Gitosis are various configuration errors in SSHD configuration, editing '~git/.ssh/authorized_keys' by hand or using existing account (as opposed to creating new one). | 06:42 |
| → TuxCM- joined | 06:43 |
| ← ajonat left | 06:44 |
|
Arrowmaster
| i never ran into any of those setting up gitosis | 06:44 |
| → bentob0x joined | 06:45 |
| → drizzd joined | 06:45 |
|
Ilari
| Arrowmaster: Yea, because they tend all to be screwups themselves... | 06:46 |
|
| Arrowmaster: But I have seen descriptions of all those three on this channel at various points (breaking the stuff completely). | 06:46 |
|
Arrowmaster
| only issue i ran into was that the debian package wants to use the username:group gitosis:gitosis when i wanted to use git:git | 06:46 |
|
panagos
| btw, when you people write code, do you use some personal repo, while the others pull from you the new changes, or do you use a central repo, with each one pushing to their branch or whatever? | 06:46 |
|
| i guess i'll be using the default debian configuration for sshd... | 06:47 |
|
Ilari
| panagos: I have used personal (bare) repo where I push changes and others can pull from. | 06:48 |
|
panagos
| Ilari: for that to work, i guess you have to have your repo online 24/7? | 06:49 |
|
Ilari
| panagos: The SSHD configuration issues where things like some configuration option locking gitosis account from remote logins and that... | 06:49 |
|
panagos
| aha, i see | 06:50 |
| → lea_w joined | 06:50 |
|
Ilari
| panagos: Well, considering the environment I used it in back then, keeping it online virtually 24/7 was no problem (shared filesystem)... :-) | 06:51 |
|
panagos
| i have the feeling that true distributed development asks for everyone to have a personal repo online all the time, so that others can pull from them (or maybe use schedules?) | 06:53 |
| ← saintdev left | 06:53 |
| → reel_ joined | 06:55 |
| → EiNZTEiN joined | 06:56 |
| → ph^ joined | 06:58 |
|
mugwump
| panagos: sure, or connect to repo.or.cz, push to your mob branch | 06:59 |
| ← drizzd_ left | 07:00 |
| ← mithro left | 07:01 |
|
panagos
| if i want to have a shered repo, how can i only allow each user to push to a specific branch? | 07:04 |
|
mugwump
| with an 'update' hook | 07:07 |
|
| if that hook returns an error code, the push is denied | 07:07 |
|
| also, standard error gets relayed to the user | 07:07 |
| → namenlos joined | 07:08 |
|
Ilari
| panagos: Except that standard trick of identifying by UID does not work with Gitosis (since all users share Unix user account)... :-/ | 07:08 |
|
mugwump
| gosh, that's a bit of a bug | 07:09 |
|
panagos
| Ilari: so how do you do that with gitosis? | 07:09 |
|
mugwump
| do they have seperate pwents? | 07:09 |
|
Ilari
| mugwump: They have seperate keypair entries. | 07:09 |
| ← pygi left | 07:10 |
| ← csc` left | 07:10 |
|
panagos
| mugwump: pwents? | 07:10 |
|
mugwump
| right. Well, I guess they could set an environment variable. I'm thinking of rigging the perl repository to accept push via git:// if the signature is OK | 07:10 |
|
Ilari
| mugwump: And each keypair entry contains forced command with different key id (Gitosis uses that piece to authenticate). | 07:10 |
|
mugwump
| panagos: password entry. see pwent(5) | 07:10 |
|
| er | 07:11 |
|
Ilari
| mugwump: Except that git:// can't authenticate pulls at all. | 07:11 |
|
| mugwump: And this was about setting private repo. | 07:11 |
|
mugwump
| getpwent(3) :) | 07:11 |
| ← shoe left | 07:11 |
|
mugwump
| Ilari: it can't authenticate at the protocol level, no. but you can reject the push | 07:11 |
|
| so, I'll only let signed tags get pushed | 07:11 |
|
| and certain branches can only be pushed by "core" team | 07:12 |
|
panagos
| mugwump: no such man page on my box... (also an apt search dones't find one) | 07:12 |
|
mugwump
| It just means an entry in /etc/passwd; you can have seperate users with the same UID | 07:13 |
|
| of course, they have the same access | 07:13 |
|
| to unix, anyway | 07:13 |
|
panagos
| i think that would best be solved if we made git aware of account issues | 07:14 |
| ← thiago_home left | 07:14 |
|
mugwump
| it is aware :) | 07:16 |
|
| it has core.sharedRepository, for instance | 07:17 |
| ← panagos left | 07:18 |
|
Arrowmaster
| all that does is set the file premissions | 07:18 |
| → panagos joined | 07:18 |
|
mugwump
| sure | 07:18 |
|
| you want more? use a hook | 07:18 |
| → wuxia joined | 07:19 |
|
wuxia
| is there a short cut for git checkout? | 07:19 |
|
| neither git c | 07:19 |
|
| nor git co work | 07:19 |
|
mugwump
| wuxia: git config alias.c checkout | 07:19 |
|
| add --global to that to make it effective for all your repos on that machine' | 07:19 |
| → mcella joined | 07:20 |
|
wuxia
| cool, thanks :-) | 07:23 |
|
Ilari
| panagos: I think that making Gitosis export the authentication identity so it is usable by hooks would be one-line addition to Gitosis source... | 07:23 |
| ← brosner left | 07:25 |
| → nud joined | 07:26 |
| → saintdev joined | 07:31 |
| → ph^_ joined | 07:33 |
| ← cedricv left | 07:35 |
| ← gittish left | 07:40 |
| → hdu_hh joined | 07:50 |
| → sbeyer joined | 07:53 |
| ← DrNick left | 07:53 |
| → DrNick joined | 07:53 |
| ← gef left | 07:54 |
| → ajonat joined | 07:56 |
| ← ajonat left | 07:57 |
| → ajonat joined | 07:57 |
| ← wuxia left | 07:58 |
| → fhobia joined | 07:59 |
| → csc` joined | 08:00 |
| → koke joined | 08:01 |
| ← sverrej left | 08:01 |
| ← ph^ left | 08:01 |
| → holizz joined | 08:01 |
| → Surfer8 joined | 08:02 |
|
| Surfer8 Visit http://www.FakeMagazineCover.com (upload pic make mag) - http://www.SillyWebcam.com (play with webcam online) - http://www.Is-A-Jerk.com (insulter/anon email) - http://www.ComedySearchEngine.com (fun) - http://www.BodySwitcher.com (put your face on funny body) - http://www.MedChecker.com (health) - http://www.Canuckster.com (Canada eh) - http://www.Nerdful.com (geeks) | 08:02 |
| ← Surfer8 left | 08:02 |
| ← horos22 left | 08:02 |
| → Matsimitsu joined | 08:05 |
| → mcella_ joined | 08:06 |
| → rgs joined | 08:06 |
| ← mcella left | 08:06 |
| → LotR joined | 08:08 |
| ← lolage0 left | 08:09 |
| → sverrej joined | 08:15 |
| ← Ted left | 08:18 |
| → ebel joined | 08:19 |
| ← _zack left | 08:21 |
| → _zack joined | 08:21 |
| → Ted joined | 08:21 |
| → gitte joined | 08:22 |
| → d2dchat joined | 08:22 |
| → robinr joined | 08:25 |
| ← nicholas_ left | 08:29 |
|
etnt
| a friend of mine try to clone from my gitosis repo, but get this: ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment. | 08:33 |
|
| any ideas? I have several other friends that it works perfect for | 08:34 |
| ← _zack left | 08:34 |
|
etnt
| that the key is a ssh-dss key shouldn't matter, or ? | 08:34 |
| ← jns left | 08:35 |
| ph^_ → ph^ | 08:38 |
| → redondos joined | 08:39 |
| → hein2 joined | 08:39 |
| ← Sho_ left | 08:39 |
| hein2 → Sho_ | 08:39 |
| pilif|away → pilif | 08:40 |
| ← TuxCM- left | 08:41 |
| ← sverrej left | 08:44 |
| → sverrej joined | 08:46 |
| ← fhobia left | 08:47 |
| → Catfish joined | 08:52 |
| ← Catfish_ left | 08:52 |
|
ben_h
| hi all | 08:53 |
|
| anyone seen an issue where a hook is run even though it's not executable? | 08:53 |
|
| i'm getting a "fatal: exec [ ... ]/.git/hooks/prepare-commit-msg failed." | 08:57 |
|
| but, | 08:57 |
|
| -rw-r--r-- 1 ben ben 1.2K 28 May 22:27 .git/hooks/prepare-commit-msg | 08:57 |
|
cehteh
| outch | 08:59 |
|
ben_h
| yeah | 08:59 |
|
| sense: this error makes none | 08:59 |
| ← Cherife left | 08:59 |
|
cehteh
| which git version .. and what filesystem? | 09:00 |
|
ben_h
| 1.5.5.1, filesystem is HFS+ on OS X 10.5.3 | 09:00 |
| → Beket joined | 09:00 |
|
ben_h
| the git repo is a submodule, i thought maybe it was going on the parent's hook but that's rw-r--r-- as well. | 09:01 |
|
| ok wow | 09:03 |
|
| i moved the file out of the directory, committing works | 09:03 |
|
| moved it back in, still works | 09:03 |
|
| :| | 09:03 |
|
| the prepare-commit-msg file that is | 09:03 |
|
cehteh
| maybe rather a HFS+ / OSX issue | 09:04 |
|
| does that happen for other hooks as well? | 09:04 |
|
| and is that vanilla git or patched for osx somehow? | 09:04 |
|
ben_h
| it's vanilla, i compiled it myself the other day | 09:04 |
|
| it's never happened before. and now i moved the file away and back the error has disappeared | 09:04 |
|
| very strange indeed. | 09:05 |
| ← jeckel left | 09:05 |
|
Ilari
| etnt: 'grep -v "no-pty" ~git/.ssh/authorized_keys' doesn't yield anything except empty or commented out (starting with '#') lines? | 09:07 |
| → ^Beket| joined | 09:09 |
| → ksvladimir joined | 09:10 |
|
ksvladimir
| Is there any way to forget changes that are already in the git index ? | 09:12 |
|
| In other words: to revert an effect of git add ? | 09:13 |
|
Ilari
| ksvladimir: 'git reset -- <file>'? | 09:13 |
|
pasky
| panagos: if you wrote the name of the repo in your message right away, your chances would be much higher :P | 09:13 |
|
| panagos: but you can still try | 09:13 |
|
cehteh
| git reset --cached | 09:13 |
|
pasky
| to send me the mail | 09:13 |
|
cehteh
| (git gui comes handy too) | 09:14 |
|
pasky
| (tig too) | 09:14 |
|
ksvladimir
| Ilari: cehteh: thanks alot, it's exactly what I wanted | 09:14 |
|
cehteh
| pasky: you can try the xor approach and remove all repos and then add back the ones where people complain | 09:14 |
| ← manveru left | 09:15 |
|
pasky
| cehteh: heh :) | 09:15 |
|
| then i couldn't brag about hosting so many repositories I suspect | 09:15 |
| ← frsk left | 09:17 |
| → frsk joined | 09:19 |
| → _zack joined | 09:19 |
| ← Beket left | 09:22 |
| → charon joined | 09:22 |
| → duncanmv joined | 09:22 |
|
duncanmv
| hi guys, I host a lot of repos, and git-daemon-export-ok dissapears from time to time, and I have to touch it again, any idea where to start looking? | 09:23 |
|
pasky
| fsck ;)) | 09:24 |
|
Pieter
| heh | 09:24 |
|
| some commits in the samba repository have an extra space after the email address | 09:25 |
|
| which makes git-fast-export give borked output | 09:25 |
|
| Ilari: with checkpoints at 500, it continued until it was out of memory :) | 09:26 |
| ← Ted left | 09:34 |
| → Ted joined | 09:36 |
| ← d2dchat left | 09:45 |
| → markkalderon joined | 09:47 |
|
Mikachu
| duncanmv: you could use the --export-all flag? :) | 09:48 |
| ← ^Beket| left | 09:59 |
| ← Ademan left | 10:00 |
| → Ademan joined | 10:01 |
| ← namenlos left | 10:01 |
| ← ben_h left | 10:02 |
| → kasimon joined | 10:04 |
| ← pdherbemont left | 10:06 |
|
kasimon
| Hi! What's a good way to separate changes to a git tree since into different branches? | 10:06 |
|
| I've worked on some features in parallel on my devel branch and would like to put some of them into the production (which is push/pulled on another server) | 10:07 |
|
rgs
| create a branch and cherry pick commits to there ? | 10:08 |
|
kasimon
| That sound's reasonable. I'll have a try. | 10:10 |
| ← AlexanderS left | 10:14 |
| ← gitte left | 10:18 |
| → Xyrio joined | 10:19 |
| ← duncanmv left | 10:21 |
| → Yuuhi joined | 10:22 |
| ← Sho_ left | 10:28 |
| ← Xyri0 left | 10:30 |
| ← Matsimitsu left | 10:32 |
| → Matsimitsu joined | 10:35 |
| → d0k joined | 10:37 |
| → AlexanderS joined | 10:42 |
| → Sho_ joined | 10:44 |
| → Tgmessi_ joined | 10:44 |
| → ForsakenSoul joined | 10:50 |
|
ForsakenSoul
| hello I'm trying to commit some file changes ... to git hub but first when I type commit I get the .swp file I should edit ... how do I exit it ? and how do I push it to my branch in github | 10:51 |
| ← Matsimitsu left | 10:53 |
| ← jlh left | 10:57 |
| → jlh_ joined | 10:57 |
| ← Tgmessi_ left | 10:59 |
| → thommey_ joined | 11:05 |
| ← thommey left | 11:08 |
| thommey_ → thommey | 11:09 |
| → WildPikachu joined | 11:13 |
|
WildPikachu
| if i create a shared local git repository (--shared=group), which directories does the group need access to? | 11:14 |
|
| *write access | 11:14 |
|
Mikachu
| i would guess .git itself, objects, and refs, maybe logs | 11:14 |
|
| ie, almost all | 11:15 |
|
Arrowmaster
| if your using --shared wont it automaticly be a bare repo anyway? | 11:16 |
| ← rgs left | 11:18 |
|
WildPikachu
| hrmmm "cannot clone empty repository" | 11:19 |
| → kukks joined | 11:19 |
|
WildPikachu
| darn | 11:19 |
|
| how would i check something into a bare repository? | 11:21 |
|
| (i tried to clone it btw) | 11:21 |
| → jettero joined | 11:23 |
|
jettero
| I am vexed by the absence of cogito in ubuntu/debian... is anyone working on that? | 11:24 |
|
jmspeex
| people are still using cogito? | 11:24 |
|
Mikachu
| cogito is depracated | 11:24 |
|
jettero
| oh, I see that | 11:25 |
|
| well, crap... that's all I've ever really used | 11:25 |
|
WildPikachu
| should i create a git repo first and just rename it myrepo.git? or is there a way to check a file into a bare repo so i can clone it? | 11:26 |
|
Mikachu
| WildPikachu: push | 11:27 |
|
WildPikachu
| hrmmm | 11:27 |
|
| ah, so i create one in my home dir? | 11:28 |
|
Mikachu
| presumably you already have a repo you want to publish in the bare repo? | 11:29 |
|
WildPikachu
| yea | 11:30 |
|
| i got up to this far ... | 11:30 |
|
| git-push /srv/git/myrepo.git | 11:30 |
|
| hrmmm, i guess i need a ref | 11:30 |
|
Mikachu
| --all | 11:30 |
| ← hdu_hh left | 11:31 |
|
WildPikachu
| yea! | 11:31 |
|
Mikachu
| also useful is 'git remote add foo /srv/git/myrepo.git' | 11:32 |
| → pdherbemont_ joined | 11:35 |
| → ekidd joined | 11:41 |
| → ben_h joined | 11:42 |
| → panagos_ joined | 11:42 |
| ← ebel left | 11:44 |
|
Pieter
| Hmm | 11:49 |
|
| the repository is now 4GB | 11:49 |
|
| I hope it'll pack | 11:49 |
| ← ben_h left | 11:49 |
| ← meyering left | 11:57 |
| ← DrNick left | 11:57 |
| ← panagos left | 11:59 |
| → Ace_NoOne joined | 11:59 |
|
Ace_NoOne
| hi there - I did a commit where I included two lines that should not be in there yet - how can I retroactively remove them | 11:59 |
|
| without a new commit that is | 11:59 |
|
Mikachu
| is it the last commit? | 11:59 |
|
Ace_NoOne
| in this case, yes - in general, might not be | 12:00 |
|
Mikachu
| in this case, remove the lines, git add, git commit --amend | 12:00 |
|
Ace_NoOne
| I've thought about that, but that would remove them from the working copy | 12:00 |
|
Mikachu
| in general, git rebase -i HEAD~N, change pick to edit for the commit you want to change, remove the lines, git add, git commit, git rebase --continue, where N is how many commits ago it was | 12:00 |
|
| it would, yes | 12:01 |
|
Ace_NoOne
| ahh interesting | 12:01 |
|
| thanls | 12:01 |
|
| *thanks | 12:01 |
|
Mikachu
| to keep them in the working copy: | 12:01 |
|
| git branch old | 12:01 |
|
| *do the other stuff* | 12:01 |
|
| git checkout old -- . | 12:01 |
|
| git branch -D old | 12:01 |
|
| that'll add the changes in the index too, so you might want to run 'git reset' after (with no arguments) | 12:02 |
|
Ace_NoOne
| cool | 12:02 |
|
| appreciate your help | 12:02 |
|
Mikachu
| np | 12:02 |
| → KwisatzHaderach joined | 12:04 |
|
KwisatzHaderach
| Hi, I recorded some git commits with a bad email address. I fixed my email in the global config, but how can I record again the commits? git-rebase -i can change the comments but not the email address. | 12:05 |
| ← koke left | 12:05 |
| → devogon_ joined | 12:07 |
| → cedricv joined | 12:07 |
|
dato
| hm, send-email --compose creates a new email. is there a way to have it add the comments directly in the first (and possibly single) patch? | 12:08 |
| ← panagos_ left | 12:10 |
| → panagos_ joined | 12:11 |
|
Ace_NoOne
| KwisatzHaderach: you should have seen that coming... | 12:12 |
|
vmiklos
| dato: just use format-patch, edit the patches, then use send-email without --compose? | 12:12 |
|
dato
| vmiklos: yeah, I guess I could do that | 12:13 |
| ← devogon left | 12:18 |
| → devogon joined | 12:20 |
| ← ekidd left | 12:22 |
| → EmilMedve joined | 12:23 |
| → te joined | 12:24 |
|
te
| gitweb is a pain in the arse to put on nginx | 12:24 |
|
| anyone have any thoughts on gitweb alternatives? | 12:24 |
|
KwisatzHaderach
| It seems possible with "git-filter-branch --env-filter" but I can't find the right command | 12:24 |
| → ekidd joined | 12:26 |
|
jettero
| gah, moving from cogito to regular git is going to be painful (and good) | 12:27 |
|
| cogito was hiding a LOT from me apparently | 12:27 |
| → ggeecko joined | 12:28 |
| → devogon__ joined | 12:29 |
|
Ilari
| Pieter: The 4GiB limit was 1) For single pack 2) no longer relevant 3) And for output size. 4) Git-fast-import packs are far from optimal. | 12:31 |
| → vbabiy-laptop joined | 12:31 |
|
jettero
| is there a way to get 'git status' to use the pager without pipping through less by hand? | 12:32 |
| → DeFirence joined | 12:32 |
|
Ilari
| jettero: IIRC, it does in newer versions... | 12:32 |
|
lea_w
| I'm getting a clone of the git repository, but none of the heads (pu, man, next, master, ...) show up under git-branch or git-branch -r. How do I access them, and am I wrong to expect them to be there? | 12:32 |
| ← devogon_ left | 12:33 |
|
DeFirence
| could someone please give me an example line that excludes a directory to add to /info/exclude | 12:33 |
|
Ilari
| lea_w: They should be there in 'git-branch -r' output... | 12:33 |
|
| lea_w: Unless it is some whacky copy without them... | 12:34 |
|
jettero
| Ilari: how new... (I'm git version 1.5.4.3) | 12:34 |
|
Ilari
| jettero: I have git version 1.5.6.rc0.40.gd683 (and it does page git status output). | 12:35 |
|
KwisatzHaderach
| git-filter-branch --env-filter "GIT_AUTHOR_EMAIL=foo@example.com" master..branch1 | 12:35 |
| → lcapitulino joined | 12:35 |
|
KwisatzHaderach
| my command works 1 time, but then it fails with "Namespace refs/original/ not empty" :-/ | 12:36 |
|
Ilari
| KwisatzHaderach: 1) That would change author email in ALL commits, 2) It is missing 'export' of that variable. | 12:36 |
| → ironfroggy joined | 12:36 |
|
DeFirence
| Ilari: cant you help me please? | 12:36 |
|
lea_w
| Ilari: Thanks! My clone must have had some problem. | 12:36 |
|
Ilari
| lea_w: That kind of thing could happen if you get clone of clone (and the clone is carelessly done). | 12:37 |
|
lea_w
| Ilari: What does "carelessly" mean here? | 12:37 |
|
KwisatzHaderach
| adding "export" does not fix the failure on "Namespace refs/original/ not empty" | 12:37 |
|
lea_w
| Ilari: I think it might have been a clone of a clone indeed. | 12:37 |
|
jast
| KwisatzHaderach, filter-branch stores a copy of the old refs in refs/original and it will refuse to work again until you move it out of the way or delete it | 12:38 |
|
Ilari
| lea_w: 'git clone git://foo' alone is 'carelessly done' in this context. | 12:38 |
| ← Catfish left | 12:38 |
|
Ilari
| lea_w: Since clone only makes local branch to track master... | 12:39 |
|
tzafrir_home
| I need help with adding a command-line option to git-svn: http://paste.debian.net/4674/ | 12:41 |
|
| to allow me to use an SVN client-side certificate for authentication | 12:41 |
|
| (any better suggestions would be welcomed. If they actually work) | 12:41 |
| ← devogon left | 12:42 |
|
tzafrir_home
| Specifically: I'm having some problems with just the right place to stick an extra command-line option | 12:42 |
|
lea_w
| Ilari: Thanks! But, after reading man git-clone, I still don't get it -- what would I have to do to keep the branches? cp? | 12:43 |
|
Mikachu
| tzafrir_home: might get a better response on the mailing list if no one says anything here | 12:43 |
| → Catfish joined | 12:45 |
| → deavidsedice joined | 12:46 |
| → |mako| joined | 12:47 |
|
DeFirence
| could someone please give me an example line that excludes a directory to add to /info/exclude? | 12:47 |
| ← te left | 12:47 |
|
jast
| DeFirence, /directory (see man gitignore for details; the "ends with slash" form documented only works in 1.5.5 and newer afaik, even if it was documented before that) | 12:49 |
|
Ilari
| lea_w: Basically, soemething like 'git --bare clone ...'... | 12:50 |
|
|mako|
| hi | 12:51 |
| → kristoffer joined | 12:51 |
|
lea_w
| Ilari: that's what i would have thought, but it doesn't work -- just gives me a single master branch. | 12:52 |
|
|mako|
| I have another question - git-status shows me a bunch of files that were physically removed from the disk and now I want to utrack them - git-rm --cached would do the trick but is there a way to git-rm them in one go? | 12:52 |
|
| I mean ... the files are scattered around the project, there is many of them and I don't want to git-rm each of them manually | 12:52 |
| → Ryback_ joined | 12:52 |
|
jast
| |mako|, if you're fine with updating all files that are already tracked in the same go, try git add -u . | 12:53 |
|
Ilari
| |mako|: 'git ls-files --deleted -z | xargs -0 git rm --cached' | 12:53 |
| → manveru joined | 12:54 |
|
|mako|
| thanks a bunch :) good timing | 12:54 |
| ← markkalderon left | 12:56 |
| → pygi joined | 12:59 |
| → devogon joined | 13:01 |
| ← nud left | 13:07 |
|
jettero
| is "git status" the usual way of seeing what was modified? | 13:07 |
|
Ace_NoOne
| jettero: yes | 13:07 |
| ← TGEN left | 13:08 |
| → TGEN joined | 13:08 |
| → ggeecko_ joined | 13:12 |
| ← ggeecko_ left | 13:12 |
| ← lea_w left | 13:12 |
| → lea_w joined | 13:12 |
| → ggeecko_ joined | 13:13 |
| ← ggeecko_ left | 13:13 |
| → gitte joined | 13:13 |
| → ggeecko_ joined | 13:15 |
|
Pieter
| Ilari: yeah, I was thinking about my own memory usage when packing :) | 13:17 |
| ← ggeecko_ left | 13:17 |
| → ggeecko_ joined | 13:17 |
| → mcella joined | 13:17 |
| → chris2 joined | 13:18 |
| ← ggeecko_ left | 13:19 |
| → robin_ joined | 13:19 |
|
jettero
| how can you tell if your local commits have been pushed to a remote repo? | 13:20 |
| → ggeecko_ joined | 13:21 |
| → cmarcelo joined | 13:21 |
| ← ggeecko_ left | 13:21 |
| ← ekidd left | 13:21 |
|
Pieter
| jettero: git log --left-right master..origin/master will show you what commits you have and remote don't, and also the other way around | 13:21 |
| → nud joined | 13:22 |
| ← ggeecko left | 13:25 |
|
jettero
| Pieter: I get various errors form that. "unknown revision or path not in the working tree." and "Use '--' to separate paths from revisions" ... | 13:25 |
|
Pieter
| oh, you'll have to use 3 dots (...) | 13:26 |
| → juanjoc joined | 13:26 |
|
jettero
| same | 13:27 |
|
jast
| this will obviously only work if your remote is called 'origin' and the branch is called 'master' on both ends | 13:30 |
|
jettero
| how can I tell what my remote is called? git push and git pull are getting and putting things from somewhere... | 13:32 |
|
| this transition from cogito is painful so far | 13:32 |
|
jast
| git remote | 13:32 |
|
| afaik cogito set up remotes a lot differently than git does | 13:33 |
|
jettero
| yeah... I'm getting that. git-remote isn't showing anything, but push/pull still work somehow | 13:33 |
| ← mcella_ left | 13:34 |
|
jettero
| ahh, ... I re-cloned and now git remote seems to work | 13:35 |
|
DeFirence
| ive tried adding all sorts of excludes to the exclude file, but git-gui still shows all the files as unstanged changes, anyone know why? | 13:36 |
|
jast
| DeFirence, perhaps you already added the file previously? exclude/.gitignore only apply to untracked files | 13:36 |
| → ggeecko joined | 13:37 |
|
DeFirence
| the files were not there when i cloned the repo | 13:37 |
|
| but when i compiled the code it created /bin and /obj directories | 13:38 |
| → ekidd joined | 13:38 |
|
DeFirence
| now i want it to ignore those | 13:38 |
|
| but i cant get it to | 13:38 |
| ← ToxicFrog left | 13:38 |
|
jast
| so what does your exclude file say right now? (http://git.pastebin.com/ might be helpful) | 13:39 |
| → wagle_ joined | 13:39 |
| → schacon_ joined | 13:39 |
| ← nud left | 13:39 |
|
DeFirence
| ive tried everything | 13:39 |
|
| ive tried directories like /bin, bin/, /bin/ | 13:40 |
|
| ive tried the full path | 13:40 |
|
| etc | 13:40 |
|
| nothing works | 13:40 |
| → wurble joined | 13:40 |
| ← wurble left | 13:41 |
|
jast
| /bin works fine for me | 13:41 |
| → koke joined | 13:41 |
|
jast
| obligatory question at this point: which version of git are you using? | 13:41 |
|
DeFirence
| even if its /project/something/bin? | 13:41 |
| → nud joined | 13:42 |
|
DeFirence
| Git-1.5.5-preview20080413 | 13:42 |
|
jast
| yes | 13:42 |
|
DeFirence
| well git status shows all the bin files as modified | 13:43 |
|
| :/ | 13:43 |
| ← kristoffer left | 13:43 |
|
jast
| to make sure the files didn't end up in the index by accident, try this: git ls-files | grep bin | 13:43 |
| ← tzafrir_home left | 13:43 |
|
DeFirence
| im putting the paths into /info/exclude btw | 13:43 |
| ← wagle_ left | 13:44 |
|
jast
| .git/info/exclude, right? | 13:44 |
|
DeFirence
| git ls-files | grep bin lists all bin files? | 13:44 |
|
| yeah | 13:44 |
| ← wagle left | 13:44 |
|
jast
| that command should list all files in bin that ended up in the index accidentally | 13:44 |
|
DeFirence
| ending up in the index accidentally? | 13:44 |
|
| :S | 13:44 |
|
jast
| well, just tell me if it outputs any of the filenames you want ignored | 13:45 |
| ← Tv left | 13:45 |
|
DeFirence
| all of those i want ignored? :P | 13:46 |
| → schapht joined | 13:46 |
| ← ekidd left | 13:46 |
|
jast
| yeah, or that. do they show up or not? | 13:47 |
|
schapht
| hi, I commited some large files to my repository by accident. I've been googling around a bit but can't find anything about how to totally remove objects from a repository's history. Can someone point me in the right direction? | 13:47 |
|
jast
| schapht, did you commit stuff you want to keep after that? | 13:47 |
| → brosner joined | 13:48 |
|
schapht
| no, but I commited some code in the same commit that I'd like to get back. But it wouldn't be the end of the world if I had to redo it. | 13:48 |
|
jast
| so it's the most recent commit, right? | 13:48 |
|
schapht
| one back | 13:48 |
|
DeFirence
| jast: i want all of the files listed there ignored | 13:49 |
|
schapht
| jast: most recent I deleted the files thinking maybe I could prune or something | 13:49 |
| → wurble joined | 13:50 |
|
jast
| DeFirence, so what probably happened is that you accidentally told git to start tracking (in other words, you put them into the index, for example by using git add) them before you set it up to ignore them, in which case the ignore patterns are basically useless. | 13:50 |
|
wurble
| How do I get a diffstat since a certain date? | 13:50 |
|
DeFirence
| how can i make it not track them then? | 13:50 |
|
jast
| DeFirence, you can remove all that stuff from the index like this: git rm --cached -r <directory to remove> | 13:50 |
|
DeFirence
| ok, thanks | 13:50 |
|
alterscape
| Gitosis question: git/gitosis set up ok on the server, can clone/edit/commit/push gitosis-admin, but when I try to push any other repository (yes, set up in gitosis.conf and pushed), I receive the "ERROR:gitosis.serve.main:Repository read access denied" error. | 13:51 |
| jlh_ → jlh | 13:51 |
|
Mikachu
| wurble: open gitk and pick a good commit sha1 and say git diff --stat sha1 | 13:51 |
|
jast
| schapht, well, if it's one back, i'd suggest you first keep yourself a copy of the most recent patch (i.e. the good one): git format-patch HEAD^ | 13:51 |
| ← brosner left | 13:52 |
|
jast
| schapht, after that, git reset --hard HEAD^ to kill everything (including changes in the working tree) after the commit we want to clean up | 13:52 |
|
| schapht, then, git rm --cached thefile && git commit --amend to recreate the commit without that file | 13:52 |
| → wagle_ joined | 13:53 |
|
jast
| schapht, finally, git am <the patch file created earlier> | 13:53 |
| → ggeecko_ joined | 13:55 |
|
jast
| schapht, the old object will still be kept for a while, though. if you want to do the pruning immediately (at the cost of losing a couple of ways of going back to old states), do git reflog expire --expire=0 --all and then git prune --expire 0. although if you did anything wrong in the previous steps, this will probably eliminate all chances of undoing that mistake. | 13:55 |
| → discomury joined | 13:56 |
| → jbunster joined | 13:56 |
|
jast
| alterscape, a common problem is that "writeable" is actually spelled "writable" and the former is ignored by all but the most recent (master) versions of gitosis | 13:57 |
| → SPAZZZ joined | 13:57 |
| → cannonball joined | 13:57 |
|
SPAZZZ
| http://www.FakeMagazineCover.com - Upload photo to fake magazine cover templates | 13:57 |
|
| http://www.SillyWebcam.com - Play with webcam online (games, take pics, effects) | 13:57 |
|
| http://www.Is-A-Jerk.com - Random Insults/Anon Email | 13:57 |
|
alterscape
| jast: I thought I'd checked that, but let me have another look and make sure. thanks for the response. | 13:57 |
|
SPAZZZ
| http://www.VirtualHolyBible.com - Holy Bible, online version | 13:57 |
|
| http://www.ScrapbookGenerator.com - Make free online digital scrapbook pages | 13:58 |
|
| http://www.WHAK.com - W>H>A.K. Comedy Radio | 13:58 |
| ← SPAZZZ left | 13:58 |
|
alterscape
| jast: writable is spelled correctly. Let me paste my gitosis.conf into pastebin.. | 13:59 |
| ← pygi left | 14:00 |
|
jast
| in that case i actually think it's more likely to be a filesystem permissions problem | 14:01 |
| → janm joined | 14:01 |
|
lea_w
| pasky: So, regarding the rev_parse/parse_rev patch to Git.pm I posted: | 14:02 |
|
| Is it stylistically ok for parse_rev to return undef for invalid rev names, and throw exceptions for pipe-read (or more general) errors? | 14:02 |
|
alterscape
| ok. I did a sudo chown -R git /Users/git and a sudo chgrp -R git /Users/git .. | 14:02 |
|
| hm | 14:02 |
|
pasky
| lea_w: I'd say so | 14:02 |
| ← |mako| left | 14:02 |
|
wurble
| Mikachu: Is there no way to use --since like in git-log? | 14:03 |
|
lea_w
| pasky: Great... I believe you wrote the command (piping) functions in Git.pm, correct? command_oneline (and probably other command methods) don't allow me to check for non-zero return value -- any fundamental reason for that? So if it itches, could I change it (e.g. by adding an option to throw an error on non-zero close, and storing that option in the context)? | 14:03 |
| → pygi joined | 14:03 |
| ← eternaleye_ left | 14:03 |
|
alterscape
| jast: ok.. my permissions string for gitosis-admin.git looks like thus: drwxr-x--- 12 git git 408 May 29 23:21 gitosis-admin.git | 14:03 |
|
| jast: my permissions string for the other repository looks like thus: drwxr-xr-x 2 git git 68 May 29 20:45 eventory-viz.git | 14:04 |
|
schapht
| jast: that seemed to get the files out of there but my .git is still huge | 14:04 |
|
| even after the prune ops | 14:04 |
|
alterscape
| or actually, hold on.. hold that last | 14:04 |
|
| I think I created that folder last night so it probably shouldn't be considered valid info | 14:05 |
|
pasky
| lea_w: in case of non-zeor return value, an exception will be thrown | 14:05 |
|
alterscape
| I'm trying to push a newly created project called test_project.git now, and it won't even get to the point of creating a directory | 14:05 |
|
pasky
| lea_w: so, you catch Git::Error::Command when calling them and can check for $E->value() in the catch block | 14:06 |
|
lea_w
| pasky: That doesn't seem to work for me... Let me check. | 14:06 |
|
jast
| schapht, it's sometimes a bit tricky to get things pruned all the way down. anyway, rest assured that push/pull won't transfer that object and git gc will eventually clean away the old object. | 14:06 |
|
pasky
| lea_w: actually, the config*() methods do exactly that ;) | 14:06 |
| ← etnt left | 14:07 |
| ← ggeecko left | 14:08 |
|
Ace_NoOne
| I created a new branch from another branch, rather than from master - how can I make this as if I had used the master as "template"? | 14:08 |
| ← tcoppi left | 14:09 |
|
jast
| Ace_NoOne, have you committed anything else yet? | 14:09 |
|
| into that branch, that is | 14:09 |
|
Ace_NoOne
| jast: yes | 14:09 |
|
| unfortunately s | 14:10 |
|
| o | 14:10 |
|
| I noticed when merging with the master | 14:10 |
|
jast
| okay, that calls for a bit of history rewriting | 14:10 |
| → tcoppi joined | 14:10 |
|
Ace_NoOne
| uh-oh | 14:10 |
| ← pygi left | 14:11 |
|
schapht
| jast: so there's one more hitch to this. I already pushed this stuff to my origin. I can just dump my history and start fresh if you think this'll get too complicated. | 14:11 |
|
jast
| schapht, if other people have access to that origin, they already have the 'bad' version so it's possibly a bit late for fixing things | 14:11 |
|
| Ace_NoOne, i assume you haven't published the changes in any way yet? | 14:12 |
|
schapht
| just me actually, the origin is just for storage really | 14:12 |
| → Jerdent joined | 14:12 |
|
jast
| schapht, ah, okay. in that case, git push has a -f flag for forcing evil updates :) | 14:13 |
|
schapht
| fun :) | 14:13 |
|
jast
| fun of the git variety | 14:13 |
|
lea_w
| pasky: You're right, thanks. :-) I don't have any way to distinguish non-fatal ("invalid revision name") errors from other problems though. Mh, so it'll always be undef in case of errors, I guess. No exception throwing. | 14:14 |
|
| pasky: Do you have any general strategy on what to do with STDERR? Discard it to avoid clutter, or allow for error message on STDERR if invalid revision names (yielding undef) are pased? | 14:15 |
| ← imyousuf left | 14:15 |
|
schapht
| jast: awesome, that did it | 14:15 |
|
| thanks! | 14:15 |
| ← Ademan left | 14:15 |
|
| Bombe sometimes misses git-finish-my-code. | 14:15 |
|
jast
| you're welcome | 14:15 |
| ← ggeecko_ left | 14:15 |
|
alterscape
| jast: what should I be looking for in terms of permissions? (thanks for the ongoing help btw) | 14:16 |
|
pasky
| Bombe: I bet you could easily do it as diffcore frontend ;) | 14:16 |
|
Bombe
| *g* | 14:16 |
|
jast
| alterscape, good question. things pretty much worked out of the box here. sure would be nice if gitosis was a bit more verbose, wouldn't it? ;) | 14:16 |
|
alterscape
| jast: yes! I'm writing a blog entry on my experiences, though, so hopefully I'll add to the documentation at least a bit. (it's an OS X 10.4.11 install which is completely unsupported anywhere.. bleh.) | 14:17 |
| → leachim6 joined | 14:17 |
|
leachim6
| is this old ? http://gitcasts.com | 14:17 |
|
pasky
| lea_w: that is tough question | 14:17 |
|
Ace_NoOne
| jast: sorry, was called awat | 14:18 |
|
| no | 14:18 |
|
| just local | 14:18 |
|
pasky
| lea_w: I suggest not to touch STDERR unless failing command is normal condition (e.g. when calling git-rev-parse --gitdir from Git::new, which can fail but that condition is perfectly valid and supported) | 14:18 |
| → ggeecko joined | 14:19 |
|
pasky
| lea_w: we might want to allow later for applications to globally affect default stderr processing but there's currently no need for that | 14:19 |
|
jast
| Ace_NoOne, git checkout -b newbranch master; git rebase --onto master wrongoldbase oldbranch; (delete oldbranch and rename newbranch) | 14:19 |
| → Tv joined | 14:19 |
|
lea_w
| pasky: okay, good | 14:19 |
| ← robin_ left | 14:19 |
|
Jerdent
| Hi ! I can't clone a remote git repository on my FreeBSD6 box using git 1.5.5. The rep weights about 190MB, is cloned ok on other boxes, but here I got a fatal: Out of memory, malloc failed - fatal: index-pack failed | 14:19 |
|
Ace_NoOne
| jast: lemme try that | 14:19 |
| ← robinr left | 14:19 |
|
pasky
| lea_w: (by "not to touch STDERR" I mean "keep it at default value, that is, stderr output left turn on") | 14:20 |
|
dsop
| how can i see the file FOO.c at the state of commit acc01f without traversing the commit -> tree -> blob object? | 14:20 |
|
pasky
| *turned | 14:20 |
|
dsop
| manually... | 14:20 |
|
Tv
| dsop: git show acc01f:FOO.c | 14:20 |
|
lea_w
| pasky: There's some stuff about when and where to merge I'd like to discuss, but gitster should probably around for that. Junio, are you there? If not, I'll move it to the list. | 14:20 |
|
dsop
| Tv: thanks | 14:21 |
| ← deavidsedice left | 14:21 |
|
leachim6
| Ok...time for thunderbird to test it's strength ... downloading all the headers from gmane.comp.version-control.git | 14:21 |
|
| 84k of them! | 14:21 |
| ← kasimon left | 14:21 |
|
pasky
| lea_w: yes, it's best to discuss this on the list i think | 14:21 |
|
jast
| sounds like fun | 14:21 |
|
leachim6
| do any of you guys use git for you .files ? | 14:21 |
|
jengelh
| dotfiles? | 14:21 |
|
| Bombe does. | 14:22 |
|
jast
| leachim6, yes, but it's not recommended. git is designed for repositories of files that belong together. | 14:22 |
| ← bryanl left | 14:22 |
| → bryanl joined | 14:22 |
| → ekidd joined | 14:23 |
|
pasky
| why is it not recommended? | 14:23 |
|
| there should be no problem per se | 14:23 |
|
| and some of the dot-files can belong together | 14:24 |
|
| like, you move some of your stuff from .profile to .bashrc or vice versaq | 14:24 |
|
leachim6
| jast, there was a tutorial somewhere | 14:24 |
|
| you move all of your config files to .config_files or something like that | 14:24 |
|
| put them all under git | 14:24 |
|
jast
| as i said, i'm actually doing it myself | 14:24 |
|
leachim6
| and then symlink them to your home folder | 14:25 |
|
| sounds like a good idea to me | 14:25 |
|
| also...could someone please explain the difference between git commit and git commit -a | 14:25 |
|
Tv
| i don't even symlink | 14:25 |
|
| but i'm careful about not causing conflicted merges | 14:25 |
|
jast
| symlinks can break with some programs | 14:25 |
|
leachim6
| I've read documentation everywhere ... | 14:25 |
|
Tv
| jast: that'd be why ;) | 14:25 |
|
jast
| leachim6, do you know what the index (sometimes called staging area) is? | 14:26 |
|
leachim6
| nope | 14:26 |
|
| I've read about it ... but I don't understand it | 14:26 |
|
| I've been using -a the whole time | 14:26 |
| → ToxicFrog joined | 14:26 |
|
jast
| let's summarize the alternative workflow then | 14:27 |
|
ToxicFrog
| I so wish that git-clone and git-fetch had a "pass these arguments to rsync" option. | 14:27 |
|
jast
| you can, at any time, call git add on files to put snapshots of these files into the index. when you later call git commit, exactly these version of the files will be committed. all commit -a does is automatically update all files in the index that are already in there, prior to committing. | 14:28 |
|
ToxicFrog
| Or a backend-independent "please do not murder my net connetion" option. | 14:28 |
|
jast
| in short, the index is a great tool for more fine-grained control of which parts of your uncommitted changes you want to end up in the next commit. with git add -i, you can even add only parts of changes in a given file and keep the rest of the changes in the same file out of the index. | 14:29 |
|
| and now i'll be away for a while. | 14:30 |
|
leachim6
| so you could skip the index with no ill effects ? | 14:30 |
|
ToxicFrog
| What do you mean by "skip the index"? | 14:31 |
| → vbgunz joined | 14:31 |
|
jast
| basically, yes, you can ignore that concept. you just lose a bit of git's power by doing so. and now i'm really gone. | 14:32 |
|
leachim6
| ToxicFrog, use -a | 14:32 |
|
| git commit -a | 14:32 |
| ← schacon_ left | 14:32 |
|
ToxicFrog
| That doesn't "skip" the index, it just updates and commits the index in one step | 14:32 |
|
jast
| no i'm not. the final thing i'd like to point out is that you can do both. sometimes i use commit -a and sometimes i don't. | 14:32 |
|
ToxicFrog
| But yes, you can safely use that. Note that if you want formerly-untracked files to be added to git, or currently-tracked files to be removed, -a won't cut it; you'll need to do that explicitly. | 14:33 |
|
| -a is just "add all the files I already know about to the commit, and then commit them" | 14:34 |
| dwmw2_HEL → dwmw2_gone | 14:36 |
| ← ggeecko left | 14:37 |
|
Ace_NoOne
| jast: what did you mean by "wrongoldbase" up there? | 14:43 |
| → gmcinnes joined | 14:44 |
| → ggeecko joined | 14:46 |
| → jmalonzo joined | 14:46 |
|
Pieter
| How hard would it be to get git-clone to support url aliases? | 14:47 |
| ← ciaran29d left | 14:48 |
| ← holizz left | 14:48 |
| ← arun left | 14:49 |
| → ciaran29d joined | 14:49 |
|
jettero
| Pieter: I think I just saw that under git help config | 14:51 |
|
Pieter
| jettero: it doesn't work for git-clone | 14:51 |
| → roylee17 joined | 14:51 |
|
jettero
| oh | 14:52 |
| → arun joined | 14:53 |
| dwmw2_gone → dwmw2_HEL | 14:54 |
|
Mikachu
| wurble: no | 14:54 |
|
alterscape
| jast: fixed my gitosis issue, if you want some knowledge for future reference. The only change I made was to reorder my gitosis.conf so that the members line came before the writable line for each group except gitosis-admin. I have no idea WHY it fixed it, and that might be a red herring for something I accidentally changed in the last hour, but there you go. | 14:55 |
| → kumbayo joined | 14:56 |
| ← janm left | 14:59 |
| → a-priori joined | 14:59 |
| ← ruphy left | 14:59 |
|
Ilari
| alterscape: The file is versioned, so maybe try 'git log -p'? :-) | 15:00 |
|
jast
| Ace_NoOne, the branch you accidentally based your branch on, i.e. the one that should have been master | 15:00 |
|
Ace_NoOne
| ah ok, thanks | 15:01 |
|
| but ... what is oldbranch then | 15:01 |
|
alterscape
| Illari: The other changes I'm referring to would be access permissions for the git account, etc. But yes, for gitosis.conf changes ;) | 15:02 |
|
jast
| Ace_NoOne, the branch you want to transplant onto master now, i.e. the branch you based upon wrongoldbase | 15:02 |
|
| say you did git checkout -b wrongbranch notmaster rather than git checkout -b wrongbranch master | 15:03 |
|
| and that's what you want to fix now | 15:03 |
|
| then you do git rebase --onto master notmaster wrongbranch | 15:03 |
|
jengelh
| one parameter too much it seems | 15:03 |
|
jast
| in fact the whole renaming and deleting business is optional afaics | 15:04 |
|
| jengelh, it would be if not for --onto | 15:04 |
|
jengelh
| git checkout branchtorebase; rebase --onto stickithere cutitoffhere | 15:04 |
| → schacon_ joined | 15:04 |
|
Ace_NoOne
| jast: ahh I see | 15:04 |
|
jast
| yeah, i suggested a few gratuitous steps earlier | 15:04 |
|
Ace_NoOne
| thanks jast | 15:05 |
|
jast
| not that they do any damage | 15:05 |
|
Ace_NoOne
| :) | 15:06 |
| ← solars left | 15:06 |
| → solars joined | 15:06 |
| → ruphy joined | 15:09 |
| → lea_1 joined | 15:10 |
| → bdiego joined | 15:11 |
| → mithro joined | 15:12 |
| ← gmcinnes left | 15:15 |
| ← Sho_ left | 15:16 |
| → krawek joined | 15:16 |
|
gebi
| git-svn makes a really good svndump replacement for non-root users :) | 15:17 |
|
| it just saved my day because after a bigger commit the svn repos was dead | 15:17 |
| → Sho_ joined | 15:19 |
|
ToxicFrog
| It seems like a disproportionaly large amount of the discussion in here is about git interaction with svn. I do wonder why. | 15:21 |
| → schacon__ joined | 15:23 |
| ← schacon_ left | 15:23 |
|
jast
| probably because svn is often forced on you and git-svn is the least painful way to deal with that | 15:24 |
| ← reel_ left | 15:25 |
| ← bdiego left | 15:27 |
| ← lea_w left | 15:28 |
| → brosner joined | 15:29 |
| ← ggeecko left | 15:29 |
| → holizz joined | 15:32 |
| → bobesponja joined | 15:32 |
|
DeFirence
| when you use 'git commit -a' | 15:34 |
| → jeckel joined | 15:34 |
|
DeFirence
| what do you do after you've typed the commit msg?? | 15:34 |
|
jast
| save and exit the editor | 15:34 |
|
DeFirence
| how? | 15:35 |
|
| on git bash windows | 15:35 |
|
| :p | 15:35 |
| ← agib left | 15:35 |
|
jast
| well, can you see what editor you've got there? | 15:35 |
|
| my first guess would be nano | 15:36 |
|
DeFirence
| i have no idea | 15:36 |
|
| its just an editor | 15:36 |
|
jast
| if it's nano it says so in the topmost line | 15:36 |
| ← WildPikachu left | 15:36 |
| ← Ace_NoOne left | 15:37 |
|
Bombe
| Does it show "~" at the start of every line below the commit message? | 15:37 |
|
DeFirence
| says the path and the lines at the bottom | 15:37 |
|
jast
| heh :) | 15:37 |
|
DeFirence
| no | 15:37 |
|
| and no | 15:37 |
|
Bombe
| (Remember: If your editor doesn't show these it's TOTALLY BROKEN. :) | 15:37 |
| → krh joined | 15:37 |
|
jast
| let's save the confusion for later... :P | 15:37 |
|
DeFirence
| what? | 15:37 |
|
Bombe
| :) | 15:37 |
|
DeFirence
| lol | 15:37 |
|
| :P | 15:37 |
|
Bombe
| DeFirence, what happens when you press ":"? | 15:38 |
|
ToxicFrog
| DeFirence: try hitting escape several times, then :w | 15:38 |
|
jast
| so did you install git via cygwin or is that msysgit? | 15:38 |
|
ToxicFrog
| And then enter. | 15:38 |
|
jast
| but... but... no tildes! :( | 15:38 |
|
DeFirence
| msysgit | 15:38 |
|
| : works :P | 15:38 |
| → gmcinnes joined | 15:38 |
|
Bombe
| DeFirence, that's nice but what does it do? :) | 15:38 |
|
DeFirence
| : lets me enter a command | 15:39 |
|
ToxicFrog
| DeFirence: "works" in what sense? | 15:39 |
|
| Ok, so you're using a vi-oid. | 15:39 |
|
jast
| in that case, :wq (enter) saves and exits | 15:39 |
|
Bombe
| Try "wq" as a command. :) | 15:39 |
|
DeFirence
| yeah, ty | 15:39 |
|
ToxicFrog
| :w will save, :wq will save and exit and :q! will exit without saving. | 15:39 |
|
Bombe
| Hmm. Strange. No tildes! | 15:39 |
|
jast
| consider using a different editor if you don't want the learning curve of a vi-like one :} | 15:39 |
|
ToxicFrog
| Not all vi-oids use the tildes. | 15:39 |
|
| And some terminal editors have weird color configurations that mean they don't show up even if vi uses them. | 15:40 |
|
jast
| though i wouldn't know what else msysgit ships with | 15:40 |
|
ToxicFrog
| Er, terminal emulators. | 15:40 |
|
jast
| probably nothing | 15:40 |
|
ToxicFrog
| Well, it's a windows machine, so you can always do something like env EDITOR=notepad.exe git commit | 15:40 |
|
| And msys should come with nano | 15:40 |
|
jast
| ah | 15:40 |
|
| but notepad forks into the background, doesn't it? | 15:40 |
|
Bombe
| I don't think notepad.exe will work. | 15:41 |
|
| Yes, it does. | 15:41 |
|
ToxicFrog
| (assuming msysgit is msys+git, not git + minimal subset of msys) | 15:41 |
|
charon
| it only needs vi. the only other option would be emacs, but that contradicts the assumption that the user wants to run/keep windows as OS | 15:41 |
|
ToxicFrog
| It does? | 15:41 |
|
| Hmm, been ages since I used it, so. | 15:41 |
|
Bombe
| Yes. | 15:41 |
|
ToxicFrog
| That's annoying. | 15:41 |
|
Mikachu
| what about nano? | 15:41 |
|
jast
| pretty much all win32 GUI apps go to background | 15:41 |
|
| (iirc) | 15:41 |
|
DeFirence
| env EDITOR=notepad.exe git commit works, but i think wordpad would work better | 15:41 |
|
| since notepad doesnt work nice with LF instead of CRLF i think | 15:42 |
|
jast
| you can always use a real editor instead ;) | 15:42 |
|
| there's tons of decent ones, e.g. notepad++ | 15:42 |
|
ToxicFrog
| Aah, yes | 15:42 |
|
jast
| though, of course, none can beat vim | 15:43 |
|
Bombe
| So true. | 15:43 |
|
DeFirence
| but then ill have to type env editor = w/e before every commit line :/ | 15:43 |
|
jast
| the only editor i've got that can be scripted in four different languages! | 15:43 |
| → pygi joined | 15:43 |
|
Bombe
| git config core.editor notepad.exe should take care of that, DeFirence. | 15:43 |
|
jast
| no, you can change environment settings in the control panel (system -> something) | 15:44 |
|
| or that | 15:44 |
|
ToxicFrog
| Bombe: assuming he has a recent version | 15:44 |
|
jast
| though git config --global is probably more useful | 15:44 |
|
Bombe
| ToxicFrog, I have no idea when core.editor was added. I started using git a week ago. :) | 15:44 |
|
jast
| i don't think particularly non-recent versions of git exist as msysgit packages | 15:44 |
|
ToxicFrog
| And sys it's msys, you could also put it in your .bash_profile | 15:44 |
| ← Jerdent left | 15:44 |
|
ToxicFrog
| I think it was in 1.5.3.0 | 15:44 |
|
| 1.5.2.x doesn't have it | 15:45 |
|
jast
| of course we all know what version debian stable ships with :} | 15:45 |
| ← EiNZTEiN left | 15:45 |
|
Bombe
| What's this debian thingy I keep hearing people talking about? | 15:45 |
|
rafl
| is there a git command to find the .git/ directory from within a subdirectory in a repository? | 15:46 |
|
jast
| Bombe, it's a special fork of openssl | 15:46 |
|
ToxicFrog
| Well, ubuntu 7.10 (which, to my sorrow, I must use at work) is still using 1.5.2.5 | 15:46 |
|
| So debian stable is probably somewhere around 1.5.0 | 15:46 |
|
Bombe
| jast, ah... weak cryptography to comply with US export restrictions, I assume? | 15:46 |
|
jast
| rafl, git rev-parse --git-dir | 15:46 |
|
| ToxicFrog, actually it's 1.4.4 | 15:46 |
|
rafl
| jast: thanks! | 15:47 |
|
jast
| Bombe, in a manner of speaking, yeah. | 15:47 |
| → Overshard joined | 15:47 |
| ← mithro left | 15:47 |
|
jast
| Bombe, actually it was phenomenally weak cryptography to make debugging easier, thanks to an overzealous patch not really discussed with upstream | 15:47 |
|
| hint: what do you get when your PRNG produces at most 32768 different seeds? | 15:48 |
|
Bombe
| jast, I read the discussion and upstream itself wasn't really sure about what to do. :) | 15:48 |
|
jast
| upstream wasn't aware that the patch was supposed to go into a production package | 15:48 |
|
Bombe
| jast, which doesn't really matter... if upstream knew that this patch is bad it shouldn't be in a testing package, either. | 15:49 |
|
jast
| anyway, nothing that a liberal application of decapitations can't fix. | 15:49 |
|
Bombe
| Right. | 15:49 |
| ← jeckel left | 15:49 |
|
jast
| upstream assumed that the question was asked for local debugging purposes, i.e. not supposed to ever go into any sort of package at all. | 15:49 |
|
Bombe
| Communication FTW. | 15:49 |
|
| Bombe goes outside to have a smoke. | 15:49 |
|
jast
| the maintainer didn't make his goal very clear at all and he didn't include a patch, just a description of what he wanted to change | 15:50 |
|
ToxicFrog
| jast: and their answer, IIRC, was "use -DPURIFY", not "sure, comment it out" | 15:50 |
|
jast
| there were two different answers afaik | 15:51 |
|
| one was "if it helps debugging i'm all for commenting it out" | 15:51 |
| → d2dchat joined | 15:51 |
|
gebi
| ToxicFrog: there are far more svn repositories than git out there, and every git user i know of uses git-svn to deal with them ;) | 15:52 |
|
jast
| it wasn't really hard to convince two of my colleagues (out of three) to start using git-svn even if they had never tried git | 15:53 |
| → larsl joined | 15:54 |
|
gebi
| as soon as there is one active developer using git-svn it becomes quite stressfull for the svn devs *g* | 15:54 |
| → zachinglis joined | 15:55 |
|
Mikachu
| and for people on #git :) | 15:56 |
|
DeFirence
| does git-gui not care about excluded files and directories? | 15:56 |
|
jast
| yes it does | 15:56 |
|
DeFirence
| cause it shows all the untracked excluded files as unstaged changes | 15:56 |
|
jast
| well, in the sense that it respects the ignore patterns | 15:56 |
|
| did you do what i suggested you do? | 15:56 |
|
Mikachu
| DeFirence: and git status doesn't list them? | 15:56 |
|
DeFirence
| yes jast | 15:57 |
| → aroben joined | 15:57 |
|
jast
| okay, Mikachu's question next :) | 15:57 |
|
DeFirence
| http://rafb.net/p/hKaLG492.html | 15:59 |
|
| thats my git status | 15:59 |
|
| so its not excluding | 15:59 |
| ← gmcinnes left | 15:59 |
|
DeFirence
| my excludes file has the following: | 16:00 |
|
| Thumbs.db | 16:00 |
|
| "/bin" | 16:00 |
|
| "/obj" | 16:00 |
| → gmcinnes joined | 16:00 |
|
jast
| /bin will only work on the top level | 16:00 |
|
| to ignore all files/directories called bin, leave out the / | 16:00 |
| ← _zack left | 16:00 |
|
DeFirence
| ahhh | 16:01 |
| → schacon_ joined | 16:02 |
| ← schacon__ left | 16:02 |
| → mvanholstyn joined | 16:02 |
| ← lea_1 left | 16:02 |
| → hipertracker joined | 16:02 |
| → psilo2_ joined | 16:03 |
| → acm joined | 16:04 |
|
vbabiy-laptop
| Hey if I mad a change to a file and I want get clear the change before I commit how can I reset it | 16:07 |
|
| Like it CVS I would just rm the and do a update | 16:08 |
|
larsl
| git reset --hard | 16:08 |
|
| Oh, just one file? | 16:08 |
|
| Just don't git-add it before you git-commit. | 16:08 |
|
Bombe
| Hmm... if I have added a file to the index and changed it afterwards, how can I reset it to what's in the index? | 16:09 |
|
jast
| Bombe, git checkout -- file | 16:09 |
|
Bombe
| Ah. | 16:09 |
| ← nud left | 16:09 |
|
Bombe
| Thanks. | 16:09 |
| → jeckel joined | 16:09 |
| → EiNZTEiN joined | 16:13 |
| ← psilo2 left | 16:13 |
| → lea_w joined | 16:14 |
| → EiNZTEiN_ joined | 16:14 |
| ← d2dchat left | 16:15 |
| ← ruphy left | 16:17 |
| → Xyri0 joined | 16:17 |
| ← alterscape left | 16:17 |
| ← discomury left | 16:19 |
| ← redondos left | 16:20 |
| → VitaRara joined | 16:23 |
| → eternaleye_ joined | 16:24 |
| ← schacon_ left | 16:26 |
| ← Xyrio left | 16:27 |
| Xyri0 → Xyrio | 16:27 |
| ← arun left | 16:28 |
| ← EiNZTEiN left | 16:28 |
| EiNZTEiN_ → EiNZTEiN | 16:28 |
| ← zachinglis left | 16:32 |
|
pasky
| uhhm | 16:36 |
| → horos22 joined | 16:36 |
|
pasky
| please, make it clear to me | 16:36 |
|
| if I use --pretty=format, there's really _no_ way to get rid of the totally stupid extra 'commit' lines? | 16:36 |
|
| pasky hates git :) | 16:37 |
|
Eridius
| pasky: what's wrong with those commit lines? | 16:37 |
|
pasky
| Eridius: they get in my way! :) | 16:37 |
|
Mikachu
| how do you mean? | 16:37 |
|
Eridius
| if you hate them that much, you can grep them out | 16:37 |
|
pasky
| when I use --pretty=format, that means _I_ want to have _full_ control on the format of the output | 16:37 |
|
Mikachu
| if i write git log -1 --pretty=format:hello, it just prints hello and nothing else | 16:37 |
|
pasky
| not wanting rev-list get in my way trying to outsmart me | 16:37 |
|
Mikachu
| ah, in that case, use log instead of rev-list? :P | 16:38 |
|
pasky
| pasky@pixie:~/src/git> git rev-list -1 --pretty=format:hello HEAD~100..HEAD | 16:38 |
|
| commit 1af8bca79766198c591d8db58f778a98e96627e2 | 16:38 |
| ← lcapitulino left | 16:38 |
|
pasky
| hello | 16:38 |
|
| hm | 16:38 |
| ← mcella left | 16:39 |
|
pasky
| my idea was that since I'm coding porcelain I'm going to use the plumbing | 16:39 |
|
| but apparently there's still no clear distinction of that in git | 16:39 |
|
| oh well | 16:39 |
|
| still, having such a distinction is really obscure | 16:39 |
|
| but thanks :) | 16:39 |
|
| pasky will not elaborate on the fact that -1 is undocumented | 16:39 |
|
Mikachu
| it was a pure accident i found it, since you didn't mention what command you were using :) | 16:40 |
|
pasky
| heh :) | 16:40 |
| ← horos22 left | 16:42 |
| → lcapitulino joined | 16:42 |
|
pasky
| ok, -1 is actually documented | 16:42 |
|
| at least for log | 16:42 |
| ← gitte left | 16:44 |
|
Eridius
| wow | 16:45 |
|
| mischan | 16:45 |
| ← eternaleye_ left | 16:45 |
| → rubydiamond joined | 16:49 |
| → arun joined | 16:50 |
| ← ciaran29d left | 16:52 |
| → d2dchat joined | 16:55 |
| ← priidu left | 16:56 |
| → timocratic joined | 16:57 |
| → mithro joined | 16:59 |
| ← timocratic left | 16:59 |
| → priidu joined | 16:59 |
| → timocratic joined | 17:00 |
| → ckoehler joined | 17:01 |
| ← mvanholstyn left | 17:02 |
|
ForsakenSoul
| hello | 17:03 |
|
| can someone guide me through the commit process please ... | 17:03 |
|
ToxicFrog
| In general, it's just: | 17:04 |
|
Ilari
| ForsakenSoul: Having trouble understanding the index (a.k.a. staging area)? | 17:04 |
|
ToxicFrog
| git add <list of files or directories you want included in the commit> # this adds them to the index | 17:04 |
|
| git commit # this turns everything in the index into a commit, and stores it | 17:04 |
| → tenpaiyomi joined | 17:06 |
| ← charon left | 17:06 |
|
tenpaiyomi
| What do I do if I'm trying to commit my changes to the server, yet I'm getting "Cannot dcommit with a dirty index. Commit your changes first, or stash them with `git stash'.", however when I do git status, it states I have nothing to commit | 17:06 |
|
ToxicFrog
| What happens if you try git reset --mixed HEAD? | 17:08 |
| → tvachon joined | 17:08 |
|
tenpaiyomi
| That worked | 17:09 |
|
| Awesome, thank you | 17:09 |
|
ForsakenSoul
| ilari ... I know the concepts of the thing and I know the command but when I type git-commit with the files already added | 17:09 |
|
| I get the index in my console to edit it | 17:09 |
|
| and don't know how to exit from here | 17:09 |
|
| is this because I have some unmonitored files ? | 17:09 |
|
Ilari
| ForsakenSoul: It is asking for commit message. | 17:09 |
|
| ForsakenSoul: The lines prefixed with '#' are just comments and ignored. | 17:10 |
| ← gmcinnes left | 17:10 |
|
ToxicFrog
| ForsakenSoul: the default editor is vi; hit insert a few times, type stuff in, then exit with <esc>:wq<enter> | 17:11 |
|
ForsakenSoul
| ok | 17:11 |
|
ToxicFrog
| Alternately, set the environment variable EDITOR to something else like nano, or git config core.editor | 17:11 |
|
ForsakenSoul
| I'll try that | 17:12 |
|
ToxicFrog
| alternately alternately, use "git commit -m <message>" if you're ok with a short commit message | 17:12 |
|
Ilari
| Isn't it also possible to write commit message to file and use '-F <filename>' to commit? | 17:13 |
| ← bentob0x left | 17:13 |
|
ToxicFrog
| Aah. Yes, that'll work | 17:14 |
| → ggeecko joined | 17:14 |
|
ToxicFrog
| Or even -F-, type it in and hit ^D to finish | 17:14 |
| → gmcinnes joined | 17:14 |
| → nud joined | 17:14 |
|
ForsakenSoul
| toxicfrog * no commit message? aborting commit. | 17:14 |
| ← ggeecko left | 17:15 |
|
ForsakenSoul
| would you give me an example for a commit message | 17:15 |
|
ToxicFrog
| Anything non-whitespace | 17:15 |
|
| And non-comment | 17:15 |
|
| One of my recent ones, say: | 17:15 |
| ← gmcinnes left | 17:15 |
| → jaf joined | 17:15 |
|
ToxicFrog
| Fixed configuration stuff | 17:15 |
|
| | 17:15 |
|
| - chmod a-x config files | 17:16 |
|
| - changed default tileset to "lite" version | 17:16 |
|
ForsakenSoul
| didn't you say non-whitespace ? | 17:16 |
|
ToxicFrog
| As in "contains stuff other than whitespace" | 17:16 |
|
| If your commit message is *entirely* whitespace and/or comments, it'll treat it like no message | 17:16 |
|
| So you can't just immediately save and quit when it asks you for a message, you have to type *something*, or use -m or -F | 17:17 |
|
jaf
| I am trying to do my first git commit, and keep getting the error "fatal: There was a problem with the editor vi." - nothing in the docs that I can find on this | 17:17 |
|
| this is on os x leopard | 17:17 |
|
ToxicFrog
| jaf: by default, it tries to launch vi so that you can type in a commit message | 17:18 |
|
| I suspect this is what happens if you can't | 17:18 |
|
| try any of: | 17:18 |
|
jaf
| this happens when I try to exit vi | 17:18 |
|
| it launches vi fine | 17:18 |
|
ToxicFrog
| Ok, this is also probably what happens if vi exits with a nonzero exit code | 17:18 |
|
| $ env EDITOR=nano git commit # try a different editor, or | 17:18 |
|
ForsakenSoul
| toxixfrog how do I set up a different editor like gedit for instance ? | 17:18 |
|
ToxicFrog
| $ git commit -m message # enter message on command line, or | 17:19 |
|
| $ git commit -F file_with_message_in_it # create the message seperately | 17:19 |
|
ForsakenSoul
| do I have to do the env editor command every time ? | 17:19 |
|
ToxicFrog
| ForsakenSoul: if you have a recent git (1.5.3.x+), you can set the core.editor configuration variable | 17:19 |
|
jaf
| ToxicFrog: no way to just use vi? | 17:19 |
|
ToxicFrog
| Eg, git config --global core.editor gedit | 17:19 |
|
| jaf: if you can get vi to exit normally rather than exiting with an error code, it should work, I think | 17:20 |
|
ForsakenSoul
| ok .. I'll just do it in a different file | 17:20 |
|
| it would be less effordless | 17:20 |
|
ToxicFrog
| But this might be some weird OSX-specific bug or something, I don't know | 17:20 |
|
| ForsakenSoul: what? | 17:20 |
|
ForsakenSoul
| and I can do it more detailed | 17:20 |
|
jaf
| ToxicFrog: ok, thanks for the info. much obliged. | 17:20 |
|
ForsakenSoul
| $ git commit -F file_with_message_in_it # create the message seperately | 17:20 |
|
ToxicFrog
| jaf: one thing you might be able to do, if you can't fix vi itself, is try a script that just does "vi $@; exit 0" | 17:21 |
|
| And then make that your editor | 17:21 |
| → mediogre joined | 17:21 |
|
ToxicFrog
| ForsakenSoul: that's easier than using env or setting core.editor? | 17:21 |
|
ForsakenSoul
| well maybe not ... but I'm still very very new to git | 17:24 |
|
| and don't want to mess around with the settings just for now | 17:24 |
|
| just to get a bit confortable | 17:24 |
|
| and than I'll play with it | 17:24 |
| ← d2dchat left | 17:25 |
|
ToxicFrog
| Ok | 17:25 |
|
| Well, for future reference, the man page for the settings is man git-config | 17:26 |
|
| The setting in question is core.editor, if you have a sufficiently up to date editor | 17:26 |
|
| And the easiest nonpersistent way to do this is probably env, as it doesn't require seperately creating and editing files. | 17:26 |
| ← psilo2_ left | 17:27 |
|
ForsakenSoul
| well I might have one all the time | 17:27 |
|
| and just update it | 17:27 |
|
| :D | 17:27 |
|
| well at least one for every project | 17:27 |
|
| :D | 17:27 |
| → Eridius|work joined | 17:28 |
|
ToxicFrog
| I would find that terribly inconvenient, but if it works for you, go for it | 17:28 |
| → gmcinnes joined | 17:28 |
| → schacon_ joined | 17:29 |
| ← ekidd left | 17:32 |
| ← lea_w left | 17:32 |
| → edwardog joined | 17:32 |
|
edwardog
| Using git-svn, how do I create new remote tags or branches? | 17:33 |
| ← acm left | 17:34 |
| ← schacon_ left | 17:35 |
| ← jaf left | 17:35 |
| → ekidd joined | 17:36 |
|
Eridius|work
| edwardog: git push remote localbranch:remotebranch will create a new remote branch | 17:37 |
|
| as for tags, try passing --tags | 17:37 |
| → dbhumphreys joined | 17:38 |
|
dbhumphreys
| so, i've got a clueless newbie question. | 17:38 |
|
Thumper_
| Eridius|work: in git-svn ? I didn't think there was a way to do that... | 17:38 |
|
dbhumphreys
| i clone a repository from machine a to machine b. works! ... i push the changes from b back to a. i go back to a. | 17:39 |
|
Eridius|work
| oh, missed the -svn part | 17:39 |
|
dbhumphreys
| how do i merge the change from b? | 17:39 |
|
ToxicFrog
| dbhumphreys: let me guess - the repo on a isn't bare | 17:39 |
|
Eridius|work
| dbhumphreys: if your working tree is unmodified, a simple `git reset --hard HEAD` will work | 17:39 |
|
dbhumphreys
| that's probably the case, since i'm not sure what you're talking about. | 17:39 |
|
edwardog
| Eridius|work: yeah, it’s a little funky. I get errors like | 17:39 |
|
| fatal: 'svn': unable to chdir or not a git archive | 17:39 |
|
| fatal: The remote end hung up unexpectedly | 17:39 |
|
ToxicFrog
| I *think* "git reset --hard <commit>", where <commit> is probably HEAD, will do it | 17:39 |
|
| But in general pushing to non-bare repos is discouraged | 17:40 |
|
dbhumphreys
| okay. | 17:40 |
|
edwardog
| (Checking .git/config, I see that git-svn has named 'origin' as 'svn') | 17:40 |
|
ToxicFrog
| dbhumphreys: a bare repo, as it says in the tutorial, is one with no working tree - only the repo itself | 17:40 |
|
dbhumphreys
| so, the right way to do that is ...? | 17:40 |
|
edwardog
| Eridius|work: good instinct though | 17:40 |
|
ToxicFrog
| you can pull from and push to it, but can't work directly in it | 17:40 |
|
dbhumphreys
| okay. | 17:40 |
|
Eridius|work
| edwardog: to create branches and tags, the easiest thing is to use svn directly using URLs as the arguments | 17:40 |
|
ToxicFrog
| You can create one with git --bare init, and clone to a bare repo with git clone --bare | 17:40 |
|
dbhumphreys
| so, make a repository on machine a. pull from that repository on machines a and b? | 17:41 |
|
ToxicFrog
| Yes. | 17:41 |
|
Eridius|work
| if you really want to do it within git-svn, you can *try* creating git remote-tracking branches that correspond to the git-svn tags/branches format, but I have no idea if git-svn will actually obey them | 17:41 |
|
dbhumphreys
| then i can push from both. | 17:41 |
|
edwardog
| Eridius|work: yeah, that’s what I was thinking. I guess the git bridging thing only takes you so far | 17:41 |
|
ToxicFrog
| You can do it without a bare repo, but in that case it's much preferred to do pull-only - ie, b pulls from a, a pulls from b | 17:41 |
| → christastrophe joined | 17:41 |
|
dbhumphreys
| hm. okay. | 17:41 |
| rubydiamond → lol | 17:41 |
|
edwardog
| Eridius|work: ah, yeah, that’s a good idea | 17:42 |
|
| cool, thaks | 17:42 |
|
ToxicFrog
| Since if b pulls from a, and then pushes to a, and then you want to work in a, which has a working copy, things can get messy fast, especially if you have uncomitted or unmerged changes in a | 17:42 |
|
dbhumphreys
| right. okay. | 17:42 |
|
| thanks! | 17:42 |
|
christastrophe
| does gitosis have its own IRC channel for asking quesions? | 17:42 |
|
ToxicFrog
| The other common idiom for this is that a has an "incoming" branch | 17:42 |
|
Eridius|work
| edwardog: honestly, even when using svn I like to create branches/tags using URLs (since I generally don't have the root of the repo checked out) | 17:42 |
| → DrNick joined | 17:43 |
|
ToxicFrog
| so you pull from a to b, edit some stuff in b, and then push to a incoming rather than a master. | 17:43 |
|
| And then next time you're on a, you merge from incoming into master. | 17:43 |
|
dbhumphreys
| tricky. | 17:43 |
|
| okay. | 17:43 |
|
ToxicFrog
| Not usually. | 17:43 |
| → kanru joined | 17:43 |
| ← sverrej left | 17:44 |
| → shoe joined | 17:44 |
|
ToxicFrog
| But the underlying thing here is that pushing to a branch that corresponds to a working copy is more trouble than it's worth most of the time - you either push to a bare repo, or you push to a not-currently-checked-out branch on a normal repo and then merge. | 17:44 |
|
edwardog
| Eridius|work: to do that with a url, do I just do a svn co https://svn.whatever.com/my_project/branches/my_new_branch ? | 17:44 |
|
dbhumphreys
| "bare repo." ... nothing in there? or just nobody working inside of it? | 17:45 |
|
Eridius|work
| edwardogyeah | 17:45 |
| → samgranieri joined | 17:45 |
|
edwardog
| Eridius|work: sweet. Thanks | 17:45 |
|
ToxicFrog
| The latter, sort of. | 17:45 |
|
Eridius|work
| if you want to save on typing you can do svn co https://svn.whatever.com/my_project/{trunk,branches/new_branch} | 17:45 |
|
| bash syntax ftw! | 17:45 |
|
ToxicFrog
| Like I said earlier, a bare repo is one with no working copy | 17:45 |
|
dbhumphreys
| cool. | 17:45 |
| → mvanholstyn joined | 17:46 |
|
ToxicFrog
| Normally, for a git repo foo, the working copy is in foo/ and the git files are in foo/.git/ | 17:46 |
|
| For a bare repo, the git files are in foo/ and there's no working copy. | 17:46 |
|
edwardog
| Eridius|work: whu? What do the braces do there? | 17:46 |
|
ToxicFrog
| edwardog: argument expansion. | 17:46 |
|
dbhumphreys
| okay. that was helpful -- thanks! | 17:47 |
|
Eridius|work
| edwardog: in bash syntax, the braces expand into multiple args | 17:47 |
|
ToxicFrog
| foo/{bar,baz} turns into foo/bar foo/baz | 17:47 |
|
Eridius|work
| yeah | 17:47 |
| ← larsl left | 17:47 |
|
ToxicFrog
| v. useful | 17:47 |
|
Eridius|work
| foo{,bar} becomes foo foobar | 17:47 |
|
edwardog
| when you tab-complete? | 17:47 |
|
Eridius|work
| you can even nest | 17:47 |
|
| edwardog: no, when you hit return | 17:47 |
|
| foo{bar,baz,blah/{one,two}} becomes foobar foobaz fooblah/one fooblah/two | 17:47 |
| → _graham_ joined | 17:47 |
| ← cedricv left | 17:47 |
|
ToxicFrog
| edwardog: test it with echo, if you like | 17:47 |
|
| bkelly@b-kelly:~/devel/tools/performance/cpu_mon$ echo foo{bar,baz,blah/{one,two}} | 17:48 |
|
| foobar foobaz fooblah/one fooblah/two | 17:48 |
|
Eridius|work
| it's incredibly useful | 17:48 |
|
edwardog
| umm... ok, so this thing is doing some sort of zip? I’m going to echo stuff and try to figure out why this is useful | 17:48 |
|
Eridius|work
| it saves typing | 17:48 |
|
| for example, in the URL, it meant the root of the project only had to be typed once | 17:49 |
|
| https://svn.whatever.com/my_project/{trunk,branches/newbranch} | 17:49 |
|
ToxicFrog
| Rather than having to type out "https://svn.whatever.com/my_project/trunk https://svn.whatever.com/my_project/branches/newbranch" in its entirety. | 17:49 |
|
edwardog
| oh! | 17:49 |
|
| ok | 17:49 |
|
| sorry, my eyes were slipping or something | 17:50 |
|
| I thought I saw an extra slash in there | 17:50 |
| → advany joined | 17:50 |
|
ToxicFrog
| There's no magic occuring here, this is just a useful shell construct. | 17:50 |
|
edwardog
| Yeah, that makes sense | 17:50 |
|
| so it copies the string before it | 17:50 |
|
| gotcha | 17:50 |
|
| Thanks! | 17:50 |
| → charon joined | 17:52 |
| lol → rubydiamond | 17:52 |
| ← z1o left | 17:52 |
| glauber_ → glommer | 17:52 |
| ← Catfish left | 17:57 |
| ← EiNZTEiN left | 17:59 |
| → p4tux joined | 18:00 |
| → eikonos joined | 18:02 |
| → zachinglis joined | 18:03 |
| → felipec joined | 18:05 |
| ← koke left | 18:06 |
| → koke joined | 18:06 |
| ← Overshard left | 18:06 |
| ← koke left | 18:07 |
| ← Gitzilla left | 18:09 |
| ← deavid left | 18:10 |
| → lea_w joined | 18:17 |
| ← priidu left | 18:18 |
| ← manveru left | 18:21 |
| → threeve joined | 18:22 |
|
jettero
| is there a way to combine git remote git+ssh://host/dir/dir with git config branch.master.merge refs/heads/master so my push pull work? | 18:24 |
|
| or is it just two commands? | 18:24 |
| ← edwardog left | 18:26 |
| ← zachinglis left | 18:27 |
| ← warthog9 left | 18:27 |
|
DeFirence
| why does git say theres still merge conflicts in file x if ive fixed them? | 18:28 |
|
Eridius|work
| you have to git add the file | 18:28 |
|
| the index still has it marked as unmerged | 18:28 |
|
DeFirence
| im using git gui | 18:28 |
|
| on windows | 18:28 |
|
| :p | 18:28 |
| → tahooie joined | 18:29 |
|
DeFirence
| when i try commit a file that ive fixed conflicts in | 18:29 |
|
| it says file x still has conflicts | 18:29 |
| → erikveen joined | 18:29 |
|
| Eridius|work can't help you with windows, sorry | 18:30 |
|
doener
| DeFirence: should boil down to the same though. The "unstaged changes" window should still list your file. Stage it | 18:31 |
| ← rubydiamond left | 18:32 |
|
DeFirence
| hmm | 18:32 |
|
| im trying | 18:32 |
|
| but it gives a merging error | 18:32 |
|
tahooie
| My project compiles an executable. I'd like the executable to be in the git repository so that people who check out the repository will have it, but I would like git to -NOT- keep a revision history of it because of size issues. Can I do this? | 18:33 |
|
doener
| no | 18:34 |
|
tahooie
| ok. thanks | 18:34 |
| ← mvanholstyn left | 18:34 |
|
DeFirence
| if i use git bash | 18:34 |
|
| i can git add file | 18:34 |
|
| but in the gui i cant | 18:34 |
|
| $ git merge ? | 18:35 |
|
| You are in the middle of a conflicted merge. | 18:35 |
|
doener
| Hm, no clue then, I don't use git gui | 18:35 |
|
DeFirence
| ive never done merges before | 18:35 |
|
| uhm | 18:35 |
| ← erikveen left | 18:35 |
|
DeFirence
| what would i do next if i was using command line git? | 18:35 |
|
Eridius|work
| DeFirence: so in git gui you can't just stage the file? | 18:36 |
| ← gmcinnes left | 18:36 |
|
DeFirence
| oh wait | 18:36 |
|
| i can now | 18:36 |
|
Eridius|work
| tahooie: in theory you could wrap git with commands that re-write the latest commit to remove the binary when creating a new commit ;) | 18:36 |
|
DeFirence
| odd... | 18:36 |
|
Eridius|work
| but that would really fuck with people doing a pull | 18:37 |
|
tahooie
| Eridius|work, sounds like way more hassle then I'd like to deal with | 18:37 |
|
ToxicFrog
| DeFirence: with command line, typically you either merge manually or use git mergetool, then git add it all, then git commit | 18:38 |
|
| resolve the conflicts in the merge, rather | 18:38 |
|
DeFirence
| ok | 18:38 |
| angasule_ → angasule | 18:38 |
|
jettero
| is there a way to hook some extra things to do before a 'git status'? | 18:39 |
| ← kelvie_ left | 18:41 |
| ← tahooie left | 18:42 |
| → queso joined | 18:42 |
| → mvanholstyn joined | 18:42 |
| → janm joined | 18:42 |
| → com4 joined | 18:43 |
|
com4
| is there a problem using git over a samba share? | 18:43 |
| → gmcinnes joined | 18:44 |
| → kelvie_ joined | 18:44 |
| ← dbhumphreys left | 18:44 |
| ← mediogre left | 18:44 |
|
drizzd
| Probably. You'll want the new case insensitivity features, at least. | 18:44 |
| ← mvanholstyn left | 18:45 |
|
com4
| drizzd: how about just on ntfs filesystems? | 18:46 |
| → koke joined | 18:46 |
|
drizzd
| well, I'd think that's slow as hell. But I guess you'll just have to try. | 18:47 |
|
com4
| i don't care if it's slow :) i'm not the one insisting on using windows | 18:47 |
| ← lcapitulino left | 18:48 |
| → warthog9 joined | 18:48 |
| → d2dchat joined | 18:49 |
|
ToxicFrog
| com4: I've used it on ntfs under windows, with no problems in either functionality or performance. I haven't tried it on ntfs under linux. | 18:49 |
|
drizzd
| com4: well, if you use windows then checkout msysgit. And to synchronize your repository to a fat/ntfs filesystem, you can just use git-push. | 18:49 |
|
ToxicFrog
| (this is cygwin git, btw) | 18:49 |
|
drizzd
| s/checkout/check out/ | 18:49 |
|
| oh | 18:49 |
|
ToxicFrog
| I haven't tried msysgit, so can't comment on it. | 18:49 |
|
drizzd
| I guess cygwin git makes sense, since there is no full GUI support for git you'll need some kind of console anyways. | 18:50 |
| → zachinglis joined | 18:50 |
|
ToxicFrog
| That's why msysgit comes with bash, presumably. | 18:53 |
| ← jmalonzo left | 18:54 |
|
com4
| awesome. thanks | 18:56 |
| ← zachinglis left | 18:57 |
| → dirk1296 joined | 19:00 |
| → Eludias joined | 19:01 |
| ← leachim6 left | 19:01 |
| ← kanru left | 19:04 |
| ← sgrimm left | 19:05 |
| → kanru joined | 19:08 |
|
drizzd
| oh it does? | 19:09 |
| → warlock_mza joined | 19:09 |
| → thiago_home joined | 19:11 |
| → redondos joined | 19:14 |
| ← PerlJam left | 19:14 |
| ← queso left | 19:15 |
| ← Ramune left | 19:15 |
|
ToxicFrog
| drizzd: from conversations in here, yes - otherwise it would be largely unusable | 19:16 |
| → robin_ joined | 19:17 |
| → benstiglitz joined | 19:17 |
| ← benstiglitz left | 19:17 |
| ← krh left | 19:17 |
|
ToxicFrog
| The git GUI tools still being very immature, especially when compared to SVN, Perforce, etc. | 19:17 |
|
drizzd
| yeah, I just remember trying it a while a go. The part about the bash slipped my mind, but it's still unusable without proper integration with other development tools. | 19:18 |
| → capisce joined | 19:20 |
|
tflsh
| anyone know how i can do a git clone of a specific tag? | 19:20 |
|
| e.g. to clone the v1.5.5.3 tag of the git srcc? | 19:21 |
|
Ilari
| tflsh: You can't do it with git-clone (it gets all branches and tags too). init+fetch+checkout would work... | 19:23 |
|
jettero
| I think git init a dir and then fetch ... what ilari said | 19:23 |
|
ToxicFrog
| drizzd: eh, I have no problem using it with no more integration other than nedit's shell menu | 19:23 |
|
| (it being git in general, not msysgit in specific) | 19:23 |
| ← redondos left | 19:23 |
|
tflsh
| hmm ok, git init; git fetch git://git.kernel.org/pub/scm/git/git.git ? | 19:23 |
|
Ilari
| tflsh: OTOH, just 1.5.5.3 would probably be around 99% of the size of full clone... | 19:24 |
| → redondos joined | 19:25 |
|
tflsh
| ok, well so i understand, what would the fetch step be? | 19:25 |
|
Ilari
| tflsh: 'git fetch <URL> v1.5.5.3:v1.5.5.3' (or something)... | 19:26 |
|
tflsh
| ah | 19:26 |
|
jettero
| there's also git remote add -t something -m something name url | 19:26 |
|
| you can make it work just like a clone, but only for specific tags ... | 19:26 |
|
tflsh
| fatal: Couldn't find remote ref v1.5.5.3 | 19:27 |
|
| hm | 19:27 |
|
| that's from the git fetch | 19:27 |
| ← mithro left | 19:29 |
| → strangy joined | 19:30 |
| → EiNZTEiN joined | 19:32 |
| → ruphy joined | 19:32 |
|
jettero
| git when you git config alias.test !ls ... what shell does it use? | 19:32 |
| → lcapitulino joined | 19:33 |
|
Ilari
| tflsh: Try 'git fetch <URL> refs/tags/v1.5.5.3:refs/tags/v1.5.5.3' | 19:33 |
|
ToxicFrog
| jettero: I don't know offhand, but I'd guess either $SHELL or the shell used by system() | 19:33 |
| ← d0k left | 19:34 |
| → ceez joined | 19:35 |
|
tflsh
| Ilari: thanks,, i think this is working now | 19:36 |
|
| Ilari: yep! thanks! | 19:39 |
| ← samgranieri left | 19:39 |
| ← gmcinnes left | 19:40 |
| → cedricv joined | 19:42 |
| → shaftyy joined | 19:42 |
| → nessundorma joined | 19:44 |
| ← d2dchat left | 19:46 |
| → jmalonzo joined | 19:47 |
|
tflsh
| is there a way to remove a commit that was already push'ed to a remote rpository? | 19:50 |
|
Mikachu
| 3219 pts/30 S+ 0:00 | | \_ git fla | 19:51 |
|
| 3220 pts/30 S+ 0:00 | | \_ sh -c cat;sleep 60 | 19:51 |
|
| when i made the alias just cat, cat was a direct child of git | 19:51 |
|
thiago_home
| tflsh: yes, but you shouldn't do it. | 19:51 |
|
| tflsh: has anyone got that commit already? | 19:51 |
|
tflsh
| thiago_home: i dont really need to as this is just a test repo i'm playing with, but i'm interested | 19:51 |
|
| thiago_home: nope, it's just me | 19:51 |
|
thiago_home
| remove the commit locally, then do a forceful push | 19:52 |
|
| git push -f <remotename> | 19:52 |
|
tflsh
| ahh | 19:52 |
|
| thanks! | 19:52 |
| → shaftyy_ joined | 19:53 |
| → zachinglis joined | 19:54 |
|
tflsh
| yeah, im sure that would be messy if people had already pulled that commit | 19:55 |
|
thiago_home
| you can also set up git to always force | 19:55 |
|
| it's useful if you're pushing to your backup :-) | 19:55 |
|
Mikachu
| i wouldn't want force push by default on my backup :) | 19:56 |
|
Ilari
| Well, if it has reflogs forced... :-) | 19:57 |
| → jmalonzo_ joined | 19:58 |
| ← janm left | 19:59 |
| ← zachinglis left | 20:00 |
| ← holizz left | 20:02 |
|
pasky
| are there any perl-based gitk-ish history browsers? | 20:09 |
|
jettero
| gitweb.cgi? | 20:10 |
|
| oh, not really gitkish | 20:10 |
|
pasky
| that's not quite what I meant :) | 20:10 |
|
| there's git-browser but it's more js-based than perl-based :) | 20:10 |
|
| pasky is writing a specialized porcelain in perl and would like to embed some history browser there | 20:10 |
| ← jmalonzo left | 20:11 |
| ← shaftyy left | 20:12 |
| ← aroben left | 20:13 |
|
jettero
| what is a porcelain? | 20:13 |
|
capisce
| a song by red hot chili peppers | 20:13 |
| ← koke left | 20:13 |
| → aroben joined | 20:14 |
|
Ilari
| jettero: Refers to UI-grade interface to Git. | 20:15 |
|
| jettero: As opposed to non-UI-grade stuff like rev-list, write-tree, update-index, commit-tree, update-ref, fetch-pack, etc... | 20:16 |
| ← drizzd left | 20:17 |
| ← loops left | 20:19 |
| ← aroben left | 20:20 |
| → aroben joined | 20:20 |
| ← dirk1296 left | 20:21 |
| ← warlock_mza left | 20:24 |
| → Ademan joined | 20:24 |
| → sgrimm joined | 20:25 |
| ← mattf left | 20:29 |
| → zachinglis joined | 20:30 |
| ← kumbayo left | 20:31 |
|
GyrosGeier
| hmm | 20:32 |
|
| does git-imap-send support SSL these days? | 20:32 |
| → MrJag joined | 20:33 |
| ← zachinglis left | 20:35 |
| ← afton left | 20:38 |
| → david_koontz joined | 20:38 |
|
Mikachu
| that's a weird date | 20:38 |
|
ToxicFrog
| ? | 20:38 |
|
Mikachu
| afton [n=chatzill@24.86.64.198] has quit ["ChatZilla 0.9.82.1 [Firefox 3.0b5/2008050509]"] | 20:38 |
|
ToxicFrog
| so it is. | 20:39 |
|
Ilari
| Maybe that last '09' is hour? | 20:39 |
| → zachinglis joined | 20:40 |
| → discomury joined | 20:43 |
|
jast
| very likely | 20:43 |
| ← MrJag left | 20:47 |
| → agib joined | 20:48 |
| → _zack joined | 20:49 |
| → madewokherd joined | 20:50 |
| → gmcinnes joined | 20:51 |
| → datafirm joined | 20:52 |
|
datafirm
| Hello! | 20:52 |
|
jast
| hi | 20:52 |
|
datafirm
| I had a folder in .gitignore which I've removed. Git still want let me add that folder, so I have to use -f. Is there a way to refresh what this local repo sees in my modified .gitignore? | 20:53 |
|
jast
| .gitignore is always used as-is | 20:53 |
|
datafirm
| hmm | 20:54 |
|
jast
| perhaps you've got another pattern that matches the same dir | 20:55 |
|
datafirm
| **/.DS_Store | 20:55 |
|
| that the only wild glob in there. | 20:55 |
|
| if one added data/projects/* to git ignore, would it all addition of data and projects, but not the files within projects? | 20:56 |
|
| that is my goal. | 20:56 |
|
jast
| i don't think '**' is a valid glob pattern | 20:56 |
| ← aroben left | 20:56 |
|
datafirm
| jast: to recursively go into each dir for a file of that name ? | 20:57 |
|
jast
| that's a bashism, i believe | 20:57 |
|
ToxicFrog
| datafirm: I'm not sure what you mean by "projects, but not the files within projects" | 20:57 |
|
| git doesn't track empty directories. | 20:57 |
|
datafirm
| I have folders with lots of app specific data that should not be stroed in the repo, but the folder structure should. | 20:58 |
|
| I guess I'll leave it up to the app to create the folders if they dont exist then. | 20:58 |
|
jast
| well, put a .keep file in each of those dirs and add an ignore exception for it: !.keep | 20:58 |
| ← nessundorma left | 20:59 |
| → ggeecko joined | 21:01 |
|
datafirm
| jast: never heard of .keep.. i'll have to take a look in the docs. | 21:01 |
|
jast
| it's got no special meaning | 21:02 |
| → GilbertErik joined | 21:02 |
|
datafirm
| jast: ahh just to allow it to grab them | 21:02 |
|
| in the repo | 21:02 |
| ← zachinglis left | 21:02 |
|
ToxicFrog
| Yeah | 21:02 |
|
| so that it has a file in the dir, and thus versions it | 21:02 |
|
jast
| but you need at least one file inside a directory so git can track the directory, and .keep is a classic convention to indicate that an empty directory is actually needed for something | 21:02 |
|
datafirm
| ToxicFrog: good idea.. and that exclusion has to go in the directories .gitignore.. not the root? | 21:02 |
|
| jast: great! thanks | 21:03 |
|
jast
| you can put the exclusion in the root .gitignore file | 21:03 |
|
| patterns that contain no slashes are applied in all directories | 21:03 |
|
datafirm
| jast: Good to know, thanks | 21:03 |
|
| jast: is the order important? | 21:06 |
| → wagle_home joined | 21:06 |
|
jast
| i don't know how that works with exclusions | 21:06 |
|
| it may be | 21:06 |
| ← lcapitulino left | 21:06 |
| ← wagle_home left | 21:06 |
| → wagle_home joined | 21:07 |
|
ftehw
| Is there a simple method (maybe through branching) which will allow me to save uncomitted work temporarily while I work in another branch (e.g. need to fix a bug). I guess, something like a reset --hard, but which is later recoverable. | 21:07 |
| ← ksvladimir left | 21:07 |
| ← wagle_ left | 21:08 |
|
ToxicFrog
| ftehw: man git-stash | 21:08 |
|
| It exists exactly for this purpose, and is tasty. | 21:09 |
| ← schapht left | 21:09 |
| → wagle joined | 21:09 |
|
ftehw
| ToxicFrog: perfect! thanks. | 21:09 |
|
jast
| with just a hint of pepper | 21:09 |
| ← shaftyy_ left | 21:09 |
|
Eridius|work
| it saves working tree *and* index | 21:09 |
| → shaftyy joined | 21:09 |
|
jast
| *and* the world | 21:10 |
|
ftehw
| i was gonna say, the index constitues stuff i've added but not yet committed right? So if it was just the tree and index then it'd miss some thing i wanted it to grab. | 21:10 |
|
jast
| so, you know, alias stash='mplayer eurythmics-i-saved-the-world-today.ogg </dev/null &; git stash' | 21:10 |
|
| ftehw l0lz | 21:11 |
| ← shaftyy left | 21:11 |
|
jast
| what's there to grab apart from the tree and the index? | 21:12 |
|
| well, untracked files, but those are normally left alone when switching branches anyway | 21:12 |
|
ftehw
| so the stash interface is like a stack? stash; stash; stash; stash apply; stash apply; stash apply; works as you'd expect? | 21:12 |
|
jast
| no, apply always applies the topmost stash (but doesn't pop it) | 21:12 |
|
RandalSchwartz
| the stash is a guy thing, for people who fear commitment. :) | 21:12 |
|
| if you want to do somethign complex, use real commits. | 21:13 |
|
Eridius|work
| ftehw: replace "apply" with "pop" | 21:13 |
|
ftehw
| jast: echo "foo" > foo; git add foo; git commit; echo "bar" >> foo --- the mod "bar" isn't in the index, is it? | 21:13 |
|
Eridius|work
| hey RandalSchwartz, what's it take to get a trivial documentation patch accepted? | 21:13 |
|
ToxicFrog
| RandalSchwartz: if you want nonworking commits lying all over the place, perhaps | 21:13 |
|
RandalSchwartz
| I've never made a trivial doc patch. :) | 21:13 |
|
jast
| yes, but it's in the tree, and that is stashed too | 21:13 |
|
RandalSchwartz
| who cares about nonworking commits? | 21:14 |
|
ToxicFrog
| ftehw: it's not in the index, but it's in the working copy, and stash will grab both | 21:14 |
|
RandalSchwartz
| commit means "made some edits, might want to come back to that" | 21:14 |
| → rubbish joined | 21:14 |
|
RandalSchwartz
| it doesn't mean "... and this works" | 21:14 |
|
jast
| Eridius|work, sneak it into a patch that introduces the pack v3 format ;) | 21:14 |
|
ftehw
| ToxicFrog: w00t. | 21:14 |
|
Eridius|work
| RandalSchwartz: I've sent http://marc.info/?l=git&m=120992103604463&w=2 twice, and had zero response. It's very annoying | 21:14 |
|
| Eridius|work smacks jast | 21:14 |
|
RandalSchwartz
| send it to junio | 21:14 |
|
| in the form of a patch :) | 21:14 |
|
Eridius|work
| I CC'd him in both | 21:14 |
|
| and it *is* a patch | 21:15 |
|
jast
| without doubt | 21:15 |
|
Mikachu
| i wonder if filter-branch might consider children "ancestors" since it starts at branch tips and goes backwards? but maybe not | 21:16 |
|
| i get a headache thinking about it :) | 21:16 |
|
jast
| no, it doesn't go backwards | 21:16 |
| advany → zzzz | 21:16 |
|
Mikachu
| well, everything in git starts from children since only parent info is stored | 21:16 |
|
jast
| it couldn't, could it? modifying one commit means modifying all of its children | 21:16 |
|
Eridius|work
| now that I think about it, "children" might be better than "descendants", but both are better than "ancestors" | 21:16 |
|
jast
| therefore you need to start with the oldest commit in the branch | 21:17 |
|
Mikachu
| hm, that's true also | 21:17 |
|
Eridius|work
| it may follow tips back, but it starts rewriting at the parents | 21:17 |
|
ToxicFrog
| Eridius|work: I don't know, "children" and "ancestors" make it clear which way time is flowing | 21:17 |
|
Mikachu
| even if ancestors is correct, "children" is much less confusing | 21:17 |
| ← zzzz left | 21:17 |
|
Eridius|work
| except ancestors is not correct | 21:17 |
|
| if it behaved as documented, it would create a cycle | 21:17 |
|
jast
| it starts at the tip and works backwards to find the first commit, that's true | 21:17 |
|
ToxicFrog
| Er, descendants and ancestors | 21:17 |
|
jast
| but the actual filtering process works forwards in time | 21:17 |
|
ToxicFrog
| children/parents is a symbol collision with the graph structure itself | 21:18 |
|
Mikachu
| the whole sentence is very confusing | 21:18 |
| → Crema10 joined | 21:18 |
|
Eridius|work
| ToxicFrog: not really | 21:18 |
|
ToxicFrog
| At least for me | 21:18 |
|
Mikachu
| regardless of the number of ids you output, the original commits will not change at all | 21:18 |
|
| only the newly written commits will be affected | 21:18 |
|
jast
| graph structure is what we're talking about here, anyway | 21:18 |
|
ForsakenSoul
| how can I make a branch of master? | 21:18 |
|
jast
| of course the original commits won't change. the branch will no longer point to them though. | 21:18 |
| ← nud left | 21:18 |
|
RandalSchwartz
| git checkout -b newbranch master | 21:18 |
| ← Crema10 left | 21:19 |
|
Mikachu
| doesn't it mean "the rewritten commit will have all of them as parents"? | 21:20 |
|
| i don't see why changing the parents of a commit would change what parents its children has | 21:20 |
|
Eridius|work
| I suppose you're right | 21:21 |
| → deavid joined | 21:21 |
|
jast
| i just read the sentence in its context and i have to agree with that | 21:21 |
|
ftehw
| confirmed: git stash rocks my mom --hard. | 21:21 |
|
Mikachu
| i really don't understand what it does very well | 21:22 |
|
Eridius|work
| it saves the index into a new commit, and the working tree into another commit that has the index as parent. It points the stash ref at the working tree commit | 21:22 |
|
| and any previous stashes get stored in the stash ref's reflog | 21:22 |
|
Mikachu
| sorry, i meant the git-filter-branch commit filter when you output more commit ids | 21:23 |
|
Eridius|work
| oh | 21:23 |
|
| it lets you create merges, basically | 21:23 |
|
| huh, git-svn seems intent on re-creating my 'master' branch | 21:24 |
|
Mikachu
| oh.. so it does affect the children of the original commit then :) | 21:24 |
|
jast
| no, it affects the rewritten commit | 21:24 |
|
| the children are affected in the usual indirect way | 21:25 |
|
Mikachu
| but it takes one commit as input and outputs several commits | 21:25 |
| metze → metze_away | 21:25 |
|
Eridius|work
| no | 21:25 |
|
| the commit filter is basically just "call this tool instead of git-commit-tree" | 21:25 |
|
Mikachu
| but the sentence says specifically "may emit multiple commit ids" | 21:25 |
|
Eridius|work
| oh wait, I'm still reading it wrong | 21:26 |
| ← ironfroggy left | 21:26 |
|
Eridius|work
| yes, the tool may emit multiple ids. gimme a sec to make sure i have this straight ;) | 21:26 |
|
jast
| i don't really see the purpose of that extension | 21:26 |
|
| i just re-read it too | 21:26 |
|
Eridius|work
| I think it means the "rewritten children of the original commit will have all of them as parents" | 21:26 |
|
ForsakenSoul
| what was the command of merging two branches | 21:27 |
|
Mikachu
| "merge" | 21:27 |
|
ForsakenSoul
| one more thing ... the branch and the master should be in different dirs right ? | 21:27 |
|
jast
| how does that make sense, though? you don't even know which children you are monkey-patching into merge commits there. | 21:28 |
| ← chris2 left | 21:28 |
|
ForsakenSoul
| :D ... two very stupid questions | 21:28 |
|
Eridius|work
| ForsakenSoul: no | 21:28 |
| ← datafirm left | 21:28 |
|
jast
| ForsakenSoul, what do you mean by different dirs? git can handle any number of branches in one repo and you can switch back and forth rapidly using git checkout. | 21:28 |
|
ftehw
| yes! /cut ! | 21:28 |
|
Eridius|work
| jast: well no, the tool won't know that, but presumably you as the invoker of git-filter-branch will know that | 21:28 |
|
jast
| but do i? i only have the contents of the current commit | 21:28 |
|
Eridius|work
| ya know what, someone needs to check the source for --commit-filter | 21:28 |
|
jast
| i don't exactly know what children i'll get | 21:29 |
|
| yeah | 21:29 |
|
| i was hoping to avoid that :) | 21:29 |
|
Eridius|work
| again, the tool won't know, but YOU the USER will know | 21:29 |
| ← Eludias left | 21:29 |
| ← felipec left | 21:29 |
|
Mikachu
| Eridius|work: it's a shell script, so it's impossible to see what it does :) | 21:29 |
|
Eridius|work
| haha | 21:29 |
|
| Eridius|work takes a gander | 21:29 |
|
ToxicFrog
| ForsakenSoul: typically, one of the branches is checked out and you know the name of the other | 21:30 |
|
jettero
| if I mkdir -p /something/ and GIT_DIR=/something/ git init, what else do I have to do to it to be able to push files to it | 21:30 |
|
ToxicFrog
| ForsakenSoul: So if, say, you want to merge "master" into "feature": | 21:31 |
|
| git checkout feature | 21:31 |
|
| git merge master | 21:31 |
|
| and you're done. | 21:31 |
|
| jettero: in the other repo you want to push from, "git remote add <name> <path to /something>" | 21:32 |
|
ForsakenSoul
| ok so how do I delete a branch | 21:32 |
|
jast
| ForsakenSoul, check out the manpage for git-branch. it's useful. :) | 21:32 |
|
ToxicFrog
| ForsakenSoul: locally: git branch -d name, and more generally, man git-branch | 21:32 |
|
jast
| git-branch always operates locally | 21:33 |
|
ToxicFrog
| Remotely: git push <remote> :<branch> | 21:33 |
|
| jast: yes, I mean, "if you want to delete a local branch" | 21:33 |
|
| As opposed to "if you want to delete a branch in some other repo you can push to" | 21:33 |
|
jettero
| ToxicFrog: yeah, I did that ... but when I try to push it says No refs in common and none specified; doing nothing. | 21:33 |
|
jast
| right | 21:33 |
| ← juanjoc left | 21:34 |
|
Mikachu
| jettero: so then you didn't get the idea to specify some refs? | 21:34 |
|
jast
| jettero, when you push for the first time you need to specify which branches to push (try 'master' or, if you like, '--all') | 21:34 |
|
ToxicFrog
| jettero: try "git push <name of remote> <name of branch>", eg, "git push origin master" | 21:34 |
|
ForsakenSoul
| ToxicFrog .. jast ... wow guys ... you're taking this way too much passionate :D | 21:34 |
|
Eridius|work
| Mikachu: ok, it's what I thought. If you emit 2 commit ids, any children get both commit ids | 21:34 |
|
Mikachu
| Eridius|work: as parents? | 21:34 |
|
Eridius|work
| basically, any time you map the original commit, you get both emitted ids back | 21:34 |
|
| yes | 21:34 |
|
Mikachu
| ah | 21:34 |
|
jettero
| ToxicFrog: oic, thanks | 21:34 |
|
jast
| that's... yucky. | 21:34 |
|
Eridius|work
| this seems like esoteric functionality, but presumably someone wanted it | 21:34 |
|
jast
| perhaps your doc patch should note that it's probably not what the user wants :) | 21:35 |
|
Mikachu
| couldn't you do it with --parent-filter? | 21:35 |
| → datafirm joined | 21:35 |
|
Eridius|work
| Mikachu: but what if you're already doing other stuff with the commit filter? parent-filter won't know about that stuff | 21:35 |
|
ForsakenSoul
| but thank you guys | 21:35 |
|
Mikachu
| or hm, how much fun things can you do turning one commits into two and then the next one is a merge commit again? i don't really see the point :) | 21:36 |
|
jast
| you can always change the list of parents of the *current* commit within the commit filter | 21:36 |
|
datafirm
| have any of you seen any post-commit hooks that will send an HTML diff as email? I had something similar for SVN which I liked! | 21:36 |
|
Mikachu
| datafirm: if you have one for svn and one that generates plain diffs for git, presumably you should be able to combine them :) | 21:36 |
|
Eridius|work
| jast: sure, because you're creating the actual commit object, you can do whatever the hell you want | 21:37 |
|
datafirm
| Mikachu: Yeah, perhaps.. its all in perl and i've not wrote perl in 8+ years.. :-D | 21:37 |
|
| With that said, is there a way to place files in the post commit for all new repos? Maybe a sym link? | 21:37 |
|
Mikachu
| datafirm: locally, /somewhere/git/templates/hooks/* | 21:38 |
|
| git could be git-core too | 21:38 |
|
jast
| where /somewhere possibly means /usr/share | 21:38 |
|
Mikachu
| i think it depends on distro, /usr/share/git-core is a good first guess | 21:38 |
|
datafirm
| jast: in other words.. there is a place for these template git will look for :-D | 21:38 |
|
jast
| correct | 21:38 |
|
ToxicFrog
| locate '*git*/templates/' should find it | 21:39 |
|
jast
| you can even configure where git will look for the templates, i think | 21:39 |
|
| hmm, apparently not via git config | 21:39 |
|
datafirm
| FreeBSD /usr/local/share/git-core/templates | 21:39 |
| ← gmcinnes left | 21:40 |
| ← LotR left | 21:43 |
| → pdherbemont joined | 21:43 |
| ← pdherbemont_ left | 21:44 |
|
Eridius|work
| ok, patch sent | 21:45 |
| → drizzd joined | 21:46 |
| → hipertracker_ joined | 21:46 |
| → gmcinnes joined | 21:47 |
| ← _zack left | 21:49 |
| → d2dchat_ joined | 21:53 |
| → mvanholstyn joined | 21:53 |
| → _zack joined | 21:53 |
| → FunkeeMonk joined | 21:54 |
| ← vbabiy-laptop left | 21:54 |
| → pdherbemont_ joined | 21:54 |
| ← d2dchat_ left | 21:55 |
| → d2dchat joined | 21:57 |
| → juanjoc joined | 21:59 |
| → gitte joined | 22:00 |
| ← threeve left | 22:00 |
| ← juanjoc left | 22:00 |
| ← hipertracker left | 22:01 |
| ← pdherbemont left | 22:02 |
| ← mvanholstyn left | 22:07 |
| → spearce joined | 22:09 |
| ← jmalonzo_ left | 22:10 |
| ← david_koontz left | 22:12 |
| ← ph^ left | 22:12 |
| ← cedricv left | 22:12 |
| ← EmilMedve left | 22:13 |
| → david_koontz joined | 22:13 |
| ← ceez left | 22:15 |
| ← jlh left | 22:18 |
| → jlh_ joined | 22:18 |
| jlh_ → jlh | 22:18 |
| ← charon left | 22:19 |
| → cedricv joined | 22:20 |
| → charon joined | 22:21 |
| ← cedricv left | 22:21 |
| → d2dchat_ joined | 22:22 |
| jlh → jlh_ | 22:23 |
| jlh_ → jlh | 22:23 |
| ← d2dchat left | 22:23 |
| → jamessharpe joined | 22:28 |
| → redondos_ joined | 22:29 |
| → d2dchat__ joined | 22:29 |
| → Michelangelo joined | 22:30 |
| ← d2dchat__ left | 22:31 |
| → d2dchat__ joined | 22:31 |
| ← cmarcelo left | 22:32 |
| ← _zack left | 22:33 |
| → koke joined | 22:36 |
| ← redondos left | 22:41 |
| redondos_ → redondos | 22:41 |
| ← VitaRara left | 22:41 |
| ← d2dchat__ left | 22:43 |
| → capisce_ joined | 22:45 |
| ← FunkeeMonk left | 22:47 |
| ← ekidd left | 22:47 |
| ← d2dchat_ left | 22:48 |
| ← jbunster left | 22:48 |
| → radarek joined | 22:49 |
| hipertracker_ → hipertracker | 22:51 |
| ← EiNZTEiN left | 22:52 |
| ← DrNick left | 22:52 |
| → DrNick joined | 22:52 |
| → manveru joined | 22:54 |
| ← GilbertErik left | 22:54 |
| ← josb left | 22:54 |
| ← capisce left | 22:54 |
| ← david_koontz left | 22:56 |
| ← cannonball left | 23:01 |
| ← Ryback_ left | 23:04 |
| ← lea_w left | 23:04 |
|
agib
| Can anyone help me out? I was working on a branch "new_design" in my rails project and I decided it was time to use submodules for my rspec plugins... I switched to my master branch and deleted my rspec and rspec_on_rails directories... then I did a git submodule add and checked in the new additions... however now when I try to switch back to my new_design branch I get: "fatal: Untracked... | 23:05 |
|
| ...working tree file 'vendor/plugins/rspec/CHANGES' would be overwritten by merge." what's that about? | 23:05 |
| ← koke left | 23:07 |
| ← radarek left | 23:07 |
| ← rubbish left | 23:09 |
| ← gitte left | 23:09 |
| → koke joined | 23:09 |
| ← strangy left | 23:09 |
| → SuttoL joined | 23:10 |
| → flaguy joined | 23:10 |
| ← gmcinnes left | 23:14 |
| ← thiago_home left | 23:14 |
| → pombreda joined | 23:15 |
| ← Michelangelo left | 23:16 |
|
agib
| anyone? | 23:16 |
| → strangy joined | 23:16 |
| ← koke left | 23:16 |
|
vmiklos
| that means a merge would create such a file but you already has an untracked file with the same name in your working directory | 23:16 |
| → joevandyk joined | 23:17 |
| → capisce joined | 23:18 |
|
agib
| vmiklos: hmm I don't know how that file got there... | 23:18 |
|
| weird | 23:18 |
|
| an untracked file... I just did a git submodule add git://github.com/dchelimsky/rspec-rails.git vendor/plugins/rspec_on_rails etc | 23:18 |
| ← ckoehler left | 23:20 |
| → lea_w joined | 23:25 |
| → ekidd joined | 23:25 |
| ← deavid left | 23:27 |
| ← _graham_ left | 23:29 |
| ← capisce_ left | 23:31 |
| ← jpeeler left | 23:33 |
| → capisce_ joined | 23:33 |
| → mattf joined | 23:37 |
| ← wagle_home left | 23:43 |
| ← lea_w left | 23:45 |
| ← wurble left | 23:46 |
| → tongueroo joined | 23:47 |
|
tongueroo
| how do you reset changes that are not in the index but keep the changes that are... | 23:47 |
| ← brosner left | 23:48 |
| ← capisce left | 23:48 |
|
Mikachu
| tongueroo: you want to make the working tree match the index, in other words? | 23:49 |
|
tongueroo
| yup | 23:49 |
|
| :) | 23:49 |
|
Mikachu
| git checkout -- . | 23:49 |
|
tongueroo
| nice :) | 23:49 |
|
Mikachu
| not so easy to guess maybe :) | 23:49 |
|
tongueroo
| just what ive been looking for, faster than what ive been doing, git ci -m 'tmp to save index' && git co -f | 23:49 |
|
| git reset HEAD^ | 23:50 |
|
| one step | 23:50 |
| ← charon left | 23:51 |
| → igorgue joined | 23:53 |
| → gmcinnes joined | 23:54 |
| ← gmcinnes left | 23:54 |
| → gmcinnes joined | 23:55 |
| ← ekidd left | 23:58 |
| → ben_h joined | 23:58 |
| ← p4tux left | 23:58 |