| 2010-01-06 |
|
cbreak
| and all have their own issues | 00:00 |
|
_Vi
| Arafangion, Basic things can be done with plain "git gui" and "gitk". | 00:00 |
|
cbreak
| if you want a gui, it's highly likely that it'll be for one platform only | 00:00 |
|
| either that, or it won't fit to any platform | 00:00 |
|
Arafangion
| _Vi: Last time I tried, git-gui wouldn't work properly. (But then, I was using binary files and crap that git wasn't designed for) | 00:01 |
|
_Vi
| Arafangion, (And "gitk" "git gui" looks almost the same on Linux, OS X and Win32 (both cygwin and msysgit)). | 00:01 |
|
Arafangion
| gitk is a nice history viewer, true, but that's really all it is. | 00:01 |
|
cbreak
| it looks like crap on OS X. git gui :) | 00:01 |
|
_Vi
| Arafangion, In "git gui" you may stage changes linewise easily. | 00:02 |
|
Fazer2
| I checked http://gitorious.org/about/faq and added [branch "master"] etc. group to my .git/config file | 00:02 |
|
| but it didn't worked | 00:02 |
|
_Vi
| cbreak, Why "like a crap". It even renders UTF-8 (after configuration). | 00:02 |
|
Fazer2
| *didn't work | 00:02 |
| ← ideogon left | 00:02 |
|
cbreak
| yeah. but... it's german | 00:02 |
|
_Vi
| cbreak, And I can see all controls and all text./ | 00:02 |
|
Arafangion
| _Vi: Some of my files were microsoft word documetns. | 00:03 |
|
cbreak
| gitx looks better. | 00:03 |
|
Arafangion
| gitx looks very nice. | 00:03 |
|
_Vi
| cbreak, Does it have some useful additional features for ones that are happy with CLI and "git gui" or only look&feel? | 00:04 |
|
Arafangion
| Although it doesn't look like it's something that's intrinsically non-portable. | 00:04 |
|
cbreak
| _Vi: I don't know. I rarely use it. What it does is show the history or allow commiting | 00:04 |
|
| maybe more | 00:04 |
|
| Arafangion: it's not portable because Cocoa is Mac OS X only | 00:05 |
|
_Vi
| cbreak, Even "egit" for Eclipse shoes the history and allows committing. | 00:05 |
|
| s/shoes/shows/ | 00:05 |
|
cbreak
| yes. even the git command line app does that :) | 00:06 |
|
| but the presentation and UI is different | 00:06 |
|
| I don't think there's anything you can do with git that you can't do with git on the CLI | 00:06 |
|
Arafangion
| cbreak: Could still be ported, although true, to a different gui library. | 00:07 |
|
_Vi
| cbreak, (Obvious fix: "I don't think there's anything you can do that you can't do on the CLI") | 00:07 |
| ← dgarr left | 00:07 |
| ← mattions left | 00:08 |
|
gmarquezWRS
| NewbAsks: does anyone know what updates my projects.list file (gitweb or gitolite)? | 00:08 |
|
cbreak
| Arafangion: cocoa is not only GUI. You'd have to rewrite the whole app in something other than Objective-C. Might as well do separate projects | 00:08 |
|
_Vi
| Arafangion, In Wikipedia or somewhere there's table of different UIs for Git. | 00:08 |
|
Arafangion
| cbreak: There are objective-c compilers for many systems. | 00:09 |
|
| (Or rather, one major compiler, which has been ported) | 00:09 |
|
cbreak
| I don't think that'll work | 00:09 |
|
| Objective-C is not much without it's framework | 00:09 |
|
| And I am not sure how well supported some runtime extensions from apple are | 00:10 |
| ← warthog9 left | 00:10 |
|
Arafangion
| You might indeed have some difficulty with Objective C 2.0 things, with garbage collection and all that. | 00:11 |
| ← numberGrey left | 00:11 |
| → anjen1 joined | 00:11 |
|
Arafangion
| Anyway, it's non-trivial, that's the main point that I should accept. | 00:12 |
|
killerchicken
| sitaram: hey, next gitolite question, this time less stupied, I hope: We currently have repositories for different sub-projects and different developers grouped together in a directory structure like this: repositories -> project -> devname|projectname | 00:12 |
| ← xlistener left | 00:12 |
|
killerchicken
| sitaram: can I use gitolite to allow access to such subdirectories? | 00:12 |
| → numberGrey joined | 00:13 |
| ← r11t left | 00:13 |
| → patmaddox joined | 00:13 |
| ← Weasel[DK] left | 00:13 |
|
killerchicken
| sitaram: for example, can I say "repo project1/dev1" to give permissions to the repository dev1 in the subdirectory project1? | 00:13 |
| → |Inthewings| joined | 00:14 |
| ← catalis left | 00:14 |
|
Fazer2
| so can you suggest how can I solve my problem with push? | 00:14 |
|
_Vi
| Fazer2, What URL? | 00:15 |
| ← sgh left | 00:16 |
|
Fazer2
| _Vi: [email@hidden.address] | 00:16 |
|
floppyears
| hi guys | 00:16 |
| → dgarr joined | 00:16 |
|
floppyears
| is there a good command line tool that I can use to help me during merges and conflict resolution? | 00:16 |
|
_Vi
| Fazer2, "$ ssh -v [email@hidden.address] -> "......", "Permission denied (publickey).". What for you? | 00:16 |
|
cbreak
| vim is good | 00:17 |
|
_Vi
| floppyears, "git status", "git add"? | 00:17 |
| → chalkbag joined | 00:17 |
|
_Vi
| floppyears, You also may use your primary editor (for text files). | 00:17 |
| → jmcantrell joined | 00:17 |
| → jerbear joined | 00:17 |
|
floppyears
| _Vi: no, I mean something kinda of merge or diff tool | 00:18 |
|
Fazer2
| _Vi: it doesn't say anything :-/ | 00:18 |
|
cbreak
| git diff does show diffs | 00:18 |
|
| git merge does merges | 00:18 |
| ← rektide left | 00:18 |
| → Tricon joined | 00:18 |
| → rektide joined | 00:18 |
|
_Vi
| Fazer2, Does it hang or exit? | 00:18 |
|
cbreak
| when there are conflicts, you have to resolve them yourself | 00:18 |
|
_Vi
| floppyears, If conflict, it changes the file, instering "<<<<<<<", "=====", ">>>>>>>>" so you can find them and fix. | 00:19 |
|
Fazer2
| _Vi: it doesn't say anything for a couple of seconds and then shows me command prompt | 00:19 |
| ← jerbear left | 00:19 |
|
_Vi
| floppyears, After fixing just "git add". | 00:19 |
| ← jmcantrell left | 00:19 |
|
_Vi
| Fazer2, Even with "-v" options? | 00:19 |
|
floppyears
| I know, but I know you can use gui tools to assist you and show you the diffs. You can then walk through the file and make the modifications or chose whichever version you want | 00:19 |
|
Fazer2
| _Vi: yeah, even with -v | 00:20 |
| → catalis joined | 00:20 |
|
floppyears
| for example, I think you can use kdiff as a diff program to assis you during three way merge | 00:20 |
|
_Vi
| Fazer2, 1. Try "ssh -v -v -v [email@hidden.address] 2. Try "ssh -v -v -v [email@hidden.address] | 00:20 |
| elliottcable → ASHEEP | 00:20 |
| ASHEEP → NOTREALLY | 00:20 |
|
_Vi
| Fazer2, E.g. test if your SSH client OK at all. | 00:21 |
| NOTREALLY → elliottcable | 00:21 |
|
Fazer2
| _Vi: the first connection says nothing; how can I test my SSH client? | 00:21 |
| ← ph^_ left | 00:21 |
|
_Vi
| Fazer2, (Also you may try "ssh -v -v [email@hidden.address] -p 2222". It should succeed after asking the password) | 00:22 |
|
Fazer2
| _Vi: that last one doesn't work either | 00:23 |
|
_Vi
| Fazer2, Are there any firewalls or AVs or other things may intercept? Has you tried reinstalling msysgit? (The Faith of Windows users). | 00:23 |
|
Fazer2
| _Vi: hehe | 00:24 |
|
_Vi
| Fazer2, Has you tried just reboot Windows? | 00:24 |
|
Fazer2
| _Vi: I don't have AV | 00:24 |
|
_Vi
| s/Faith/Fate/ | 00:24 |
|
Fazer2
| _Vi: but I have a firewall | 00:24 |
|
_Vi
| Fazer2, Looks if it block something. | 00:24 |
| → mnyon joined | 00:25 |
| → xlistener joined | 00:26 |
|
_Vi
| Fazer2, What network utilities do you have? Do you have Putty? Do you have Netcat? | 00:26 |
|
Arafangion
| cbreak: Interestingly, gitx is in objective-c++. | 00:26 |
|
cbreak
| even worse | 00:26 |
|
floppyears
| what do you guys use with git-mergetool | 00:27 |
|
Arafangion
| Indeed, unless it is mostly C++ with a thin objective-c binding to the carbon, but that doesn't seem to be the case. | 00:27 |
|
Fazer2
| _Vi: I disabled windows firewall, but I guess there's still a router firewall | 00:27 |
|
_Vi
| Fazer2, Is your laptop also on Windows with the same msysgit? | 00:27 |
|
Fazer2
| _Vi: I don't have Putty nor Netcat | 00:27 |
| ← JakeSays left | 00:27 |
|
_Vi
| Fazer2, Does you laptop also uses the same firewall and the same router? | 00:28 |
|
| Fazer2, Try all that "ssh -v ..." on laptop. | 00:28 |
| → pklingem2 joined | 00:28 |
|
Fazer2
| Fazer2: I think it has the same Msysgit, but I worked on my laptop in the different town and I don't have it with me now | 00:28 |
| ← d2dchat left | 00:28 |
|
_Vi
| Fazer2, Download&install Putty. It is the Standard SSH Client for Windows. | 00:29 |
|
| Fazer2, (at least very popular) | 00:29 |
|
Fazer2
| _Vi: ok | 00:29 |
| → r11t joined | 00:29 |
| ← InTheWings left | 00:29 |
|
_Vi
| Fazer2, If Putty will work connecting to SSH, the network&firewall is not the cause. | 00:30 |
| → jumbers joined | 00:30 |
|
jumbers
| How can I roll back a single, uncommitted file? | 00:31 |
|
| I accidentally edited a file and now I can't pull down the upstream | 00:31 |
|
_Vi
| jumbers, What do you mean by "rollback" and "uncommited"? | 00:31 |
|
| jumbers, "git checkout -- path/to/file"? | 00:31 |
| → JakeSays joined | 00:32 |
| → timcharper joined | 00:32 |
| → Fantuz83 joined | 00:35 |
|
Fazer2
| _Vi: Putty seems to work | 00:36 |
|
| _Vi: for instance, I can connect to [email@hidden.address] and it asks me for password | 00:36 |
|
_Vi
| Fazer2, Tried updating/reinstalling msysgit? | 00:37 |
|
| Fazer2, (You also can migrate to Cygwin/Git). | 00:37 |
| ← Twisted_Mentat left | 00:37 |
| ← pantsman left | 00:37 |
| ← rettub left | 00:37 |
|
Fazer2
| _Vi: I'll try it now | 00:37 |
| → Twisted_Mentat joined | 00:38 |
| ← smuf left | 00:39 |
| → schacon joined | 00:40 |
| ← patmaddox left | 00:40 |
| → smuf joined | 00:40 |
| → rettub joined | 00:40 |
| ← hipe left | 00:40 |
| → loinclot_ joined | 00:41 |
| → robinr joined | 00:43 |
|
Fazer2
| _Vi: it worked :-D | 00:43 |
|
_Vi
| Fazer2, Updating or reinstalling? | 00:43 |
|
Fazer2
| _Vi: reinstalling | 00:43 |
|
_Vi
| Fazer2, Strange error. May be the ssh binary was damaged? | 00:44 |
|
Fazer2
| _Vi: it still doesn't give me info what exactly was wrong, but what can I expect from windows ;-) | 00:44 |
|
_Vi
| Fazer2, (no malware installed? >"I don't have AV') | 00:44 |
|
Fazer2
| _Vi: I'm a consious user | 00:45 |
|
| _Vi: I don't download pirated apps and so on | 00:45 |
|
| _Vi: but maybe I'll make a scan tomorrow, just to be sure | 00:46 |
|
_Vi
| Fazer2, (Closed RPC DCOM, NetBios and all unknown ports, not running as admin priveleges, not running IE?) | 00:46 |
|
Fazer2
| it's 1:45 AM here =_= | 00:46 |
| → JoeConyers joined | 00:46 |
| → Kelly_zhou joined | 00:47 |
|
Fazer2
| _Vi: heh, I don't know what RPC DCOM and NetBios are, as for the rest, I'm using mostly open source apps | 00:47 |
| ← project2501a left | 00:47 |
|
Fazer2
| _Vi: thanks for the help and good night :) | 00:48 |
| ← rektide left | 00:48 |
| → rektide joined | 00:48 |
| ← Fazer2 left | 00:49 |
| ← altrux left | 00:50 |
| → jelmer joined | 00:54 |
| ← jrmuizel left | 00:54 |
| ← nitrate_ left | 00:55 |
| → Geralt joined | 00:59 |
| ← nadavoid left | 00:59 |
| ← catalis left | 01:01 |
| ← r11t left | 01:01 |
| → sourcemaker_ joined | 01:01 |
| ← Tricon left | 01:01 |
| → keex joined | 01:02 |
|
keex
| anyone here using git-cola ? | 01:02 |
| ← Swimming_Bird left | 01:02 |
|
_Vi
| keex, I only have it's name in Wikipedia. | 01:02 |
|
keex
| hmm | 01:02 |
|
| too bad... :/ | 01:03 |
|
_Vi
| keex, What's the problem? | 01:03 |
| → Swimming_Bird joined | 01:03 |
| → rchavik joined | 01:03 |
| ← mnyon left | 01:03 |
|
keex
| the context menu of the diff view does not show "stage/unstage selected lines" | 01:03 |
|
| I have pulled to the newest version.. | 01:04 |
|
_Vi
| keex, "git gui" does. | 01:04 |
|
keex
| I had that functionality once.. | 01:04 |
|
_Vi
| keex, Previous version showed? | 01:04 |
|
keex
| oh yeah! | 01:04 |
| ← Swimming_Bird left | 01:05 |
|
keex
| _Vi, not the previous, but 239423 versions before... unfortunately i've never paid attention to the actual version | 01:05 |
|
_Vi
| keex, It they has broken it, downgrade to the older version and file a bug. | 01:05 |
| → maglos joined | 01:05 |
|
_Vi
| keex, "git bisect". | 01:05 |
|
keex
| hehe | 01:05 |
|
jujule2
| hi | 01:05 |
|
keex
| yes, a perfect application for bisect | 01:05 |
|
| jujule2, hi | 01:06 |
|
jujule2
| how to 're-checkout' a submodule ? it appears as modified in git status but id like to cancel my changes to be able to pull again :) | 01:06 |
|
_Vi
| jujule2, "git submodule update" fails to do this? | 01:07 |
|
jujule2
| error: pathspec '[...]' did not match any file(s) known to git. | 01:07 |
|
| cant get it | 01:08 |
|
_Vi
| jujule2, Strange error. What pathspec? | 01:08 |
|
jujule2
| what do you mean ? | 01:08 |
|
_Vi
| jujule2, You may try to checkout the submodule manually. | 01:08 |
|
| jujule2, " pathspec '[...]' did" "[...]"=? | 01:09 |
|
jujule2
| wow :) | 01:09 |
|
_Vi
| jujule2, The problem has been resolved? | 01:10 |
|
jujule2
| no. cant understand your cmd | 01:10 |
|
_Vi
| jujule2, 1. Run "git diff" to see the old commit id. 2. chdir to submodule directory, 3. "git checkout <that_commit_id>" | 01:11 |
|
_pointlessjon
| i think that was a question | 01:11 |
| ← RaceCondition left | 01:11 |
| → loincloth joined | 01:11 |
|
_Vi
| _pointlessjon, Yes, that ("[...]"=?) was a question. | 01:12 |
|
keex
| got to go | 01:12 |
|
| c ya | 01:12 |
| ← keex left | 01:12 |
|
jujule2
| same error :/ | 01:12 |
|
_Vi
| _pointlessjon, >'cant understand your cmd' Is it about "git submodule update"? | 01:12 |
|
| jujule2, What error on what command? | 01:13 |
| → RaceCondition joined | 01:13 |
|
jujule2
| git checkout in submodule path with last commit# | 01:13 |
|
_Vi
| jujule2, The checkout gives "error: pathspec ..."? | 01:14 |
|
jujule2
| yes. i use github. something must be broken in my urls | 01:14 |
|
_Vi
| jujule2, What does "git status" say in the submodule directory? | 01:14 |
|
| jujule2, What URLs? | 01:15 |
|
jujule2
| # Not currently on any branch. | 01:15 |
|
_Vi
| jujule2, What git version? (git --version) | 01:15 |
|
jujule2
| my urls i mean the submodule git repo url maybe, i check | 01:15 |
|
| git version 1.5.6.5 | 01:15 |
| ← numberGrey left | 01:15 |
|
_Vi
| jujule2, Outdated. Current is 1.6.x. | 01:16 |
| ← dreiss left | 01:16 |
|
_Vi
| jujule2, May be first try update Git (to ensure we are talking about the same thing) | 01:17 |
|
jujule2
| well. using the github commit id it works. :8 sorry for the noise | 01:17 |
| ← schierbeck left | 01:17 |
|
jujule2
| but still appears as modified in git status in the main repo | 01:18 |
|
_Vi
| jujule2, What does "git diff" say about it? | 01:18 |
| ← eletuchy left | 01:19 |
|
jujule2
| -Subproject commit be8d929e17337a51639253f2c2944d4307441992 | 01:19 |
|
| +Subproject commit 8af073a8006ef5e30c17ef2a59abd2f2d9571cdc | 01:19 |
|
_Vi
| jujule2, 1. Enter subproject directory, 2. "git checkout be8d929e17337a51639253f2c2944d4307441992". Fails? | 01:19 |
|
jujule2
| yes | 01:19 |
| ← kpreid_ left | 01:20 |
|
_Vi
| jujule2, 1. Enter subproject directory, 2. "git fetch", 3. "git checkout be8d929e17337a51639253f2c2944d4307441992". Also fails? | 01:20 |
| → kpreid_ joined | 01:20 |
|
_Vi
| jujule2, What does "git fetch" say? | 01:21 |
|
jujule2
| note: some time ago the submodule url changed but i edited all config files. works ok on others machines. maybe something gone bad on this one | 01:21 |
| → jinzhu joined | 01:21 |
|
jujule2
| git fetch just says nothing | 01:21 |
|
_Vi
| jujule2, May be just remove offending submodule and recheckout it? | 01:22 |
|
| jujule2, "git submodule update --init". | 01:22 |
|
jujule2
| i just rm the dir ? | 01:22 |
|
_Vi
| jujule2, Just remote the dir and then "git submodule update --init". | 01:23 |
|
| jujule2, (But I'm not sure about submodules in Git 1.5) | 01:23 |
| → r11t joined | 01:23 |
|
jujule2
| i still get the same error and diff | 01:24 |
|
| possible to reset the index for a submodule ? | 01:24 |
| ← name left | 01:25 |
| ← kennethlove left | 01:25 |
|
_Vi
| jujule2, May be better try to update Git before coping with particular problem? | 01:25 |
| → EricInBNE joined | 01:26 |
| ← spvensko left | 01:27 |
| ← loinclot_ left | 01:28 |
| → spvensko joined | 01:29 |
| ← ereslibre left | 01:31 |
| ← defectiv left | 01:31 |
| → numberGrey joined | 01:34 |
| → rgr joined | 01:34 |
| → jrmuizel joined | 01:36 |
|
rgr
| I have a project which is a clone of a bare reop via ssh. I this project I add a submodule "lib". The question I have is whether I should "add" "lib" to the parent project or not? Using magit any changes in lib are not shown in a git status for the parent project anyway. | 01:36 |
|
| s/reop/repo | 01:36 |
| → onigiri_ joined | 01:36 |
| ← _pointlessjon left | 01:36 |
| ← voxpelli-laptop left | 01:36 |
| ← numberGrey left | 01:37 |
| ← cenuij left | 01:37 |
|
_Vi
| rgr, "add" when doing what? When changing the parent project? | 01:37 |
| ← Ryback_ left | 01:38 |
|
rgr
| when doing a status of the "container" peoject (the one were lib has been added a submodule) the very presence of the lib subdir means its listed as a new untracked file. | 01:38 |
| → squarism joined | 01:38 |
|
_Vi
| rgr, New untracked file? Are you adding a submodule or checking it out? | 01:39 |
|
| rgr, Are you introducing the submodule or only updating it? | 01:39 |
| ← Geralt left | 01:41 |
| → martiin joined | 01:41 |
| → rolfb joined | 01:42 |
| ← amerine left | 01:42 |
| → jmcantrell joined | 01:45 |
| → Swimming_Bird joined | 01:45 |
| ← Fantuz83 left | 01:47 |
|
ShadeHawk
| How to download and install JGit and EGit? | 01:48 |
|
_Vi
| ShadeHawk, EGit - build from sources in Eclipse. | 01:48 |
| → dogmatic69 joined | 01:48 |
|
_Vi
| ShadeHawk, (EGit) And copy files into Eclipse's dierctory. | 01:48 |
|
dogmatic69
| hi all... | 01:48 |
|
ShadeHawk
| _Vi: thanks | 01:48 |
|
dogmatic69
| im running vista and have set my ide to linux line endings and now git is giving warning all the time | 01:49 |
|
ShadeHawk
| _Vi: I have thought that it would come as a nice package... | 01:49 |
|
_Vi
| ShadeHawk, May be it comes, may be not. Haven't used it for long. | 01:49 |
|
| s/used it/experimented with it/ | 01:49 |
|
dogmatic69
| the error is warning: LF will be replaced by CRLF in <file> | 01:50 |
| ← rolfb left | 01:50 |
|
dogmatic69
| and does this for every file i add | 01:50 |
|
_Vi
| dogmatic69, What line endings your checked in files are actually has? | 01:51 |
|
sitaram
| killerchicken: if you're asking "do all repos have to be in a flat structure at the top level or can they also be within directories, etc?", yes they can | 01:51 |
|
dogmatic69
| _Vi: it should be linux style... LF afaik... windows is normaly crlf? | 01:51 |
|
_Vi
| dogmatic69, Use "cat -v filename" or hex editor to verify. | 01:52 |
| ← timcharper left | 01:52 |
|
_Vi
| dogmatic69, Everything is normally LF, but many things in Windows prefer (or can handle only) CRLF. | 01:52 |
| → ideogon joined | 01:52 |
|
rgr
| _Vi: when I add the submodule it creates a dir "lib". | 01:52 |
|
dogmatic69
| _Vi: that cat -v just showed me the file? | 01:53 |
|
_Vi
| dogmatic69, May be after you have switched your IDE to LF it starts to insert LFs preserving old CRLFs? | 01:53 |
| ← t3h_awesome left | 01:53 |
|
_Vi
| dogmatic69, Without "^M"s at the end of each lines? | 01:53 |
|
| dogmatic69, Has you set some git attributes for CRLF handling? | 01:53 |
|
killerchicken
| sitaram: ah nice | 01:54 |
|
| sitaram: Is that somewhere in the docs? I didn't find it | 01:54 |
|
dogmatic69
| _Vi: ye it looks normal just like in my ide | 01:54 |
|
_Vi
| rgr, Yes. And what's wrong? | 01:54 |
|
killerchicken
| and how do I specify it? | 01:54 |
|
dogmatic69
| _Vi: if i do a old file that was set to dos line endings it has the ^M | 01:55 |
| → johnw joined | 01:56 |
| → numberGrey joined | 01:56 |
| → cedricv joined | 01:56 |
|
sitaram
| killerchicken: I guess I thought it was too obvious :) Just say foo/bar | 01:56 |
|
dogmatic69
| _Vi: so wat you think? seems it is the correct line ending but git is converting it/ | 01:57 |
|
killerchicken
| sitaram: ok, I wasn't sure | 01:57 |
|
| becuase you asked that only regular chars be used as repo name | 01:57 |
|
_Vi
| dogmatic69, May be try setting core.autocrlf to false? | 01:57 |
|
| killerchicken is officially asking most stupid questions ;) | 01:57 |
| ← Alagar left | 01:57 |
|
_Vi
| dogmatic69, Has you touched any crlf-reladed setting or attribute? | 01:58 |
|
| dogmatic69, (when you was using old mode with CRLFs) | 01:58 |
| ← kmartiin left | 01:58 |
|
dogmatic69
| _Vi: in git, maybe... a while ago | 01:58 |
|
rgr
| whats wrong is that the submodule appears as an item. Thas caused issues with pulling. The other issue is that a git status does not show the status of the submodule and I was ondering if it can. Yes, IF I pushed the entire submodule then the "Lib" appears changed in the parent. Is it possoible to tell git to check all subnmodules too( e.g f1 changes in proj2/lib, | 01:58 |
|
_Vi
| dogmatic69, So may be now it's time to turn it off? | 01:58 |
| → reprore joined | 01:59 |
| ← reprore left | 01:59 |
|
dogmatic69
| i guess so... now just to figure out how | 01:59 |
|
_Vi
| dogmatic69, May be you should also convert the whole thing to LF? | 01:59 |
|
dogmatic69
| how you mean? | 01:59 |
|
_Vi
| dogmatic69, (To avoid variance of line endings) | 01:59 |
|
| dogmatic69, Filter all files to substitute CRLFs with LFs globally. | 02:00 |
|
dogmatic69
| that is what i wanna do now, go through each file and make them lf | 02:00 |
|
| can git do that? | 02:00 |
|
_Vi
| dogmatic69, May be even filter all commits to solve the problem radically. | 02:00 |
|
dogmatic69
| cool... i would not know where to start though | 02:01 |
|
_Vi
| dogmatic69, something like "find -type f | xargs perl -i -pe 's/\r\n/\n/g'" can do it. | 02:01 |
| ← |Inthewings| left | 02:01 |
|
_Vi
| dogmatic69, All CRLF files will be changed. You may either commit it. Cleaner solution will be convert ALL commits to LF (from the first one to the last one). | 02:02 |
| → Theravadan joined | 02:02 |
| ← rektide left | 02:03 |
|
_Vi
| dogmatic69, But this (filter-branch for LF in all commits) may be really long. | 02:03 |
|
dogmatic69
| _Vi: ok, i did: git config --global core.autocrlf false and commited something and there was no errors | 02:04 |
|
| thanks :) | 02:04 |
|
| not shure about doing it globaly aprat from opening each file now | 02:04 |
| ← bentob0x left | 02:05 |
| → djork joined | 02:06 |
| → rektide joined | 02:06 |
|
dogmatic69
| _Vi: what is "find -type f | xargs perl -i -pe 's/\r\n/\n/g" | 02:06 |
|
| how would i use that? | 02:06 |
| → meanburrito920_ joined | 02:07 |
|
_Vi
| dogmatic69, "find -type f" - find all files; "perl -pe 's/\r\n/\n/g'" - change all CRLF to LF; | 02:07 |
|
| dogmatic69, "perl -i <commands> <files>" - change files in place. | 02:07 |
|
| dogmatic69, All together: find all files in current directory and filter then through changer of CRLF to LF. | 02:08 |
|
| dogmatic69, (xargs <command> is call <command> for each incoming line) | 02:08 |
|
dogmatic69
| _Vi: sorry.. im really no good at this cmd stuff.. would i do this as one command? "find -type f | xargs perl -i -pe 's/\r\n/\n/g" | 02:10 |
| → project2501a joined | 02:10 |
| → pinnacle joined | 02:10 |
|
_Vi
| dogmatic69, >"how would i use that?" Go to repository root and paste in the console. You probably should change "file -type f" to something like "find . -type f -and -name '*.cpp'". | 02:10 |
|
dogmatic69
| cool thanks for the help | 02:11 |
|
| much appreciated :) | 02:11 |
|
_Vi
| dogmatic69, Yes, but be preparet as it will convert binary files as well. | 02:11 |
| ← Bryson left | 02:11 |
|
_Vi
| s/preparet/prepared/ | 02:11 |
|
dogmatic69
| :S so all my images will die? | 02:12 |
|
_Vi
| dogmatic69, 1. You may use for everything but restore images later. 2. You may change "find" option to make it find only your code, not binaries. | 02:12 |
| ← project2501a left | 02:12 |
|
dogmatic69
| cool | 02:13 |
| → project2501a joined | 02:13 |
| ← djork left | 02:13 |
|
_Vi
| dogmatic69, Simple thing will be 1. Convert everything (pictures broken). 2. Add and commit only code, 3. Restore pictures. | 02:13 |
| ← sumangurung left | 02:15 |
|
killerchicken
| sitaram: hrm. Something seems to not work with the subdirectories | 02:15 |
|
sitaram
| hmm? | 02:15 |
|
| in what sense? | 02:15 |
|
| aah | 02:15 |
| → drogue joined | 02:15 |
|
dogmatic69
| _Vi: ye... ill prob just have to do it manualy cos i go reformat my code also... | 02:15 |
|
killerchicken
| I added "repo test/test" with rw perms | 02:15 |
|
| I cannot clone this repository | 02:15 |
| → djork joined | 02:16 |
| → AAA_awright_ joined | 02:16 |
|
_Vi
| dogmatic69, BTW reformatting the code can also be (partially) automatized. | 02:16 |
| → sumangurung joined | 02:16 |
|
sitaram
| what does "ssh git@server" say? | 02:16 |
|
dogmatic69
| my ide does that... i just have to open the file... but i can open a bunch and do all so its not to bad. | 02:16 |
|
killerchicken
| wargh | 02:17 |
| → thmghtd joined | 02:18 |
|
dogmatic69
| thanks for the time _Vi | 02:18 |
|
killerchicken
| I tried the wrong server. I'm so stupid today (I hope it is just today? ;/) I won't ask a new question. | 02:18 |
|
| have been sitting in front of this for half an hour now | 02:18 |
| ← rgr left | 02:18 |
|
killerchicken
| sitaram: sorry :( | 02:19 |
|
sitaram
| :) | 02:19 |
|
killerchicken
| but thanks for the tool. It's working great | 02:19 |
|
sitaram
| ywyw! | 02:20 |
|
| you're welcome! | 02:20 |
| → doxtor joined | 02:20 |
|
doxtor
| Hello, I have two branches and have overwritten newer files in one branch by git checkout from second branch. Is there a way to recover overwritten files? | 02:21 |
|
killerchicken
| "Why do you not publish your code?" "I hate users asking dumb questions" :-) | 02:21 |
|
| doxtor: if you haven't commited them, git checkout -- <path> | 02:21 |
|
| will check them out from current HEAD | 02:22 |
|
_Vi
| doxtor, "git checkout <first_branch> -- path/to/file" | 02:23 |
| ← lll left | 02:23 |
| ← dogmatic69 left | 02:23 |
| ← AAA_awright left | 02:24 |
|
doxtor
| That doesn't recover the newest version | 02:26 |
|
| files won't even appear in "Changes to be committed:" list | 02:26 |
|
_Vi
| doxtor, Where has you committed the newest version? | 02:26 |
|
doxtor
| _Vi: I haven't committed | 02:27 |
|
_Vi
| doxtor, The file is actually unchanged? | 02:27 |
|
| doxtor, Not commited? "checkout" should complain. | 02:27 |
| → mithro joined | 02:27 |
|
_Vi
| doxtor, Has you used general checkout or with file argument? | 02:27 |
|
doxtor
| with file argument | 02:27 |
|
| I wasn't switching branches | 02:27 |
|
_Vi
| doxtor, So the previous version seems to be just lost. | 02:28 |
|
doxtor
| yeah | 02:28 |
|
_Vi
| doxtor, It was only in index (or only in work tree) and you have explicitly checked it out. | 02:28 |
|
doxtor
| looks like it | 02:29 |
| ← m104 left | 02:29 |
|
doxtor
| funny thing is I have compiled new version still around and no source | 02:29 |
|
_Vi
| doxtor, How precious is it? How much time the manual restoration can take? | 02:29 |
|
doxtor
| I guess 2 hours | 02:29 |
|
_Vi
| doxtor, Try "git fsck" for missing blobs. | 02:30 |
|
| s/missing/dangling/ | 02:30 |
|
| doxtor, May be one of them will be yours. | 02:30 |
|
| doxtor, Has you at least staged your version of file to index? | 02:30 |
|
doxtor
| no | 02:31 |
| → lll joined | 02:31 |
|
_Vi
| doxtor, (So don't try "git fsck") | 02:31 |
|
doxtor
| ok, thanks | 02:31 |
|
_Vi
| doxtor, /* A shoot in a foot */ | 02:31 |
|
| doxtor, Probably the easiest way will be just change it again. | 02:32 |
| → dreiss joined | 02:32 |
| ← WinterWeaver left | 02:32 |
| → upul joined | 02:33 |
| ← martiin left | 02:34 |
| ← johnw left | 02:34 |
| ← smuf left | 02:38 |
| → jlilly joined | 02:38 |
| ← remi left | 02:39 |
| → Bryson joined | 02:40 |
|
killerchicken
| sitaram: hah, I'm so bad at keeping promises. I see that I can add custom hooks, that are copied to all repositories. Is there a feature (or is one planned) to specify which hooks should be executed? The issue is that for some of our repositories, we want commits sent to a mailing list, for others, we want them to go to a different list, etc. | 02:46 |
| → fullTummy joined | 02:46 |
|
killerchicken
| We could of course put all that logic in the hook itself, but that seems bad. | 02:46 |
|
fullTummy
| hi all | 02:46 |
|
killerchicken
| Making hooks available via easy-install and then enabling/disabling them via config would be cool. | 02:47 |
| ← ShadeHawk left | 02:47 |
|
ilumi
| what does this error mean? | 02:47 |
|
| /usr/bin/ld: cannot find -lexpat | 02:47 |
|
| collect2: ld returned 1 exit status | 02:47 |
|
| make: *** [git-remote-curl] Error 1 | 02:47 |
|
fullTummy
| expat shared library not found | 02:47 |
|
_Vi
| ilumi, That you can't find "libexpad" library. | 02:47 |
|
ilumi
| what do i need to install? | 02:48 |
|
_Vi
| ilumi, Try installing it. Something like "libexpad-dev". | 02:48 |
|
| ilumi, What system? | 02:48 |
|
ilumi
| ubuntu | 02:48 |
|
fullTummy
| get windows 7 | 02:48 |
|
| it comes with it :D | 02:48 |
|
ilumi
| lol, no | 02:48 |
|
_Vi
| ilumi, apt-get install libexpat1-dev | 02:48 |
|
| ilumi, Works? | 02:48 |
|
killerchicken
| sitaram: I could make the hook depend on git config options, I guess. | 02:49 |
|
_Vi
| ilumi, (Actually, "sudo apt-get install libexpat1-dev") | 02:49 |
| → Twisted_Mentat_M joined | 02:49 |
| ← Twisted_Mentat_M left | 02:49 |
|
ilumi
| _Vi: works, thank you | 02:50 |
| ← Bryson left | 02:50 |
| → mrpeterpeter joined | 02:50 |
| ← WALoeIII left | 02:51 |
| ← mrpeterpeter left | 02:51 |
| → VVSiz_ joined | 02:52 |
| ← em-dash left | 02:55 |
| ← sunaku left | 02:57 |
| ← coolcat left | 03:00 |
| ← fullTummy left | 03:01 |
| ← xlistener left | 03:01 |
| ← loincloth left | 03:01 |
| → ken___ joined | 03:01 |
| AAA_awright_ → AAA_awright | 03:02 |
| ← hummingkid left | 03:03 |
| ← djork left | 03:04 |
| → xlistener_ joined | 03:05 |
| xlistener_ → xlistener | 03:05 |
| → montylounge joined | 03:06 |
| ← upul left | 03:08 |
| ← VVSiz left | 03:09 |
| → nadavoid joined | 03:10 |
| → ali1234 joined | 03:12 |
|
sitaram
| killerchicken: that is what teukka does; he added the feature to add repo specific config to gitolite.conf and he then uses that. You could also just check $GL_REPO inside the hook code and do different things accordingly | 03:12 |
| → d2dchat joined | 03:13 |
|
killerchicken
| sitaram: right, but that would mean updating the hook for everyone whenever I add a new repo ;) | 03:13 |
| ← jrmuizel left | 03:15 |
|
sitaram
| killerchicken: yes; the config option is better for most long term uses. I'm trying to design a clean way in which you can specify hooks for different repos but it's not high on my list right now due to work and other pressures | 03:15 |
|
killerchicken
| sure | 03:15 |
|
| ah | 03:15 |
|
sitaram
| killerchicken: clean means it should not cause even more divergence between master and wildrepos :-) | 03:15 |
|
killerchicken
| when I place a new hook in src/hooks, I have to always do easy-install again, right? I cannot do that via an admin account? I think the docs are a little ambigious here | 03:16 |
|
sitaram
| killerchicken: you have to easy install again. *That* is a wart that will almost certainly get fixed; this should be doable by pushing admin repo, ideally. When I originally designed it, the idea was "how frequently will people be changing hooks? Not much" | 03:17 |
|
killerchicken
| no | 03:17 |
|
| I think it should not. | 03:17 |
|
| That would be a security issue, wouldn't it? | 03:17 |
|
| Here is a hook that erases logs | 03:17 |
|
| here is a hook that spawns a shell | 03:17 |
|
| etc | 03:17 |
|
sitaram
| killerchicken: there are two ways to look at that | 03:18 |
|
killerchicken
| I don't want my admins to be able to mess with the log | 03:18 |
|
sitaram
| killerchicken: good point | 03:18 |
|
| killerchicken: you want to separate people who have *shell* access to the server from people who are able to mess with the admin repo | 03:19 |
|
killerchicken
| that's what I'm doing | 03:19 |
| ← hyperair left | 03:19 |
| → hyperair joined | 03:19 |
|
killerchicken
| none of the admins except myself have shell access. | 03:19 |
|
| and I don't use @SHELL | 03:19 |
|
| at all | 03:19 |
|
| But it seems that if they could get arbitrary code to be executed, that would be bad. | 03:20 |
|
| like, really bad. | 03:20 |
| ← aziz left | 03:20 |
| → cytrinox_ joined | 03:20 |
|
sitaram
| yes; now that you mention it, I have a feeling that was my original motivation | 03:20 |
|
killerchicken
| In this case, let me update the docs. | 03:21 |
|
sitaram
| or not; I only see a security note saying "if you mess with the update hook, you lose all your per-branch permissions" so you make a very valid point | 03:21 |
|
| yes please | 03:22 |
|
| send me a patch via email if you have time | 03:22 |
|
killerchicken
| I was going to send a pull request? | 03:22 |
|
sitaram
| sure | 03:22 |
|
killerchicken
| :q | 03:22 |
|
| ups | 03:22 |
|
| (Too bad, I prevented myself from getting those $$$ easily by making you aware of the issue before you put it in. Man, I'm so dumb) | 03:23 |
| ← tedoc2000 left | 03:23 |
|
killerchicken
| :-) | 03:23 |
| ← Travis-42 left | 03:23 |
|
sitaram
| killerchicken: wouldn't have worked: that security warning says if you can do something the config file says youshouldn't... | 03:23 |
|
killerchicken
| ah | 03:24 |
| ← project2501a left | 03:24 |
|
killerchicken
| hm | 03:24 |
|
| damn. nitpicker | 03:24 |
|
sitaram
| killerchicken: also, *currently* it doesnt even apply... better nit? | 03:24 |
|
| (I mean I havent coded it yet; you stopped me!) | 03:24 |
|
killerchicken
| that's what I was saying :P | 03:24 |
|
sitaram
| ah yea | 03:24 |
| ← whaley left | 03:25 |
| → sunaku joined | 03:25 |
| ← chalkbag left | 03:27 |
| → jhelwig_ joined | 03:28 |
| ← jhelwig left | 03:29 |
|
zahna
| did the puppet.conf file even change from 0.24 to 0.25? | 03:30 |
| jhelwig_ → jhelwig | 03:31 |
| → jrmuizel joined | 03:32 |
| ← maglos left | 03:32 |
| → Tricon joined | 03:34 |
| → jessep joined | 03:36 |
| ← tfarina left | 03:36 |
| ← cytrinox left | 03:37 |
| cytrinox_ → cytrinox | 03:37 |
| ← GeertB left | 03:38 |
| ← schacon left | 03:39 |
| ← spearce left | 03:43 |
| ← sunaku left | 03:45 |
| → catalis joined | 03:45 |
| → sunaku joined | 03:46 |
| → cedric_ joined | 03:46 |
| ← sunaku left | 03:51 |
| → sunaku joined | 03:52 |
| ← cedricv left | 03:52 |
| ← thmghtd left | 03:52 |
| → tjafk joined | 03:52 |
| ← schambers left | 03:52 |
| → upul joined | 03:53 |
| ← tjaway left | 03:53 |
| → schambers joined | 03:54 |
| ← hobodave left | 03:56 |
| → j416 joined | 04:01 |
| ← spvensko left | 04:02 |
|
jayne
| ugh. Has anyone gotten gvimdiff to work as a difftool on Win32? | 04:02 |
|
| if so, how? | 04:02 |
| → spvensko joined | 04:04 |
| → gno` joined | 04:05 |
|
jayne
| specifying a .cmd file for difftool.<tool>.cmd causes inexplicable syntax errors; specifying cmd /c gvim.bat starts a new cmd without passing the /c option; specifying gvim.exe doesn't work because it doesn't use -f; using start causes some _really_ weird path quoting errors. | 04:05 |
| ← gno` left | 04:07 |
|
offby1
| welcome to Windows | 04:08 |
| ← kukks left | 04:11 |
| ← spvensko left | 04:11 |
|
jayne
| offby1: this is very clearly a git problem, not a Windows problem | 04:11 |
| ← ken___ left | 04:11 |
|
jayne
| gvimdiff itself works fine, and if I bypass difftool and do it manually, it works (again) fine | 04:11 |
|
| I can even use GIT_EXTERNAL_DIFF with just git diff and it works fine. | 04:12 |
|
| but git difftool blows up in the ways described above | 04:12 |
|
offby1
| I suspect it's that git doesn't do anything special to pass the arguments properly | 04:13 |
|
jayne
| the gvim.bat case appears to be caused by sh trying to blindly read the argument as some sort of sh script | 04:13 |
| ← scarabx left | 04:18 |
| ← anjen1 left | 04:21 |
| → hobodave joined | 04:23 |
| → cenuij joined | 04:24 |
| ← hakunin_ left | 04:25 |
|
jayne
| that's why... echo "$(git config difftool.$merge_tool.cmd || git config mergetool.$merge_tool.cmd)" | 04:26 |
| → warthog9 joined | 04:26 |
| → hakunin joined | 04:27 |
| ← hakunin left | 04:27 |
| → hakunin joined | 04:28 |
| → mm_202 joined | 04:28 |
| ← erikvold left | 04:29 |
|
mm_202
| Is there an easy way to get the most recent commit hash from a [different] branch? | 04:29 |
|
| I want to do a git cherry-pick, but am getting tired of copy/pasting the hash from the previous commit. | 04:29 |
| → hakunin_ joined | 04:30 |
|
_Vi
| mm_202, git log <branch> | head -n 1 | 04:30 |
| ← hakunin_ left | 04:30 |
|
_Vi
| mm_202, You may supply any commit-ish to "cherry-pick" | 04:30 |
| → hakunin_ joined | 04:30 |
| → |Rolenun| joined | 04:30 |
|
mm_202
| _Vi: ooo, yes, that worked! | 04:31 |
|
_Vi
| mm_202, Examples: master, master^, your_branch, your_branch~2, HEAD@{1}. | 04:31 |
| ← Rolenun left | 04:31 |
|
_Vi
| mm_202, You may use "git cherry-pick <branch>" | 04:31 |
|
mm_202
| Yep, that's what I did. | 04:31 |
| → hakunin__ joined | 04:32 |
| ← agib left | 04:32 |
| ← aresnick left | 04:32 |
|
jayne
| git-mergtool--lib rather stupidly assumes that if the given non-builtin diff tool isn't in the current directory that it doesn't exist at all | 04:33 |
|
mm_202
| Is there any 'shortcut' to: git add [file], git commit [msg], git stash, git co [branch1], git cherry-pick [branch2], git co [branch2], git stash apply | 04:33 |
|
jayne
| if ! type $merge_tool_path then die (to paraphrase) | 04:33 |
|
mm_202
| sorry, git co = git checkout | 04:33 |
| ← doxtor left | 04:33 |
| ← hakunin__ left | 04:34 |
|
_Vi
| mm_202, I think 100% of aliases of "git co" point to "git checkout". | 04:34 |
| ← montylounge left | 04:35 |
| → hakunin__ joined | 04:35 |
|
mm_202
| _Vi: Im sure as well, but I got yelled at for it once in here, so I just try to avoid aliases altogether | 04:35 |
| ← schambers left | 04:35 |
| → hakuni___ joined | 04:36 |
| → schambers joined | 04:36 |
|
mm_202
| _Vi: or am I the only one that uses that 'work flow'? | 04:36 |
| ← hakuni___ left | 04:37 |
| ← rettub left | 04:40 |
| → Rolenun joined | 04:40 |
| → johnw joined | 04:40 |
| → mmoya joined | 04:41 |
| ← nothingHappens left | 04:43 |
|
jayne
| offby1: yeah, the problem is sh.exe eats all arguments starting with / | 04:43 |
| → loincloth joined | 04:43 |
|
jayne
| and (I don't get this part) tries to convert them into a filename | 04:44 |
| → rettub joined | 04:44 |
|
jayne
| so "attrib /s foo" gets turned into "attrib s:/ foo" | 04:44 |
|
cbreak
| makes sense | 04:44 |
|
| windows doesn't have a root file system | 04:45 |
|
| but drive letters | 04:45 |
|
offby1
| jayne: that sounds crazy ... | 04:45 |
|
jayne
| offby1: I agree | 04:45 |
|
cbreak
| so absolute paths starting with / have to be converted | 04:45 |
|
offby1
| but who would be so foolish as to convert _all_ arguments, as if each was a path? | 04:45 |
|
jayne
| cbreak: not all that starts with / is a path | 04:45 |
| → tedoc2000 joined | 04:46 |
| ← jhelwig left | 04:46 |
|
cbreak
| yeah. could be a random string that happens to start with it | 04:46 |
|
| but not everything that starts with \ is an escape sequence either | 04:46 |
| ← hakunin left | 04:46 |
|
cbreak
| shells seem to assume some things | 04:47 |
|
| like * being a glob pattern, or \ an escape sequence start, or / denoting the root volume | 04:47 |
|
| in this case | 04:48 |
|
| I guess | 04:48 |
| ← hakunin_ left | 04:48 |
| → jhelwig joined | 04:49 |
| ← |Rolenun| left | 04:49 |
| ← d2dchat left | 04:50 |
|
jayne
| I got it \o/ | 04:50 |
|
| cmd \\\\/c gvim.bat -your -args -here | 04:51 |
|
| so having done that... now why does git status think the files are different when git diff reports them char-for-char identical? (No, it's not CRLF) :-( | 04:52 |
| ← jhelwig left | 04:52 |
| → jhelwig joined | 04:52 |
| → harryxu joined | 04:52 |
|
cbreak
| openssl sha1? | 04:52 |
|
| tab vs spaces? | 04:52 |
|
| (-> whitespace) | 04:53 |
| ← jmcantrell left | 04:53 |
|
offby1
| sounds like core.filemodes or core.crlf | 04:53 |
|
cbreak
| tried git diff? | 04:53 |
| ← harryxu left | 04:54 |
| → harryxu joined | 04:54 |
| ← harryxu left | 04:54 |
| → __Joker joined | 04:54 |
| → harryxu joined | 04:55 |
| ← hakunin__ left | 04:55 |
| ← loincloth left | 04:55 |
| → loincloth joined | 04:56 |
|
jayne
| the version on each side of git diff has the same sh1 | 04:57 |
| ← JoeConyers left | 04:57 |
|
Ilari
| jayne: In what section(s) is that file listed as 'modified'? | 04:58 |
|
jayne
| changed but not updated | 04:58 |
|
Ilari
| jayne: But not 'to be committed'? | 04:58 |
|
jayne
| correct | 04:58 |
|
Ilari
| jayne: And 'git diff -- <file>' lists same hash twice in index line? | 04:59 |
|
jayne
| no, it's different there | 04:59 |
| → thomaz joined | 05:00 |
| → psankar joined | 05:00 |
|
Ilari
| jayne: Is there any diff hunks at all in diff output? | 05:01 |
| ← cloudhead left | 05:01 |
| → cloudhead joined | 05:01 |
| ← cloudhead left | 05:01 |
| → tedoc2000_ joined | 05:02 |
|
jayne
| seemingly the entire file. | 05:02 |
|
| I just reset --hard and the problem seems to be gone though | 05:02 |
| ← dgarr left | 05:03 |
| ← jessep left | 05:03 |
|
Ilari
| jayne: Yes, because all uncommitted changes were overwritten. | 05:03 |
|
jayne
| I tried changing autocrlf just to see if I could reproduce it, but no | 05:03 |
|
| Ilari: there were no visible uncommitted changes | 05:03 |
|
Ilari
| jayne: Maybe the file indeed got CRLFs from somewhere and autocrlf was off (changing it without checking out again seems problematic). | 05:04 |
| ← Yuuhi`` left | 05:04 |
| → Yuuhi`` joined | 05:04 |
|
Rolenun
| lol, you guys are killing me with the crlf discussion :D | 05:04 |
| → john268 joined | 05:04 |
|
jayne
| whatever it was, it's gone now | 05:05 |
| → sdboyer_ joined | 05:06 |
|
Rolenun
| I'd be wary about your GUI altering the files line endings automatically too. it's a common windows complaint. | 05:06 |
| → agenteo joined | 05:07 |
| → munichlinux joined | 05:07 |
|
jayne
| the file I have now is the same sha1 as I got on both sides of the diff earlier, and changing the line endings still doesn't get me the mysterious "wrong" sha1 | 05:07 |
|
Rolenun
| Ilari: it was funny because I just spent a couple hours evaluating jgit's lack of autocrlf support. it has to be the biggest issue with jgit imho. hehe | 05:08 |
|
jayne
| I wish there was a "this repository's line endings are (LF|CRLF)" config option and a "my checkout should have (LF|CRLF) line endings" option. It'd be less confusing, I think. | 05:09 |
| ← tedoc2000 left | 05:09 |
|
jayne
| having the two set differently would imply that git should attempt conversion | 05:09 |
|
Rolenun
| hmmm | 05:09 |
| ← tedoc2000_ left | 05:10 |
|
jayne
| ooo. branch switching is _way_ faster in 1.6.5. nice. | 05:11 |
| ← jelmer left | 05:11 |
|
Rolenun
| ... it's git lol, it's always fast :D | 05:11 |
|
jayne
| Rolenun: previously on Win32, it was painfully slow | 05:11 |
|
| it's always been fast on *nix | 05:11 |
|
Rolenun
| ohhh, you're using windows :D | 05:12 |
|
| Rolenun comforts you. | 05:12 |
|
Rolenun
| :D | 05:12 |
|
Ilari
| jayne: The repository line endings are _always_ LF. CR/LF/CRLF is checkout property. | 05:13 |
| → spvensko joined | 05:13 |
| ← sdboyer left | 05:14 |
| → |Rolenun| joined | 05:14 |
|
Ilari
| jayne: Or that's the way it should be. And there should be option to convert on add but not on checkout. | 05:14 |
|
jayne
| Ilari: the objects are supposed to always be LF, but reality often disagrees (ime) | 05:14 |
|
Ilari
| jayne: Plus of course tool to fix line endings. | 05:14 |
| ← zahna left | 05:14 |
|
Ilari
| jayne: Yeah, CRLFs get into repo a lot. | 05:15 |
| ← Rolenun left | 05:15 |
| |Rolenun| → Rolenun | 05:15 |
| ← jfkw left | 05:15 |
| → obscurite joined | 05:16 |
|
obscurite
| quick q - how do you see what would change upon doing "git pull" on remote branches without actually doing the pull? | 05:16 |
|
Rolenun
| sorry about that, irc client yelled yippee! and jumped offline :/ | 05:16 |
| → spielberg joined | 05:16 |
|
Ilari
| obscurite: Fetch first. | 05:16 |
|
obscurite
| ilari - is that like a dry run? | 05:17 |
|
Ilari
| Rolenun: Or connection glitched or server glitched? :-) | 05:17 |
|
jayne
| pull == fetch + merge | 05:17 |
|
Rolenun
| pull = fetch + merge | 05:17 |
|
| lol | 05:17 |
|
obscurite
| Ilari: jayne Rolenun okay, that sort of helps, i think. :) | 05:17 |
|
spielberg
| quick question, does git handle large binary files well? hg just screwed me on a repo that had some 200+ MiB files :[ | 05:17 |
|
Rolenun
| Ilari: yep, it's one of those issues ;) | 05:18 |
|
jayne
| I'm worried about upstream stuff, so I almost never use pull. Instead I fetch, inspect, then merge as separate steps. | 05:18 |
|
bob2
| it won't corrupt them | 05:18 |
|
| but then you'll have to push around 200mb files | 05:18 |
|
obscurite
| Ilari: let's say I fetch and it's a disaster, how do I go back? | 05:18 |
|
jayne
| spielberg: does anything handle large binaries well? | 05:19 |
|
spielberg
| well hg just shits out when im trying to push over network.. just hangs then nothing | 05:19 |
|
Ilari
| obscurite: No real need to go back. | 05:19 |
|
obscurite
| Ilari: what if I need to get rid of the changes to my local copy? | 05:19 |
|
Ilari
| obscurite: What is updated is either scratch branches (blow them away) or remote tracking branches (leave them as is). | 05:20 |
| ← pkw left | 05:20 |
|
obscurite
| Ilari: okay, guess I still don't get the flow. reading... | 05:20 |
|
Ilari
| obscurite: Or FETCH_HEAD (leave it alone, it will be overwritten eventially)... | 05:20 |
|
| obscurite: Do you have remote for repository you want to fetch from? | 05:20 |
| ← parolang` left | 05:21 |
| → tedoc2000 joined | 05:21 |
|
obscurite
| Ilari: I made changes on my local repos (dev box), and now i want to send them to the master working copy on the server | 05:21 |
| ← spielberg left | 05:21 |
| → parolang` joined | 05:21 |
|
obscurite
| Ilari: so far I added, committed, and pushed on my dev box | 05:21 |
|
bob2
| don't push to non-bare repositories | 05:21 |
|
obscurite
| Ilari: both machines are pointing at the same repos. my dev box is remote. | 05:22 |
|
| bob2: what should I be doing insted of pushing? | 05:22 |
|
| bob2: just commit? | 05:23 |
|
Ilari
| obscurite: Push to bare (no working copy) repo. | 05:23 |
|
| obscurite: Or pull both ways. | 05:23 |
|
obscurite
| Ilari: well too late, my newb ass pushed to non bare with a working copy. now what? | 05:23 |
|
Ilari
| obscurite: Does that repo have any uncommitted changes you want to keep? | 05:23 |
|
bob2
| create a bare repository and push to that | 05:23 |
|
| then have the non-bare one from the bare one | 05:24 |
|
| er "one pull from" | 05:24 |
| ← johnw left | 05:24 |
| → |Rolenun| joined | 05:24 |
| ← parolang` left | 05:24 |
|
obscurite
| Ilari: when i do git diff at the base dir of the working copy I get nothing | 05:24 |
|
| Ilari: so I think that means no | 05:24 |
| → parolang` joined | 05:24 |
|
Ilari
| obscurite: On repo you pushed _to_? | 05:24 |
|
obscurite
| Ilari: yes | 05:24 |
| → jessep joined | 05:24 |
|
Ilari
| obscurite: Some hook that autoupdates it? | 05:25 |
|
obscurite
| Ilari: i think it's just up to date | 05:25 |
| ← parolang` left | 05:25 |
|
obscurite
| Ilari: except for my changes | 05:25 |
| ← sumangurung left | 05:25 |
|
Ilari
| obscurite: Does 'git log' list the commits (on that repo)? | 05:26 |
|
obscurite
| Ilari: yes | 05:26 |
|
| Ilari: my last commit is not there | 05:26 |
|
| bob2: my idea was that by "pushing" I was making my stuff available to the other repos | 05:27 |
|
Ilari
| obscurite: Well, the hallmark of push-to-HEAD screwups is that commits pushed appear in 'git log', but changes don't appear in working copy and 'git status' shows pushed files as 'modified'. | 05:27 |
|
bob2
| obscurite: pushing does not update the working copy | 05:28 |
|
obscurite
| Ilari: when I do git remote show origin I see my local repos is set to push to master on the other box, (master pushes to master) | 05:29 |
|
| Ilari: but git log on the other box does not show the commit | 05:30 |
| ← Rolenun left | 05:30 |
|
Ilari
| obscurite: Is the commit to be pushed on master on local side? | 05:31 |
|
| obscurite: (git log master) | 05:31 |
| ← j416 left | 05:31 |
|
obscurite
| Ilari: I made the commit and push locally. git log master locally shows my commit. git log master on the server does not. | 05:32 |
| ← Bass10 left | 05:32 |
| → pkw joined | 05:32 |
|
obscurite
| Ilari: does this mean i'm not looking at the master I actually pushed to somehow? | 05:33 |
|
| Ilari: both have the same remote URL | 05:33 |
|
jnl
| is there something like a combination of rev-list and for-each-ref? the shell-code-feature of for-each-ref, but for any commit? | 05:33 |
|
Ilari
| obscurite: And push showed that it was successful? IIRC, current git master versions deny pushes to checked out branches by default. | 05:33 |
|
| jnl: At least rev-list (and log) have custom formats. | 05:34 |
| → nadavoid_ joined | 05:35 |
|
obscurite
| Ilari: ahh, I pushed to a diff repos. the server is just another remote branch. | 05:35 |
|
| Ilari: I see in the push output that it's an unfuddle repos actually | 05:35 |
|
jnl
| Ilari: ah, yes, it has --pretty, but quoting would break for example | 05:36 |
|
obscurite
| Ilari: now my main concern is to undo any damage i've done | 05:36 |
|
| Ilari: with my stupid push | 05:36 |
| ← segher left | 05:36 |
|
obscurite
| Ilari: unless in this case what I did is OK | 05:37 |
|
Ilari
| obscurite: Well, firstly get shell on that repo to examine the damage. | 05:37 |
|
obscurite
| Ilari: it's a hosted git repos. no shell. | 05:37 |
|
Ilari
| obscurite: 'git diff', 'git status', 'git log'. | 05:37 |
|
| obscurite: That repo has no working copy then. | 05:37 |
|
| obscurite: So only way you could have screwed it is by pushing stuff that shouldn't be there. | 05:38 |
|
obscurite
| Ilari: right, the main repos is on unfuddle.com. the server one I was looking at is a working copy on another remote. | 05:38 |
|
| Ilari: so is it OK to push to the main repos that has no working copy? | 05:38 |
|
| Ilari: and the pull to the server remote repos | 05:38 |
| ← tedoc2000 left | 05:39 |
|
Ilari
| obscurite: Repo with no working copy is meant to be pushed to and fetched (pulled) from. | 05:39 |
|
obscurite
| Ilari: so maybe I didn't mess up. heh | 05:39 |
|
Ilari
| obscurite: Repos with working copy are meant for making new commits, not for pushing to. | 05:39 |
|
obscurite
| Ilari: so back to my original question. in a working repos, if I fetch, I'm not actually changing my working copy? | 05:40 |
| → erikvold joined | 05:41 |
|
Ilari
| obscurite: Correct. | 05:41 |
|
| obscurite: In fact, fetch has extra safety check, so fetch-to-HEAD is blocked unless specifically allowed via command-line option. | 05:42 |
|
| obscurite: (effects of fetch-to-HEAD would be just like push-to-HEAD). | 05:42 |
|
obscurite
| Ilari: I was looking for the equivalent of a "dry run"/revert in svn | 05:42 |
|
Ilari
| obscurite: If you have remote for the repo, just 'git fetch <remote>' and then examine '<remote>/<branch>'. | 05:43 |
|
| obscurite: Then one can for example do 'git log -p ..<remote>/<branch>' or 'git diff ...<remote>/<branch>'. | 05:43 |
|
| obscurite: First is per-commit breakdown of what 'git merge <remote>/<branch>' would merge. The latter is diff of all changes to be merged. | 05:44 |
|
| obscurite: Just fetching changes but not merging/rebasing is the closest to dry run. | 05:45 |
|
obscurite
| Ilari: which URL is <remote> pointing at? | 05:45 |
|
Ilari
| obscurite: 'git remote -v' should list that. | 05:45 |
| ← catalis left | 05:47 |
|
obscurite
| Ilari: so on the server, I do "git fetch", which is set by default to pull from the main repos | 05:47 |
|
| Ilari: then git log diff, etc? it's all master branch, so not sure what to use for args | 05:47 |
|
| Ilari: seems like I shouldn't specific <remote> or <branch> in any case since there are defaults | 05:48 |
|
| specify* | 05:48 |
| → catalis joined | 05:48 |
|
Ilari
| obscurite: There probably are no defaults unles remote in question is origin. | 05:48 |
|
obscurite
| Ilari: it is origin. git remote -v shows origin of the main repos on both dev box and server | 05:49 |
|
| Ilari: and all branches are master | 05:49 |
|
Ilari
| obscurite: Then 'git fetch' for fetch should be enough (check that the URL it gives is the right one). | 05:50 |
|
| obscurite: And 'git log -p ..<remote>' and 'git diff ...<remote>' operate with remote-specific default branch. | 05:51 |
|
| obscurite: (which is master probably in this case). | 05:51 |
| ← nadavoid left | 05:51 |
| nadavoid_ → nadavoid | 05:51 |
|
Ilari
| obscurite: Actaully, those commands operate with '<remote>/HEAD' which is symbolic ref to default branch. | 05:51 |
|
| obscurite: Fetch is one of the very few commands that can even designate branch in another repository. | 05:52 |
|
obscurite
| Ilari: okay, git fetch seemed to get all the objects | 05:52 |
|
| Ilari: plain git log -p doesn't show anything | 05:52 |
|
Ilari
| obscurite: 'git log ..origin'? | 05:53 |
|
| obscurite: Displays commits that are in origin/HEAD (default for 'origin') but not in HEAD (current branch). | 05:53 |
|
obscurite
| Ilari: I see my commit there now | 05:53 |
|
| Ilari: in git log ..origin | 05:53 |
|
Ilari
| obscurite: Add -p option to get diffs. | 05:53 |
|
| obscurite: Or 'git diff ...origin' to get one diff for it. | 05:54 |
|
obscurite
| so fetch just pulls in the origin head info? | 05:54 |
|
| (with my remote default of origin i mean) | 05:54 |
|
Ilari
| obscurite: Fetch copies branches from another repository. There are defaults to create the effect of mirrors of branches from other repositories. | 05:55 |
|
| obscurite: 'git fetch foo' would mirror all local branches of remote 'foo'. | 05:55 |
|
obscurite
| ahh, so it just makes the remote branch available locally for viewing | 05:56 |
|
Ilari
| obscurite: Yes. And that mirror can be accessed off-line. And there is 'git remote update' that updates mirrors for all repositories. | 05:56 |
|
| obscurite: *all remotes | 05:57 |
|
obscurite
| Ilari: I'm guessing you wouldn't do this for origin/HEAD but I guess you could use this to work on different remote branches? | 05:57 |
|
Ilari
| obscurite: Usually remotes are fetched whole, not individual branches. | 05:57 |
|
obscurite
| Ilari: huh okay | 05:58 |
|
Ilari
| obscurite: 'git fetch <remote> <branch>' is usually a mistake. | 05:58 |
|
obscurite
| Ilari: and so the reason this is so great for the linux kernel is I can work on a whole bunch of people's remotes and merge them easily? | 05:59 |
|
Ilari
| obscurite: Yes. If one knows how to back off bad merges, one could just use pull also. | 05:59 |
| → project2501a joined | 05:59 |
|
obscurite
| Ilari: thanks for all the git lessons, you rock! | 06:00 |
|
| Ilari: so now that my git log ..origin looks great, I do a git merge to update locally? | 06:00 |
| → htns joined | 06:00 |
| → em-dash joined | 06:01 |
|
htns
| Hi. I used to know this but can't remember and find it either. After I've done a patch < horriblepatch , and now want to revert back to the previous state, I can do git checkout -f but how do I also remove all the newly added files? [reset --hard doesn't do it] | 06:01 |
|
Ilari
| obscurite: 'git merge origin'. | 06:02 |
| ← justin-george left | 06:02 |
|
obscurite
| htns: good question. i'm interested as well. | 06:02 |
| → justin-george joined | 06:02 |
|
Ilari
| htns: man git-clean ... But thats one of the most dangerous commands. | 06:03 |
| ← em-dash left | 06:03 |
|
Gitbot
| htns: the git-clean manpage can be found at http://git.or.cz/man/git-clean | 06:03 |
|
htns
| thanks Ilari , i will read now | 06:03 |
|
Ilari
| htns: IIRC, the only command that has confirmation switch. | 06:03 |
|
obscurite
| Ilari++ | 06:03 |
| ← ilumi left | 06:04 |
|
Ilari
| htns: And hint: 'git apply --index <patchfille>'. | 06:05 |
|
| htns: That even stages the changes for you. | 06:05 |
|
htns
| Ilari, nice, I will try that | 06:05 |
|
Ilari
| htns: (for future patch applications, of course). | 06:06 |
| → em-dash joined | 06:09 |
| ← madewokherd left | 06:11 |
| ← em-dash left | 06:12 |
| → em-dash joined | 06:13 |
| ← mmoya left | 06:14 |
| ← drogue left | 06:14 |
| ← spvensko left | 06:15 |
| → priidu joined | 06:17 |
| → tedoc2000 joined | 06:19 |
| ← nighthwk1 left | 06:20 |
| ← wolog left | 06:21 |
| ← obscurite left | 06:22 |
| ← jrmuizel left | 06:24 |
| ← Arafangion left | 06:28 |
|
yhager
| I would like to cherry-pick a few commits - can I see the diff they will create combined? | 06:28 |
|
bob2
| cherry-pick takes -n | 06:30 |
| ← RaceCondition left | 06:30 |
| ← pklingem2 left | 06:32 |
| mdel → mdel-away | 06:34 |
| ← niki left | 06:35 |
| ← harryxu left | 06:36 |
| → lresende joined | 06:36 |
| ← justinweiss left | 06:38 |
| ← agenteo left | 06:39 |
| ← johan-s left | 06:41 |
| ← tedoc2000 left | 06:42 |
| ← sudoer left | 06:42 |
| ← ankit9 left | 06:43 |
| → bambule joined | 06:49 |
| ← thomaz left | 06:49 |
| ← krawek left | 06:50 |
| cedric_ → cedricv | 06:51 |
| ← cedricv left | 06:51 |
| → cedricv joined | 06:51 |
| ← munichlinux left | 06:52 |
| ← AkumaStreak left | 06:55 |
| → Haarg joined | 06:56 |
| → loinclot_ joined | 06:58 |
| ← jessep left | 07:00 |
| → marc joined | 07:03 |
| ← numberGrey left | 07:03 |
| → schmukkk joined | 07:04 |
| → sudoer joined | 07:05 |
| → numberGrey joined | 07:07 |
| → jessep joined | 07:08 |
| ← project2501a left | 07:08 |
| → em-dash_ joined | 07:09 |
| ← em-dash left | 07:09 |
| em-dash_ → em-dash | 07:09 |
| ← bambule left | 07:10 |
| → oganso-- joined | 07:12 |
| ← jlilly left | 07:12 |
|
oganso--
| anyone familiar with easygit? | 07:13 |
| → ntoll joined | 07:13 |
|
sitaram
| (speaking for myself)) not lately... whats the question? | 07:13 |
| ← loincloth left | 07:14 |
| ← Adlai left | 07:14 |
| → sis joined | 07:15 |
|
oganso--
| sitaram: heck i cant do eg push but i can git push | 07:19 |
|
| eg just says that "Error: No recorded commits to show yet" | 07:19 |
|
| although git push bla bla works fine | 07:19 |
| → bwwww joined | 07:22 |
| → ph^_ joined | 07:25 |
|
sitaram
| hmm no too deep for me, but eg has an "explain" or "verbose" or some such mode where it shows what actual git commands are running; try it | 07:25 |
|
| (from vague memory) | 07:25 |
|
oganso--
| sitaram: oki :D | 07:26 |
| → bwwww_ joined | 07:27 |
| ← ideogon left | 07:27 |
| ← nadavoid left | 07:29 |
| ← sis left | 07:29 |
| ← __Joker left | 07:29 |
| → jumoit1 joined | 07:30 |
| ← mithro left | 07:30 |
| → jumoit2 joined | 07:30 |
| ← jumoit left | 07:30 |
| ← catofzen left | 07:32 |
| → munichlinux joined | 07:33 |
| → project2501a joined | 07:34 |
| ← dreiss left | 07:35 |
| ← laj left | 07:36 |
| ← ph^_ left | 07:36 |
| → Tordmor joined | 07:38 |
| ← jumoit2 left | 07:39 |
| → jumoit joined | 07:39 |
| ← onigiri_ left | 07:41 |
| ← priidu left | 07:42 |
| ← sudoer left | 07:43 |
| → thiago_home joined | 07:43 |
| ← bwwww left | 07:45 |
| bwwww_ → bwwww | 07:45 |
|
Mage_Dude
| I did some stupid stuff and pushed a horrible commit to my git server. Now I get fatal errors which seemed to result in dangling blobs. I'm not quite sure how to get myself out if it. | 07:46 |
| → j416 joined | 07:46 |
| ← jumoit left | 07:47 |
| ← jumoit1 left | 07:48 |
|
Ilari
| Mage_Dude: Dangling blobs aren't errors... And what fatal errors? | 07:48 |
|
Mage_Dude
| Bad tree object | 07:49 |
| → oganso joined | 07:49 |
|
Mage_Dude
| git upload-pack aborts due to repo corruption on remote side. | 07:49 |
|
oganso
| backzz | 07:49 |
|
Ilari
| Mage_Dude: What git versions on local and remote side? | 07:50 |
|
| Mage_Dude: (at least local side version)? | 07:50 |
|
Mage_Dude
| Weird. Looks like I have 1.6.3.3 locally and 1.6.0.4 on the remote | 07:51 |
| ← xlistener left | 07:52 |
|
Ilari
| Mage_Dude: Can you run 'git fsck --full | egrep -v "^dangling"' on remote side? | 07:52 |
|
Mage_Dude
| Does it matter if I upgrade first? Or at all? | 07:53 |
|
Ilari
| Mage_Dude: Shouldn't matter. | 07:53 |
| → martins joined | 07:54 |
| ← pinnacle left | 07:54 |
| → rseifert joined | 07:55 |
|
Mage_Dude
| Hmmm I'm using gitosis to manage the remote side. I can't directly access the repository it seems | 07:55 |
| ← Chillance left | 07:55 |
| → laj joined | 07:55 |
| → bentob0x joined | 07:56 |
| → d2dchat joined | 07:57 |
|
Mage_Dude
| Ilari: Is there any way to do it without direct access? | 07:57 |
| → chalkbag joined | 07:57 |
| → dreiss joined | 07:58 |
| ← oganso-- left | 07:58 |
| → ixti joined | 08:01 |
| ← warthog9 left | 08:06 |
| ← em-dash left | 08:11 |
| → ph^_ joined | 08:11 |
|
Ilari
| Mage_Dude: You have any grafts (.git/info/grafts) on local side? | 08:11 |
|
Mage_Dude
| I don't have an info directory? | 08:13 |
| ← sitaram left | 08:13 |
| → sitaram joined | 08:13 |
| → pantsman joined | 08:15 |
|
Ilari
| Mage_Dude: If you don't have info there, then there can't be grafts file... Maybe ask those who admin the repo hosting system for help? | 08:16 |
|
Mage_Dude
| Well crap. Since that's me, I guess I should just dump the repo and be more careful about what I commit | 08:17 |
| → wolog joined | 08:17 |
| → em-dash joined | 08:17 |
| ← bwwww left | 08:18 |
|
Ilari
| Mage_Dude: Those who admin it should be able to get shell on it. | 08:18 |
|
Mage_Dude
| Well, I only have an exclude inside the info directory | 08:20 |
|
Ilari
| Mage_Dude: Git can push broken commits in presence of grafts. Also Jgit pushing is somehow borked and sometimes pushes something totally broken. | 08:22 |
| ← mm_202 left | 08:22 |
| ← JasonWoof left | 08:22 |
|
Ilari
| Mage_Dude: Bad tree object? Anything else about that object? | 08:22 |
|
Mage_Dude
| Let's see: could not read, bad tree, waitpid failed, git upload-pack aborting due to possible remote corruption, error in sideband demultiplexer | 08:24 |
| ← bry left | 08:25 |
|
Ilari
| Mage_Dude: What's the exact could not read message? | 08:25 |
|
Mage_Dude
| error: Could not read 41cdf7e45e62facdd616c838a969c04b2d91d8ce | 08:26 |
| → drizzd joined | 08:26 |
| ← d2dchat left | 08:26 |
| → d0ugal joined | 08:26 |
|
Ilari
| Mage_Dude: Try 'git cat-file -t 41cdf7e45e62facdd616c838a969c04b2d91d8ce' on local side. | 08:27 |
| → d2dchat joined | 08:27 |
|
Mage_Dude
| tree? | 08:27 |
|
Ilari
| Mage_Dude: It should be tree. Just to check if it exists. | 08:28 |
| → Adlai joined | 08:32 |
| ← xenoterracide left | 08:35 |
| → xenoterracide joined | 08:35 |
| → yhager_ joined | 08:36 |
| marc → marc_kdab | 08:40 |
| ← JEEB left | 08:44 |
| → chrisr joined | 08:44 |
| → JEEB joined | 08:44 |
| → daaku joined | 08:44 |
| ← Twisted_Mentat left | 08:45 |
| → cilly joined | 08:46 |
| → warthog9 joined | 08:46 |
| ← jessep left | 08:47 |
| ← __bert__ left | 08:47 |
| → __bert__ joined | 08:47 |
| ← __bert__ left | 08:47 |
| ← dreiss left | 08:48 |
| → Axius joined | 08:48 |
| ← yhager left | 08:48 |
| ← Axius left | 08:49 |
| → JasonWoof joined | 08:50 |
| ← chalkbag left | 08:50 |
| ← tekky left | 08:51 |
| ← thiago_home left | 08:55 |
| → mmoya joined | 08:55 |
| → eletuchy joined | 08:56 |
| → ankit9 joined | 08:56 |
| → rhett joined | 08:57 |
| ← psankar left | 08:58 |
| → oganso- joined | 08:58 |
| → antonfh joined | 08:58 |
| → becomingGuru joined | 08:58 |
| ← squarism left | 08:59 |
| ← JEEB left | 09:00 |
|
antonfh
| Hello | 09:00 |
| VVSiz_ → VVSiz | 09:00 |
|
Ilari
| ... | 09:03 |
| ← r11t left | 09:04 |
| ← numberGrey left | 09:06 |
| m-takagi → m-takagi_ | 09:08 |
| ← oganso left | 09:11 |
| → shruggar joined | 09:12 |
| → Twisted_Mentat joined | 09:12 |
| → nadim joined | 09:13 |
| → anno^da joined | 09:13 |
|
antonfh
| any discussion on Git today | 09:14 |
| → psankar joined | 09:14 |
| → yhager joined | 09:15 |
| ← laj left | 09:17 |
| → OtherJakeSays joined | 09:18 |
|
wereHamster
| hm.. this is #git, what else would we be talking about here? | 09:18 |
| → gitte joined | 09:18 |
| ← lemonchicken left | 09:19 |
| → lemonchicken joined | 09:19 |
| ← pantsman left | 09:20 |
| → Scorchin joined | 09:21 |
| → tekky joined | 09:22 |
| → loincloth joined | 09:23 |
| → lucsky joined | 09:23 |
| ← JakeSays left | 09:25 |
|
Ilari
| Crazy idea: Configuration option which would cause upload-pack/receive-pack to redirect requests... | 09:26 |
| → tvw joined | 09:26 |
| → hummingkid joined | 09:28 |
| ← mmoya left | 09:28 |
|
Ilari
| And that would work with just valid configuration file without even having valid repository there. | 09:29 |
| ← yhager_ left | 09:30 |
| → aleksei joined | 09:31 |
|
aleksei
| If i created a branch off master, which tracks an svn trunk.. and now i need to merge that branch into master to later dcommit to svn. What's the safest way to do it? | 09:32 |
| → loinclo__ joined | 09:32 |
| ← loincloth left | 09:32 |
|
Ilari
| aleksei: Merges and SVN don't mix. | 09:33 |
|
wereHamster
| aleksei: git checkout master; git merge whatever-branch; (optionally, but recommended: git svn rebase); git svn dcommit | 09:33 |
| ← becomingGuru left | 09:33 |
| → becomingGuru joined | 09:33 |
| ← simNIX left | 09:34 |
|
aleksei
| actually master hasn't diverged at all from the branch.. so i suppose that won't cause many problems in svn | 09:34 |
| → Bryson joined | 09:34 |
| ← Bryson left | 09:34 |
| → priidu joined | 09:36 |
|
aleksei
| thanks wereHamster | 09:37 |
| ← loinclot_ left | 09:39 |
|
antonfh
| have simple Question ... is Git merely to log changes and change History .... when I have a remote master and my local and I commit changes and push it to the remote ... does it update the files on the remote ? in other word keep syncronised versions of my project locally and remote | 09:39 |
|
Ilari
| antonfh: Push does not update files in working copy. | 09:40 |
|
| antonfh: In fact, push (and fetch) completely ignores the working copy on both sides. | 09:40 |
|
thiago
| it doesn't update files | 09:40 |
|
antonfh
| ok so its not like I can work on my laptop ... track changes and do push and think my remote server will now have new files | 09:40 |
|
tetha
| how should that work, if your server's working copy might have changed? | 09:41 |
| ← ToxicFrog left | 09:41 |
| ← justin-george left | 09:42 |
|
antonfh
| I thought it does something like rsync and updates copies .... but I just set up my local as a clone ... maybe that is wrong ? | 09:42 |
| → squarism joined | 09:42 |
|
antonfh
| I thought the push and fetch would update the remote (with push) and the fetch would update the local with what ever files changed | 09:43 |
| ← aleksei left | 09:43 |
|
Ilari
| antonfh: $faq non-bare | 09:43 |
|
Gitbot
| antonfh: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare | 09:43 |
|
tetha
| I for myself usually put up 3 repos in such a situation | 09:43 |
| ← tvw left | 09:43 |
|
j416
| antonfh: read about the difference between workdir and repository | 09:43 |
|
antonfh
| ok thanks | 09:44 |
|
j416
| your workdir is in a sense just a temporary place to store files you are currently working on | 09:44 |
| → oganso joined | 09:44 |
|
j416
| when you want to "save" what you have done, you commit it to the repo. | 09:45 |
|
| then, the files in your workdir are useless, you can always check them out from the repo at any time | 09:45 |
|
| (except for any files you have ignored/not added) | 09:45 |
|
| s/useless/redundant/ | 09:46 |
|
| :) | 09:46 |
|
antonfh
| will have to get into that ... I've only started using Git on Monday ... so its not all transparent yet | 09:46 |
|
Ilari
| antonfh: AFAIK, the versions in current git master would refuse push to checked out branch by default. | 09:47 |
| → bauruine joined | 09:47 |
| ← em-dash left | 09:47 |
| ← countd left | 09:48 |
| ← hobodave left | 09:48 |
|
j416
| antonfh: the reason the workdir is not automatically updated on push, is that there may be changes - and there is no way to handle possible conflicts without human interaction. There are no humans on the remote side, just git. So it can't be sanely done. | 09:49 |
|
| (say the workdir files on the remote for some reason have changed - you couldn't just assume that those changes are irrelevant and delete them | 09:50 |
|
antonfh
| going to read up on the non-bare Wiki that was mentioned also ... ok so its not like you just simply have a update and push going to copy your local files to remote | 09:50 |
| → countd joined | 09:50 |
|
j416
| (although you can achieve this, using hooks, but there are other, better ways) | 09:50 |
| → globalkeith joined | 09:50 |
|
j416
| antonfh: your repo is pushed, not your workdir | 09:51 |
|
| s/repo/repo branch(es)/ even | 09:51 |
|
antonfh
| ... and out of curiosity what would those better ways be ? .... yes I think my mindset was it pushes files | 09:51 |
|
j416
| rsync for example | 09:51 |
|
antonfh
| lol ... ok so my hack was not that bad ... cause that is exactly what I did yesterday | 09:52 |
|
j416
| have a bare repo someplace | 09:52 |
|
| then get a fresh copy, and rsync that to where you are going to use it | 09:52 |
|
| (for example web server, which is what I'm imagining in this use-case) | 09:52 |
|
antonfh
| setup a rsync ... but then thought maybe Im doing this all wrong and completely miss the Git function | 09:52 |
| → intripoon joined | 09:52 |
|
j416
| if you are the only dev, it's easy to just rsync your repo to the server (for backup, or web serving) | 09:53 |
|
| (if web serving, you might want to ignore the .git dir in one way or another) | 09:53 |
|
antonfh
| yes my case now its mostly backup for now ... and getting confused with what I have updated and when and where | 09:53 |
|
j416
| using git push/fetch is more useful in collaboration | 09:54 |
|
| not so useful for simple backup | 09:54 |
|
| because you will lose things like your reflog | 09:54 |
|
| which can be good to have if you need to restore | 09:54 |
|
antonfh
| so Git is really helping me keep record of changes ... so the push as I have it will merely update my repo and have logs local and remote for me (but not files) | 09:54 |
| ← psankar left | 09:54 |
|
j416
| not logs | 09:55 |
|
| history of changes | 09:55 |
|
| from which you can generate logs, of course | 09:55 |
|
antonfh
| yes ... just wrong use of term ... meant history | 09:55 |
|
j416
| the data (files etc.) will of course also be pushed | 09:55 |
|
| that's the whole point. | 09:56 |
| ← oganso- left | 09:56 |
|
antonfh
| can 2 people create a repo in a folder ... like I created one in say /www/dev ...git init ... so any changes staged and commited is marked as my username/name ... what if someone else does work in same folder and they update changes ... how will it log it as "they" did it and not me when I go update and commit it (or "they" do) | 09:57 |
| ← Tricon left | 09:59 |
|
antonfh
| or will they basically create their own custom repo in that folder ... where the default is simply .git ... you need to create one for yourself like .antonfh and .otherdev etc | 10:00 |
| ← JasonWoof left | 10:01 |
| → gzy joined | 10:02 |
| ← ankit9 left | 10:03 |
| ← tetha left | 10:04 |
| → v0n joined | 10:04 |
| → tetha joined | 10:05 |
| → nitrate joined | 10:12 |
| → Sonderblade joined | 10:13 |
| → tbf joined | 10:16 |
| → Sky[x] joined | 10:16 |
| ← Twisted_Mentat left | 10:19 |
| ← cota left | 10:19 |
| → laj joined | 10:19 |
| ← globalkeith left | 10:20 |
| → Paraselene_ joined | 10:20 |
| ← Guest19622 left | 10:21 |
| → ToxicFrog joined | 10:21 |
| → NET||abuse joined | 10:23 |
| ← eletuchy left | 10:23 |
|
divVerent
| how can I find the fork-point between two branches like git-cherry does? | 10:24 |
|
teuf
| divVerent: git merge-base maybe | 10:25 |
| ← Scorchin left | 10:25 |
| → Scorchin joined | 10:26 |
|
divVerent
| looks good, in my case gives the exact output I want... | 10:26 |
|
| but when i merged from one branch into another multiple times | 10:27 |
|
| will it find the last merge? | 10:27 |
|
charon
| note that the merge-base may not be unique (git merge-base --all ...) | 10:27 |
|
divVerent
| I need the newest one :P | 10:27 |
|
| but well | 10:27 |
|
| CAN be it non-unique? | 10:27 |
|
| oh... and can I undo a merge by simply git-resetting to a commit before it? | 10:28 |
| → vbgunz joined | 10:29 |
|
charon
| divVerent: http://pastebin.com/m4e6c7618 what is the merge-base of M1 and M2? (X is a crossing, not a commit) | 10:29 |
| → name joined | 10:29 |
|
divVerent
| ah, okay | 10:30 |
|
charon
| as for the "newest" one: yes. read the definition in the manpage | 10:30 |
| → curtana joined | 10:30 |
|
divVerent
| that absolutely can't happen in my use case | 10:30 |
|
| "git-merge-base" finds as good a common ancestor as possible between the two commits. That is, given two commits A and B git-merge-base A B will output a commit which is reachable from both A and | 10:31 |
|
| B through the parent relationship. | 10:31 |
|
| there's no better definition here... | 10:31 |
|
charon
| man git-merge-base | 10:31 |
|
divVerent
| but well, "as good as possible" probably describes what I mean | 10:31 |
|
Gitbot
| charon: the git-merge-base manpage can be found at http://git.or.cz/man/git-merge-base | 10:31 |
|
charon
| "One common ancestor is better than another common ancestor if the latter is an ancestor of the former." | 10:31 |
|
| "A common ancestor that does not have any better common ancestor is a best common ancestor, i.e. a merge base." | 10:31 |
|
| there's your definition | 10:31 |
|
divVerent
| actually... to be more specific | 10:32 |
|
| I want the merge-base that is in a given branch | 10:32 |
|
| if there was a crossing | 10:32 |
|
charon
| umm | 10:33 |
|
divVerent
| just, is it recorded at all that, in the lower picture, 2 was once HEAD of the branch B? | 10:33 |
|
charon
| in my ascii art, both root commits (the "o") are "in" (i.e., ancestors of) M1 and M2 | 10:33 |
|
| no, a commit in git does not have an intrinsic branch membership | 10:33 |
|
divVerent
| okay | 10:33 |
| → killerchicken_ joined | 10:33 |
|
divVerent
| then I will just use git-merge-base as is | 10:33 |
|
| and assume that this case does not happen :P | 10:33 |
|
charon
| notably, it may be part of any number of branches at any given time, including none at all, and this number may (and usually will) change over the life of the commit | 10:34 |
|
divVerent
| I doubt anything will go wrong in my script anyway if using a "wrong" merge base | 10:34 |
|
| as it's still cosistent | 10:34 |
|
| there isn't a simple argument to git-log to specify the merge base? | 10:35 |
|
| like, a name like HEAD? | 10:35 |
| ← killerchicken left | 10:35 |
|
thiago
| git name-rev | 10:35 |
| → mbroeker joined | 10:36 |
|
charon
| divVerent: only in the A...B syntax | 10:36 |
|
| which means A B --not $(git merge-base --all A B) | 10:37 |
| ← curtana left | 10:37 |
| ← hummingkid left | 10:37 |
| → bizhat joined | 10:38 |
| ← mbroeker left | 10:39 |
|
divVerent
| if two commits have no merge base, I assume I get an error | 10:40 |
|
| (probably can only happen if something got messed up) | 10:41 |
| → esc joined | 10:41 |
|
charon
| actually, my copy of git.git has a dozen root commits | 10:41 |
| ← bizhat left | 10:41 |
|
charon
| you'll get a nonzero exit status and no output | 10:42 |
|
wereHamster
| antonfh: it's better if the two users log in using different accounts, and set up their username in ~/.gitconfig | 10:42 |
|
esc
| hi, i would like to store the SHA of the HEAD in an environment variable | 10:42 |
|
| sofar i came up with: | 10:42 |
|
| SHA=$( git --no-pager log --pretty=format:%H HEAD^..HEAD ) | 10:42 |
|
| any better way? | 10:42 |
|
wereHamster
| esc: git rev-parse HEAD | 10:42 |
| → bizhat joined | 10:42 |
| ← Kelly_zhou left | 10:42 |
|
esc
| wereHamster: just what i was looking for :-) | 10:42 |
| → hummingkid joined | 10:44 |
| ← bizhat left | 10:44 |
| → oganso-- joined | 10:45 |
|
divVerent
| yeah, this works now... except that I just noticed I want to be able to revert even commits from before the merge base, so my script has to parse more anyway | 10:46 |
| → nick_ joined | 10:46 |
| nick_ → Guest24316 | 10:46 |
|
charon
| divVerent: just for the record, i question your motives. why would you have to mass revert commits all the time? | 10:47 |
|
Guest24316
| hello | 10:47 |
|
| i jsut tried to run "git revert HEAD " | 10:47 |
|
| and got "fatal: Dirty index: cannot revert " | 10:47 |
|
divVerent
| no, not mass | 10:47 |
|
| managing a stable tree | 10:47 |
|
Guest24316
| Can anyone help me how to fix this? | 10:47 |
|
divVerent
| and I may want to undo a decisionm to accept a previous commit | 10:48 |
|
| EVEN if that commit was from before I started making the stable tree | 10:48 |
| → balint joined | 10:48 |
|
divVerent
| but well | 10:48 |
|
| I don't think I will ever NEED that | 10:48 |
|
| just want to be able to track it correctly in case I need to | 10:48 |
|
wereHamster
| Guest24316: you probably have uncommited changes in your index | 10:49 |
|
| Guest24316: also, are you sure that 'git revert' is what you want? | 10:49 |
|
Guest24316
| yes | 10:49 |
| ← squarism left | 10:49 |
| → squarism joined | 10:49 |
|
Guest24316
| as i have to many conflicts and no real work worth keeping | 10:49 |
|
wereHamster
| Guest24316: so you have already pushed HEAD to a public repo, correct? | 10:50 |
|
Guest24316
| i just want to revert my previous commit | 10:50 |
| → eletuchy joined | 10:50 |
|
Guest24316
| and found i need to run git revert HEAD | 10:50 |
|
| is there another way? | 10:50 |
|
wereHamster
| if you haven't pushed HEAD yet there is no reason to use git revert | 10:50 |
|
| you can just reset HEAD~1 and be done | 10:50 |
|
Guest24316
| what does that do? | 10:50 |
|
wereHamster
| (or reset --hard, depending on whether you want to destroy changes in your working tree as well or not) | 10:51 |
|
Guest24316
| so run | 10:51 |
|
| "reset --hard" | 10:51 |
|
| and it does what? | 10:51 |
|
wereHamster
| Guest24316: man git-reset | 10:51 |
|
Gitbot
| Guest24316: the git-reset manpage can be found at http://git.or.cz/man/git-reset | 10:51 |
|
wereHamster
| Guest24316: also read the synopsis of man git-revert ! | 10:53 |
|
Gitbot
| Guest24316: the git-revert manpage can be found at http://git.or.cz/man/git-revert | 10:53 |
| → d0k joined | 10:55 |
| → loincloth joined | 10:58 |
| ← oganso left | 10:58 |
| ← ph^_ left | 10:59 |
| → nonken joined | 11:00 |
| → ph^_ joined | 11:01 |
|
esc
| is there an easy way to see if a file has changed between revisions? | 11:06 |
|
| i am using: | 11:06 |
|
| TRUTH=$( git --no-pager log --pretty=format:%H --diff-filter=M HEAD^..HEAD -- file) | 11:06 |
| → jelmer joined | 11:06 |
| → gma joined | 11:08 |
| ← gma left | 11:08 |
| → gma joined | 11:09 |
| ← Theravadan left | 11:11 |
| ← loinclo__ left | 11:14 |
| ← jinzhu left | 11:15 |
| ← Guest24316 left | 11:15 |
| → desmond joined | 11:20 |
|
desmond
| Can someone help me. I have a file that wants to be checked in but i have /logs/* listed in my gitignore how can i remove it from list of files that wants to be checked in | 11:21 |
|
| modified: log/frontend_dev.log | 11:21 |
|
| any help? | 11:21 |
| ← stepnem left | 11:22 |
|
pasky
| hmm | 11:23 |
|
| UPC just terminated the agreement to host repo.or.cz | 11:23 |
| → stepnem joined | 11:24 |
| ← desmond left | 11:25 |
| ← chrisr left | 11:29 |
| emmanueloga → emmanuel_oga | 11:31 |
| emmanuel_oga → emmanuel__oga | 11:32 |
|
wereHamster
| deavid: tracked files are not aftected by gitignore | 11:32 |
|
deavid
| ? | 11:33 |
| → struberg joined | 11:33 |
|
wereHamster
| er, sorry | 11:33 |
| ← eletuchy left | 11:33 |
|
wereHamster
| desmond already left -.- | 11:33 |
|
| pasky: why? Did they state a reason? | 11:33 |
| emmanuel__oga → emmanuel___oga | 11:34 |
| emmanuel___oga → emmanueloga | 11:34 |
|
pasky
| wereHamster: they probably want to clean up the server room and the server there originally had a different purpose | 11:38 |
| → Pupeno joined | 11:38 |
| → CVertex joined | 11:42 |
| ← CVertex left | 11:42 |
| ← Sky[x] left | 11:44 |
| → psoo joined | 11:44 |
| → Sky[x] joined | 11:46 |
| ← loincloth left | 11:48 |
| dwmw2_gone → dwmw2 | 11:48 |
| → loincloth joined | 11:48 |
| → bizhat joined | 11:49 |
| ← bizhat left | 11:50 |
| nonken → nonken_afk | 11:51 |
| nonken_afk → nonken | 11:51 |
| → jord joined | 11:51 |
| → smuf joined | 11:52 |
| ← jord left | 11:52 |
| → chrisr joined | 11:54 |
| ← ndim left | 11:55 |
| ← Sky[x] left | 11:57 |
|
divVerent
| just doing mad stuff... checking out a 2GB repository through git-cvsserver :P | 11:57 |
|
| seems insanely fast, both compared to cvs and svn | 11:57 |
| ← ph^_ left | 11:58 |
|
divVerent
| 4.5MB/sec | 11:58 |
|
| but let me guess - it also has the same DISadvantages as cvs, like, if someone pushes during the checkout, the user gets an inconsistent copy | 11:58 |
| → capndiesel joined | 11:59 |
|
_Vi
| divVerent, The manual says it don't support all "commands and options". | 11:59 |
| ← David-T left | 11:59 |
|
divVerent
| sure | 11:59 |
|
| I am just trying it "because I can" | 11:59 |
| → ph^_ joined | 11:59 |
|
divVerent
| and if I am going to use it at all, it'll be for read-only access | 11:59 |
|
| actually... I do see one good use case for it | 11:59 |
|
| for a read-only repository e.g. on a game server | 12:00 |
|
_Vi
| divVerent, Try to push something while you "checking out with 4.5 mbps". | 12:00 |
|
divVerent
| as cvs does not store history or (like svn) copies locally | 12:00 |
|
| it would take much less HDD space | 12:00 |
| → Ryback_ joined | 12:00 |
|
divVerent
| makes qutie a difference if the game data takes up 2GB or 4GB on your dedicated server :P | 12:00 |
|
_Vi
| divVerent, Binary files in the repository? | 12:00 |
|
divVerent
| yes | 12:00 |
|
| all files of the game are in there | 12:01 |
|
_Vi
| divVerent, Anti-pattern. | 12:01 |
|
divVerent
| why? | 12:01 |
|
| they need versioning too | 12:01 |
|
| like, "when did this file change" and stuff | 12:01 |
|
| what's the alternative? :P | 12:01 |
|
| (talking about model files, textures, NOT program binaries) | 12:01 |
|
_Vi
| divVerent, Better source text files that generates your binary (unless it is something like "photo taken by camera / downloaded from internet"). | 12:02 |
|
divVerent
| _Vi: sure, if we can, we do that | 12:02 |
|
| but that's not possible for e.g. music | 12:02 |
|
| or textures made e.g. in photoshop or gimp | 12:02 |
| ← squarism left | 12:02 |
|
_Vi
| divVerent, At least may be the code and such big blobs should not be in the same repository. | 12:02 |
|
divVerent
| but the code depends on the big blobs | 12:02 |
|
| like, often code changes and media changes go along with each other | 12:03 |
|
| and hell would freeze over if changed independently | 12:03 |
|
| like, if you change the name of a tag on a weapon model | 12:03 |
|
| or if a new weapon is added, the data files for it need to be immediately there too | 12:03 |
| ← mdel-away left | 12:03 |
|
_Vi
| divVerent, I think games should be fault-tolerant against deleting it's data files. E.g. if no texture then render the level without this texture. No movie => skip this movie. | 12:04 |
|
divVerent
| of course this would happen | 12:04 |
|
| with hell freezing over I mean behaviour that would be reported as bug by users/artists | 12:04 |
|
| like, muzzle flashed attached at the wrong position of the gun (due to tag name change) | 12:05 |
|
| it wouldn't lead to crashes | 12:05 |
|
| just to wrong behaviour | 12:05 |
|
_Vi
| divVerent, So any can make minor code changes (supposing it's FOSS project) without downloading big repository and using data files he already has. | 12:05 |
|
divVerent
| it is FOSS | 12:05 |
|
| but well | 12:05 |
|
| the code is really not compatible with the data of the previous release | 12:06 |
|
| or rather, if you do that, you get all sorts of missing texture replacement images and such stuff | 12:06 |
|
| and colorful diamonds for missing models | 12:06 |
|
_Vi
| divVerent, Data packs should be versioned. Of course you can't use very outdated data pack. | 12:06 |
|
divVerent
| well | 12:06 |
|
| we release about twice a year | 12:06 |
|
| but there is LOTS of development and changes between releases | 12:07 |
|
_Vi
| divVerent, Early stage of development? | 12:07 |
|
divVerent
| no | 12:07 |
|
| call it active development | 12:07 |
|
| many people with many ideas | 12:07 |
|
cbreak
| git does not die when you feed it binary | 12:07 |
|
divVerent
| suree | 12:07 |
|
| it works fine for me | 12:07 |
|
| and even now, the git clone'd repository is smaller than the svn checkout'd one | 12:08 |
| → Zephyrus joined | 12:08 |
|
_Vi
| divVerent, You also may use "git submodules". | 12:08 |
|
divVerent
| now that could be more useful | 12:08 |
|
_Vi
| divVerent, 1. Code checkout will know what data pack to use (it will have pointer to commit-id). | 12:08 |
|
| divVerent, 2. You may automatically checkout and update the code and data packs (with all histories for both). | 12:08 |
| → mithro joined | 12:08 |
|
divVerent
| that may be useful, but the directory structure of the game is really not fit for that | 12:09 |
|
| e.g. art files are in multiple subdirs | 12:09 |
|
_Vi
| divVerent, 3. With some little quirks, you may keep code with all history, but data packs without history and updated no so frequent. | 12:09 |
|
divVerent
| like textures, models, sounds | 12:09 |
| ← gma left | 12:09 |
|
divVerent
| and code is in one subdir called "qcsrc", but depends on .cfg files in the main directory | 12:09 |
|
cbreak
| symlinks? | 12:10 |
|
divVerent
| I like being able to start the game directlry from a checkout, without having to e.g. create a pack | 12:10 |
|
| windows users | 12:10 |
| ← upul left | 12:10 |
|
_Vi
| divVerent, Main directory is git repository, "sounds", "models" are subrepositories. | 12:10 |
|
divVerent
| sure | 12:10 |
|
| I just mean | 12:10 |
|
| we'd need one subrepository for each type of content | 12:10 |
|
| that would work then | 12:10 |
|
| but probably get out of hand | 12:10 |
|
_Vi
| divVerent, >"windows users" I wanted to offer using of symlinks... | 12:10 |
|
divVerent
| _Vi: sure, but symlinks do not work on windows | 12:11 |
|
cbreak
| windows does have links | 12:11 |
|
divVerent
| of directories, not of files | 12:11 |
|
cbreak
| I never got them to work though | 12:11 |
|
_Vi
| divVerent, You also may reorganize and create something like "data" and "src" directories. Big blobs in "data", textual and little things in "src". | 12:11 |
|
divVerent
| _Vi: that would be really huge changes to the project | 12:11 |
|
_Vi
| cbreak, NTFS symlinks are only for directories. And you can't copy it well. | 12:11 |
|
divVerent
| if we want it to still be able to run directly from a checkout | 12:11 |
| → jollyroger_ joined | 12:12 |
|
divVerent
| sure, one could restructure the repository like that, and provide a simple .sh file that creates symlinks to merge the trees correctly | 12:12 |
|
| just, that won't help on windows | 12:12 |
|
_Vi
| divVerent, It will be "git clone .....; cd ...; git submodule update --init; make&&run". | 12:12 |
|
cbreak
| you would have to change your loader method to consider data as root and not . | 12:12 |
|
divVerent
| _Vi: I just don't want "make" to copy the cfg files | 12:12 |
|
| wqe have users who'd change the copies, and not the originals, then :P | 12:12 |
|
cbreak
| git can manage symlinks I think | 12:13 |
|
divVerent
| even on windows? | 12:13 |
|
cbreak
| as long as you're on an OS that has them | 12:13 |
|
_Vi
| divVerent, Cygwin/Git or msysgit? | 12:13 |
|
divVerent
| well, the quakec source can even easily be moved out... the game reads no file of that | 12:13 |
|
cbreak
| (-> any OS besides windows I guess :) | 12:13 |
|
divVerent
| making "data" the root would be fine | 12:13 |
|
| _Vi: and how to make the GAME recognize the symlinks? :P | 12:13 |
|
_Vi
| divVerent, Cygwin/git creates cygwin symlinks that work with cygwin. | 12:13 |
|
divVerent
| but the game does not work with cygwinb | 12:13 |
| → stamina_ joined | 12:14 |
|
divVerent
| it's compiled with mingw | 12:14 |
|
| and it's absolutely not desired to make it depend on cygwin1.dll | 12:14 |
|
_Vi
| divVerent, (in the game) 1. Try to use a file. 2. If fails, read the singe line in file, open the file with name we just read. | 12:14 |
| ← tekky left | 12:15 |
|
divVerent
| there comes the security issue :P | 12:15 |
| → tek joined | 12:15 |
|
divVerent
| the game FS code refuses to access anything outside the data root | 12:15 |
|
_Vi
| divVerent, Also, cygwin's symlinks are actually Windows shortcuts. | 12:15 |
|
divVerent
| now THAT is good to know | 12:15 |
|
| the game FS code allows symlinks in zip files actually | 12:15 |
|
| but these then only reqwrite the path relative to the root | 12:15 |
| → ehabkost joined | 12:15 |
|
divVerent
| and don'T allow stuff like .. in them | 12:15 |
|
| so the "data" directory can't be left by that | 12:15 |
|
| well, one workaround would be putting the configs and other small text files to the QC source | 12:16 |
|
_Vi
| divVerent, May be configuration and media files should kept separate? | 12:16 |
|
divVerent
| and make the "make" command create a pk3 in the data directory with them | 12:16 |
|
| nobody would open that pk3 and edit the configs there | 12:16 |
|
_Vi
| divVerent, E.g. configuration it user directory, media in system directory. | 12:16 |
|
cbreak
| nobody? :) | 12:16 |
|
divVerent
| there's two types of configuration | 12:16 |
|
| user configuration already is in the user dir | 12:16 |
|
| but there are also cfg files to CREATE the configurable variables for the user config | 12:17 |
|
| and that give them defaults and descriptions | 12:17 |
|
_Vi
| divVerent, In Quake3 there's packs with both media and configs. User can repack them if it wants. | 12:17 |
|
divVerent
| sure, user can | 12:17 |
|
| still, some of the config values are media dependent | 12:17 |
|
| most are code dependent though | 12:17 |
| → mmw joined | 12:17 |
|
_Vi
| divVerent, By using packed files you can not bother with filesystem issues. | 12:17 |
|
divVerent
| sure | 12:18 |
|
_Vi
| divVerent, Default configs should be kept with code, not with media. | 12:18 |
|
divVerent
| but I don't want to repack everything just to try out one little change | 12:18 |
|
| creating that pk3 takes quite a while | 12:18 |
|
| _Vi: not possible in the quake engine | 12:18 |
|
| configuration variables can only be created with config commands like "set" and "seta" | 12:18 |
|
_Vi
| divVerent, Create two packs: first for media, second for configs. Copy configs pack into proper place. | 12:18 |
|
divVerent
| but not with code | 12:18 |
|
| or rather, code CAN create them, but only once executed | 12:19 |
|
| as long as the menu is shown, the server code is not run yet | 12:19 |
|
| and on a dedicated server, the menu code never runs | 12:19 |
|
| _Vi: sure, that would work | 12:19 |
|
| just see no advantage to keeping it all in one repository | 12:19 |
|
| separately checked out code is useless | 12:19 |
|
_Vi
| divVerent, BTW "recreate configs if deleted" may be good approach. It will allow users to fix broken configs easily. | 12:20 |
|
divVerent
| as it needs to match media exactly | 12:20 |
|
| or funny bugs happen | 12:20 |
|
| actually | 12:20 |
|
| exactly is saying too much | 12:20 |
|
jollyroger_
| hey guys, i have a problem with git and my ssh-keys: i have two git-hub accounts: one for me and one at the company i am working for. | 12:20 |
|
| the problem: on a "git push origin master" i get: ERROR: Permission to my_company/repo denied to my_private_username | 12:20 |
|
divVerent
| but we often enough ALREADY get bug reports from people doing "svn update" only in the code directory | 12:20 |
| ← nitrate left | 12:21 |
|
jollyroger_
| apparently git is mixing it all up because it is trying to connect to the "my_company"-github account with "my_private_username" | 12:21 |
|
_Vi
| divVerent, >"or funny bugs happen" Bugs of discrepancy between code and media should be easy and noticable. Like message "I can't find textures/qqq.texture". | 12:21 |
|
divVerent
| _Vi: even then, first startup would miss some variables until the first game is started | 12:21 |
|
| _Vi: we have these messages | 12:21 |
|
jollyroger_
| but I just dont see why, here is my (short) ssh-config: http://pastie.org/768683 | 12:21 |
|
divVerent
| they are red and yellow | 12:21 |
|
| nobody notices them | 12:21 |
|
| mostly because crappy mappers of custom maps, or people who just take a quake3 map pk3 that references quake3 media and publish that as map for our game, cause lots of these messages to ALREADY appear on most servers | 12:22 |
|
_Vi
| divVerent, If the game don't start, user looks at the message. Quake3, for example, repeats the main error message in blinking style at the bottom. | 12:23 |
|
divVerent
| if it does nto start at all, sure noticed | 12:23 |
| ← niki_work left | 12:23 |
|
divVerent
| but if it causes more subtle errors, like walls appearing in white instead of the right texture, or models missing and appearing as colorful diamond | 12:23 |
|
_Vi
| divVerent, And users that use repository checkout should expect that the game may just not run and be prepared to problems. | 12:23 |
|
divVerent
| _Vi: sure | 12:23 |
|
| we just ALREADY have a high "user error" rate in bug reports | 12:23 |
|
_Vi
| divVerent, Change the default texture from "plain white" to "tiled text with colourful error message" | 12:24 |
|
divVerent
| so I'd rather like to ensure 100% that the whole game stuff is consistent | 12:24 |
|
| even if it often doesn't need to be | 12:24 |
|
| but still, submodules may work for that | 12:24 |
| → segher joined | 12:25 |
| ← SockPants left | 12:25 |
|
_Vi
| divVerent, Just require users to run additional command (like "git submodule update"). | 12:25 |
|
divVerent
| and when committing/pushing | 12:25 |
|
| what if I e.g. add a texture, and make code use it at the same time | 12:26 |
|
_Vi
| divVerent, While compilation you may also add check if the submodule is checked out correctly and up to date and show big fat warning if it isn't. | 12:26 |
|
divVerent
| and want to prevent that anyone gets the new code without the texture | 12:26 |
|
| "checkout the commit specified in the index of the containing repository" | 12:26 |
|
| basically, my question is | 12:26 |
|
| how to set that commit | 12:26 |
|
_Vi
| divVerent, s/prevent/provide good warning/ | 12:26 |
|
| divVerent, Do you know how to work with Git submodules? | 12:27 |
|
divVerent
| not yet | 12:27 |
|
| just have the manpage | 12:27 |
|
_Vi
| divVerent, Main repository stores: 1. Commit SHA1 of submodule, 2. URL to know where to download it. | 12:27 |
| nonken → nonken_afk | 12:28 |
|
divVerent
| right | 12:28 |
|
| git submodule add creates 2 | 12:28 |
|
| how to edit 1? | 12:28 |
|
_Vi
| divVerent, When you add some new model to the data pack, you 1. Add it to submodule, 2. Commit it, 3. Update commit-id in the main repo. | 12:28 |
|
divVerent
| right | 12:28 |
|
_Vi
| divVerent, Something like "git add path/to/submodule" | 12:28 |
|
| divVerent, It will substitute one SHA-1 for another. | 12:28 |
|
divVerent
| ah, okay | 12:29 |
|
_Vi
| divVerent, So you may keep the code and data in sync. (not not forced to to that). | 12:29 |
|
divVerent
| so git add submodulepath updates the commit hash to the one currently checked out in the submodule directory | 12:29 |
| → niki_work joined | 12:29 |
| → nitrate joined | 12:30 |
|
_Vi
| divVerent, Also (as users may easily skip submodule update) you should change makefile to check if everything's OK and show bug warning with instructions how to update the submodule. | 12:30 |
|
divVerent
| sure | 12:30 |
|
_Vi
| divVerent, (Yes, you may use "git" commands in makefiles) | 12:30 |
|
divVerent
| of course | 12:30 |
|
| can e.g. make a "make update" command for our svn users | 12:30 |
|
cbreak
| submodules seem to create lots of detached heads for me | 12:30 |
|
divVerent
| that does git pull, git submodule update | 12:30 |
| → tstclair joined | 12:30 |
|
cbreak
| so I am not sure how well that works with people who want to commit things | 12:30 |
|
| if you commit something to a detached head, you'll lose it sooner or later | 12:31 |
| ← niki_work left | 12:31 |
| → bjornbjorn joined | 12:32 |
| → __bert__ joined | 12:32 |
|
_Vi
| divVerent, Yes, committers need to be careful. They need more commands to execute. | 12:32 |
| ← martins left | 12:32 |
|
_Vi
| (going offline) | 12:32 |
|
divVerent
| not sure if I want that though | 12:32 |
|
| but well | 12:32 |
|
| the only files that are in the svn as "regeneratable binaries", the usual antipattern, are the bsp files of the maps | 12:32 |
|
| I hate doing that | 12:32 |
|
| but, recompiling them takes a day per map | 12:32 |
| → Geralt joined | 12:33 |
|
bjornbjorn
| I'm trying to fetch a sub folder from a git repo .. tried doing a clone but it tells me it's not a git archive | 12:33 |
| ← _Vi left | 12:33 |
| ← balint left | 12:33 |
|
broonie
| bjornbjorn: You can only fetch the full repository. | 12:33 |
| nonken_afk → nonken | 12:35 |
|
divVerent
| hehe, exactly the problem why submodules would be better if possible | 12:35 |
|
bjornbjorn
| broonie: ok, so here's the issue .. I have a CMS which has a folder called /third_party/ which contains addons. I want to fetch from the git repo into that directory, but for it to work I need to retrieve a subfolder .. also, developing directly there is handy since I don't need to run a script everytime I want to test my addon .. I'm used to SVN where I'd just checkout the subfolder and bob would be my uncle you see | 12:35 |
|
broonie
| You probably want to use submodules here. | 12:35 |
| → kmartiin joined | 12:36 |
|
bjornbjorn
| *checking* | 12:36 |
|
killerchicken_
| bjornbjorn: what you want is narrow clone support, but that's not there yet | 12:36 |
|
divVerent
| LOL, just had to think of a funny way to abuse svn externals... as TAGS :P | 12:36 |
|
| of course, git doesn't need that, as it has real tags | 12:37 |
| → niki joined | 12:37 |
|
bjornbjorn
| k, thanks for the input guys | 12:37 |
| → RaceCondition joined | 12:39 |
| → schierbeck joined | 12:40 |
| ← RobertLaptop left | 12:40 |
| → Axius joined | 12:40 |
| → bibinou joined | 12:40 |
| ← Axius left | 12:41 |
| → ndim joined | 12:41 |
| → djszapi_ joined | 12:42 |
| ← djszapi_ left | 12:42 |
| → kamen joined | 12:42 |
|
kamen
| How can I rewrite the whole git tree in that regard to delete the trailing whitespaces from the lines of files ? | 12:43 |
| → wallunit joined | 12:43 |
|
kamen
| I assume I should use git filter-branch for it, but how ? | 12:43 |
|
wallunit
| I am writing a merge driver for git and have a question. Is it possible to call the builtin merge driver "text" if my custom merge driver is not able to handle the merge? | 12:44 |
| ← mmw left | 12:44 |
| ← tek left | 12:44 |
|
divVerent
| possibly by calling git mergetool program again? | 12:44 |
| → tekky joined | 12:44 |
|
divVerent
| oh wait, sorry | 12:45 |
|
kamen
| It causes for me problem because if I clone a git tree and I checkout an earlier version I see some files that contain modifications. | 12:45 |
|
wallunit
| not merge tool. I am talking about merge drivers | 12:45 |
| → [Po]lentino joined | 12:45 |
| → artagnon joined | 12:45 |
|
divVerent
| yes, just noticed these are different | 12:45 |
|
kamen
| and When I look at for the modifications I see trailing whitespaces those make the differences. | 12:45 |
|
| so I don't know exactly how to solve this situation. | 12:46 |
| ← kmartiin left | 12:46 |
|
vmiklos
| kamen: use --tree-filter | 12:46 |
|
cbreak
| write a script that removes them from the whole working directory | 12:46 |
|
| and put that script into a tree-filter | 12:46 |
|
vmiklos
| yep :) | 12:46 |
|
artagnon
| Does Git ever plan to become platform-independent? I just glanced at the source: there are a bunch of shell scripts. | 12:46 |
| ← NET||abuse left | 12:47 |
|
kamen
| hm, weird. | 12:47 |
|
vmiklos
| shell scripts can be portable, so that's not an issue. | 12:47 |
|
divVerent
| which platform doesn't support them? | 12:47 |
|
kamen
| Okay, I will follow your suggestions, but it's interesting definitely. | 12:47 |
|
| so How can it be if I do a checkout for earlier version some modifications occur in the working tree. | 12:47 |
|
artagnon
| vmiklos: Oh, I see. What about references to things like /dev/null? | 12:47 |
|
kamen
| I wait that operation I can change among any versions. | 12:48 |
| → NET||abuse joined | 12:48 |
|
artagnon
| divVerent: Any non-POSIX platforms? | 12:48 |
|
divVerent
| artagnon: sure, which? | 12:48 |
| ← Paraselene_ left | 12:48 |
|
divVerent
| there are sh.exe for windows that support /dev/null internally, I think | 12:48 |
|
kamen
| but If some modifications occur for it, I can't checkout other version because of the dirty git tree. | 12:48 |
|
artagnon
| divVerent: I see. | 12:49 |
|
divVerent
| but even if not - then one should simply make that part in git platform independent | 12:49 |
| ← marc_kdab left | 12:49 |
|
divVerent
| by using a OS distinction to use the right null device | 12:49 |
|
artagnon
| divVerent: What's blocking a native Windows implementation then? Unless I'm mistaken, it needs a POSIX-like emulator on Windows. | 12:50 |
|
kamen
| is it an expected behaviour of it or do I dod something wrong ? | 12:50 |
|
divVerent
| basically, git expects a posix environment, but this should work with msys just fine | 12:50 |
|
| without all the cygwin layer stuff | 12:50 |
| → BigMack83 joined | 12:50 |
|
divVerent
| artagnon: there is none? | 12:50 |
|
| maybe the networking :P | 12:50 |
|
| artagnon looks | 12:50 |
|
divVerent
| that differs between windows and unix | 12:50 |
|
| of course | 12:50 |
| → parasti joined | 12:50 |
|
divVerent
| the other reason could be, "cygwin1.dll works, and you can simply take all the other required programs from cygwin" | 12:51 |
| ← tehbaut left | 12:51 |
|
artagnon
| Hm. Yes. | 12:51 |
|
divVerent
| http://en.kioskea.net/faq/sujet-499-git-for-windows | 12:51 |
| → tehbaut joined | 12:51 |
| → malumalu joined | 12:51 |
|
divVerent
| actually, this is a windows native build :P | 12:51 |
|
charon
| artagnon: if you really want to help speed up "more native" implementations, google for libgit2 and contribute code there | 12:52 |
|
| or just help with msysgit, they also chronically lack developers | 12:52 |
|
artagnon
| charon: Ah, thanks for the pointer! | 12:52 |
|
divVerent
| msysgit should be "almost like native" in the operations that already use an executable | 12:52 |
|
| and probably still slow in the shell script stuff | 12:53 |
|
artagnon
| I'm not particularly interested in porting it quite frankly. I'll need a Windows VM to port it... which itself is a big turn off | 12:53 |
| nonken → nonken_afk | 12:53 |
| ← gdaa left | 12:53 |
| → gdaa joined | 12:53 |
|
artagnon
| Again, thanks for the information. I'll get back to writing some "janitor code" to get started. | 12:54 |
| ← pielgrzym left | 12:55 |
|
kamen
| is it an expected behaviour of it or do I dod something wrong ? | 12:55 |
| → pielgrzym joined | 12:55 |
|
kamen
| I expect that if I checkout another version from the tree then I shouldn't get modifications in some file. | 12:55 |
|
| or do I think wrong ? | 12:56 |
|
esc
| does anyone know of a git-tutorial in german language? | 12:56 |
|
artagnon
| Also, is there some issue tracker for Git where I can pick up small bugs to fix? Some warm-up stuff? | 12:56 |
|
| I saw the TODO branch, but it's not very useful. | 12:56 |
|
divVerent
| just checking other alternatives for this... there is git clone --depth 1 to get a "shallow clone" | 13:00 |
|
charon
| lurk on the list for a week or on IRC for a few hours ;) | 13:00 |
|
divVerent
| this is all nice, but when I "git pull" inside it | 13:01 |
| ← Geralt left | 13:01 |
|
divVerent
| can I later truncate it to be a shallow clone again? | 13:01 |
| ← j416 left | 13:02 |
| ← anno^da left | 13:02 |
| → hendry joined | 13:02 |
|
hendry
| i like using `git diff --color-words --no-index orig.txt /tmp/edited.txt`, though I need to show this output to someone without a terminal. | 13:03 |
|
| does anyone know how to convert colour escaped terminal output to coloured HTML? | 13:03 |
| → johan-s joined | 13:04 |
| → maleknet joined | 13:05 |
|
artagnon
| divVerent: See http://git.or.cz/gitwiki/SoC2009Ideas#Lazyclone.2BAC8remotealternates | 13:05 |
|
| divVerent: ... and finally this ofcourse: http://git.or.cz/gitwiki/SoC2009Ideas#narrowclone | 13:06 |
| ← wallunit left | 13:06 |
| → Geralt joined | 13:07 |
|
divVerent
| do yes | 13:07 |
|
| already followed the link to that | 13:07 |
|
| don't worry... I don't TOTALLY like the idea of using git-cvsserver for read-only repository copies yet :P | 13:08 |
| ← dennda left | 13:08 |
|
divVerent
| because, I use a quilt patch set inside that, and sometimes quilt messes up and I have to "svn revert" | 13:08 |
|
| i.e. git reset --hard | 13:08 |
| → ankit9 joined | 13:09 |
| → wallunit joined | 13:10 |
| ← tstclair left | 13:11 |
|
divVerent
| yes, narrowclone would be exactly what I need | 13:13 |
| → jmpc joined | 13:13 |
| ← malumalu left | 13:13 |
|
artagnon
| Hm. It'll probably come up as an SoC '10 project again | 13:13 |
| ← jmpc left | 13:16 |
|
divVerent
| how well does tortoisegit work? | 13:17 |
|
| I don't have windows so I can't try | 13:17 |
| ← Geralt left | 13:17 |
|
divVerent
| is anyone here using it? | 13:18 |
|
killerchicken_
| hendry: HTML::FromANSI (perl module) might help? | 13:18 |
| ← hummingkid left | 13:20 |
| → hummingkid joined | 13:20 |
| → tstclair joined | 13:21 |
|
hendry
| killerchicken_: thanks, will look into it | 13:21 |
| → remi joined | 13:22 |
| ← catalis left | 13:22 |
| → kmartiin joined | 13:23 |
| → girishr joined | 13:23 |
| ← ankit9 left | 13:23 |
| → LiamH joined | 13:26 |
| → Guest12364 joined | 13:26 |
| → auslander joined | 13:26 |
| → akahn joined | 13:27 |
| Guest12364 → Laraaa | 13:27 |
| → gambler joined | 13:28 |
| → tek joined | 13:28 |
| ← tekky left | 13:28 |
|
| Laraaa hi? | 13:30 |
| ← Laraaa left | 13:32 |
| → kraymer joined | 13:32 |
|
divVerent
| ah, finally found an apparent bug in git-cvsserver | 13:32 |
|
| cvs update -dPC (cvs equivalent to git reset --hard) downloads every single file | 13:33 |
| → rgr joined | 13:33 |
| ← hummingkid left | 13:33 |
|
divVerent
| it SHOULD know better, as cvs shows the only modified files as "M" in cvs update | 13:33 |
|
| and deleting these and cvs update yields the result I want | 13:33 |
| → jlilly joined | 13:33 |
|
divVerent
| well, not surprised | 13:33 |
|
| given what an ugly hack git-cvsserver is :P | 13:34 |
|
rgr
| I've got myself in a pickle and have no idead what to do. I tried to push some changes but had forgotten to pull. But when I try to pull, I get "error: Entry '.gitignore' would be overwritten by merge. Cannot merge.". Whats the next beginners step? | 13:34 |
| → marc_kdab joined | 13:40 |
| ← countd left | 13:41 |
| → DavidKlein joined | 13:44 |
| → maattd_ joined | 13:45 |
| ← maleknet left | 13:45 |
| → krawek joined | 13:45 |
| ← artagnon left | 13:48 |
| ← Lisimba left | 13:48 |
| → RobertLaptop joined | 13:48 |
| → _waseem joined | 13:48 |
| → kesor joined | 13:49 |
|
kesor
| hi folks, is there a way to invert git grep in "git log --grep" ? | 13:49 |
| → GeertB joined | 13:50 |
|
_waseem
| Hi, I have a file say 'foo' in my repository. From now onwards I want all the changes made to it ignored. How do I add it to the .gitignore? | 13:52 |
| nonken_afk → nonken | 13:52 |
| → hummingkid joined | 13:52 |
| ← kmartiin left | 13:52 |
| → kssddy joined | 13:54 |
|
divVerent
| how to list unversioned files? | 13:56 |
| → kmartiin joined | 13:58 |
|
divVerent
| basically, like git-status, but machine readable | 13:58 |
| ← ixti left | 13:58 |
|
Ilari
| divVerent: 'git ls-files -o --exclude-standard'? | 13:59 |
| → snearch joined | 14:00 |
| → whaley joined | 14:01 |
| → mosno joined | 14:01 |
| → kumbayo joined | 14:02 |
| ← project2501a left | 14:02 |
| → Bass10 joined | 14:04 |
| ← jlilly left | 14:07 |
| ← maattd left | 14:07 |
| maattd_ → maattd | 14:07 |
| → pinnacle joined | 14:08 |
| → jlilly joined | 14:08 |
| → simNIX joined | 14:08 |
| → anno^da joined | 14:10 |
|
divVerent
| thanks | 14:10 |
| → r11t joined | 14:11 |
| ← hummingkid left | 14:12 |
| ← rgr left | 14:12 |
| → aresnick joined | 14:12 |
| → justinweiss joined | 14:16 |
| → kristian42_ joined | 14:17 |
| → brodyberg joined | 14:17 |
| ← kristian42 left | 14:18 |
| nonken → nonken_afk | 14:21 |
| nonken_afk → nonken | 14:22 |
| ← jlilly left | 14:23 |
| ← schierbeck left | 14:23 |
| → ereslibre joined | 14:24 |
| ← _waseem left | 14:25 |
| → Geralt joined | 14:25 |
| → reprore joined | 14:27 |
| → TeckniX joined | 14:27 |
| → nothingHappens joined | 14:27 |
| → ronny joined | 14:28 |
|
ronny
| hi | 14:28 |
| → Simoyd joined | 14:28 |
|
ronny
| is there any default way to add custom metadata to a commit? | 14:28 |
|
wereHamster
| ronny: what kind of metadata? | 14:28 |
| → ereslibre_laptop joined | 14:28 |
| → Lisimba joined | 14:28 |
| nonken → nonken_afk | 14:29 |
|
ronny
| wereHamster: anything necessary to deal with 2-way interaction with hg/bzr | 14:29 |
|
wereHamster
| ronny: I'd add a line similar to git-svn-id to the bottom of the commit message | 14:29 |
| → jfkw joined | 14:30 |
| ← kamen left | 14:30 |
|
ronny
| wereHamster: well, i dont want to crap stuff into git log | 14:30 |
| ← Aldwuin left | 14:30 |
|
Simoyd
| hey, I was wondering if there was some way to change a merge commit so that it's linear like a rebase. Is it possible to remove the reference to one of the parents? I understand this may cause problems if the commits along the no longer referenced branch commits are merged in again later, but this is for the purpose of cleanly promoting something and I'm sure I wont have those commits anymore. | 14:30 |
|
wereHamster
| I don't know if git notes could be useful in your situation | 14:30 |
| ← kmartiin left | 14:32 |
|
ronny
| git notes looks interesting | 14:32 |
|
wereHamster
| Simoyd: why don't you use rebase? | 14:32 |
|
ronny
| i wish there was more documentation | 14:32 |
|
Simoyd
| I would like to be able to resolve conflicts in 1 step (the way a merge works) not in possibly multiple steps (like a rebase) | 14:33 |
| nonken_afk → nonken | 14:33 |
|
Simoyd
| can I "rebase" somehow in 1 step? | 14:33 |
|
wereHamster
| Simoyd: merge --squash? | 14:33 |
|
Simoyd
| cool | 14:34 |
|
| I think that's exactly what I want =D | 14:34 |
|
| thanks =D | 14:34 |
|
ronny
| hmm, whats the first git version to ship notes | 14:35 |
| ← kristian42_ left | 14:36 |
| → ctusar joined | 14:36 |
|
wereHamster
| looks like v1.6.2 | 14:36 |
|
ronny
| i have 1.6.4 and no notes command | 14:37 |
| ← rchavik left | 14:37 |
|
wereHamster
| then it is v1.6.6 | 14:37 |
| → malumalu joined | 14:37 |
| → spearce joined | 14:38 |
|
ronny
| hmm, and there is really absolutely no way for tools to add custom metadata? | 14:38 |
|
wereHamster
| yeah, git notes ;) | 14:38 |
| ← Shred001 left | 14:38 |
|
ronny
| notes are more like text messages tho | 14:38 |
|
wereHamster
| so what kind of metadata do you want to attach? | 14:39 |
|
| binary blobs? | 14:39 |
|
| as long as it is text, you can put it into the notes | 14:39 |
|
ronny
| hmk | 14:39 |
|
| and how do i get it away from the user? | 14:39 |
|
| the data is only usefull for the tools | 14:39 |
| → disappearedng_ joined | 14:40 |
|
wereHamster
| you could create your own 'notes' and store the data somewhere inside .git/.. | 14:40 |
| → tom joined | 14:40 |
| → aziz joined | 14:40 |
|
disappearedng_
| Hey so when I do a push, I always have to do a git reset --hard to get to the HEAD, is there a better way of doing this? | 14:41 |
|
wereHamster
| disappearedng_: faq non-bare | 14:41 |
|
Gitbot
| disappearedng_: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare | 14:41 |
|
tom
| how can i switch to a branch? i checked out from github and "git checkout failure_backend_support" says "error: pathspec 'failure_backend_support' did not match any file(s) known to git." | 14:41 |
| → Shred00 joined | 14:41 |
|
wereHamster
| tom: 'git branch -a' to show which branches you have | 14:41 |
|
| tom: if the branch begins with 'origin/' then use 'git checkout -t origin/foo' | 14:42 |
| ← BigMack83 left | 14:42 |
|
tom
| wereHamster: thanks, that was it | 14:43 |
| → fcuk112 joined | 14:43 |
| ← girishr left | 14:43 |
|
tom
| wereHamster: just wondering, i use "git checkout" to check out files as well (when i mess them up), why is the same command used for both things? | 14:43 |
| ← Swimming_Bird left | 14:44 |
|
tom
| so -t says "fatal: git checkout: --track and --no-track require -b" | 14:44 |
|
wereHamster
| tom: ah, so you have an older version of git.. 'git checkout -t -b foo origin/foo' | 14:44 |
|
Simoyd
| ok so lets say I have branch A (master) and branch B (some feature). They both have common ancestors. If I checkout B and merge A then checkout A and merge B --squash, is it possible for the second merge to ever have a conflict (assuming I am the only one modifying anything). I think it's not possible, but I want to make sure =D. | 14:45 |
|
disappearedng_
| um what is the post-update file for? how do I use it? | 14:45 |
|
wereHamster
| and about checkout doing two things, it's just like that historically... | 14:45 |
|
| Simoyd: no | 14:46 |
|
| disappearedng_: man githooks | 14:46 |
|
Gitbot
| disappearedng_: the githooks manpage can be found at http://git.or.cz/man/githooks | 14:46 |
|
cbreak
| disappearedng_: a hook? | 14:46 |
|
wereHamster
| Simoyd: well, on second thought, I don't know if that really is true when using --squash.. | 14:47 |
| ← ereslibre left | 14:47 |
|
disappearedng_
| I can't find git hook | 14:47 |
|
wereHamster
| it's not a command | 14:47 |
|
disappearedng_
| oh ok | 14:47 |
|
wereHamster
| hooks are automatically run by certain git commands | 14:47 |
| → jrmuizel joined | 14:47 |
|
tom
| wereHamster: i messed somthing up and now git branch -a show me the same branch twice. can i just git branch -D? (nothing critical, i could also recheckout again if needed...) | 14:48 |
|
wereHamster
| tom: did you run 'git checkout -t -b origin/foo' ? | 14:48 |
|
tom
| wereHamster: "fatal: A branch named 'origin/failure_backend_support' already exists." | 14:49 |
|
wereHamster
| I did not ask you to run it, I asked you whether you ran it.. | 14:49 |
|
tom
| but as i said i messed up and the branch now exists twice :) | 14:49 |
| → kifkif joined | 14:49 |
|
wereHamster
| ah, what the hell: git branch -D origin/failure_backend_support; git checkout -t -b failure_backend_support origin/failure_backend_support' | 14:50 |
|
kifkif
| Hi, I made some local changes and tried to push them to the remote repository. The commit is shown in the remote log, but the changes are not taken in account in the remote files. How can I update the remote files so that the local changes are applied? | 14:50 |
|
wereHamster
| kifkif: faq non-bare | 14:51 |
|
Gitbot
| kifkif: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare | 14:51 |
|
tom
| wereHamster: yup, working, thanks :) | 14:51 |
|
kifkif
| wereHamster, I didn't quite get how to manage bare repositories and still access my files.... | 14:51 |
|
wereHamster
| kifkif: create a bare repo and push/pull commits from/to it.. | 14:52 |
| ← Adlai left | 14:52 |
| ← ereslibre_laptop left | 14:52 |
|
kifkif
| wereHamster, ok, thanks a lot (and sorry for the basic question...) | 14:52 |
| → Adlai joined | 14:52 |
| ← Tordmor left | 14:54 |
| → mnyon joined | 14:55 |
| → Mezner joined | 14:55 |
| → Scorchin_ joined | 14:57 |
|
Simoyd
| is there any way to save my state in the middle of a merge operation, switch to a different branch, do some work, then change back and continue from the middle of the merge operation? | 14:57 |
| ← Scorchin left | 14:57 |
|
Simoyd
| (let's say I've merges 3 of 10 files or something) | 14:57 |
|
PerlJam
| Simoyd: git stash? (not sure how the merge affects that) | 14:58 |
|
Simoyd
| hmm | 14:58 |
| → bantic joined | 14:58 |
| ← mithro left | 14:58 |
| ← parasti left | 14:59 |
| → rkirti joined | 14:59 |
|
Simoyd
| well I can't find anything in the documentation saying it *wont* work.... so that obviously means it will work | 15:00 |
|
disappearedng_
| so just a quick question, | 15:00 |
| ← chrisr left | 15:01 |
| ← Scorchin_ left | 15:02 |
| → Axius joined | 15:02 |
| ← antonfh left | 15:02 |
| → ehabkost_ joined | 15:03 |
| ← LiamH left | 15:04 |
| → rgr joined | 15:04 |
|
rkirti
| I have a rather naive query - I commit make a commit X followed by Y and then push to github. But I now want to revert Y. So I do a git-reset --hard X on my local copy, but I cant push this to github. | 15:05 |
|
PerlJam
| rkirti: you can if you know how :) | 15:06 |
|
| rkirti: but changing the history of somethign you're already shared is not very nice to those who pull from your repo | 15:06 |
|
rgr
| I had a submodule in a git project and it was added as a submodule "item" to the parents git repo. This caused a horrible to and from of updates since when client A changed the submodule and checked it it then client B pulled it and that pullingin cause the parents "lib" entry to update causing client A to have to pull that and to and fro and to and from if that rings any bells with anyone here. So the basic question is : whats the best way to remove a submodile from | 15:06 |
|
Simoyd
| rkirti: the "git push" command has a "-f" parameter for that purpose... I'm not sure what is used exatly to push to github though... | 15:07 |
| ← jrmuizel left | 15:08 |
| → jlilly joined | 15:08 |
| ← __bert__ left | 15:08 |
| ← Axius left | 15:08 |
|
cbreak
| rkirti: don't use reset if anyone else uses your repository | 15:08 |
| ← jlilly left | 15:09 |
|
cbreak
| if they already pulled from it, and you force push the reset, they will just push it again next time they push | 15:09 |
| → jlilly joined | 15:09 |
| → zoniq joined | 15:11 |
|
rkirti
| PerlJam, cbreak, Simoyd: thanks. I ll try the -f option. As to why I want to reset - we are a team using github to code together, and one person made a really horrible last commit. Noone else is currently using the code. I tried pulling, resetting and pushing back - doesnt work. he isnt around here atm, hence the fuss | 15:11 |
| → madewokherd joined | 15:11 |
|
PerlJam
| rkirti: is it so horrible that you can't just leave it there but correct it in a subsequent commit? | 15:11 |
|
cbreak
| the propper way to revert is git revert | 15:11 |
|
| if you want to reset | 15:12 |
|
| EVERY other developper that already pulled that commit has to reset it away as well | 15:12 |
| → Axius joined | 15:13 |
| ← ph^_ left | 15:14 |
|
rkirti
| PerlJam: yes. The code has been moved around and sphagetti-sed | 15:14 |
|
PerlJam
| rkirti: sounds like you do just want to "git revert" | 15:15 |
|
| (rather than going throught the complications of a reset) | 15:16 |
| ← Modius left | 15:17 |
|
PerlJam
| (git revert would leave the errant commit in history, but record a new commit that undoes the effect of the errant commit) | 15:17 |
| ← akahn left | 15:17 |
| ← ehabkost left | 15:17 |
| → kukks joined | 15:18 |
| ← johan-s left | 15:18 |
|
rkirti
| PerlJam: ok, thanks | 15:19 |
| → akar joined | 15:19 |
| ← robinr left | 15:20 |
| ← snearch left | 15:20 |
| ← jollyroger_ left | 15:22 |
| → Turias joined | 15:22 |
| → LiamH joined | 15:22 |
| → hobodave joined | 15:23 |
| ← Axius left | 15:23 |
| ← akar left | 15:24 |
| ← Thumper_ left | 15:24 |
| ← Adlai left | 15:25 |
| → Adlai joined | 15:25 |
| → Swimming_Bird joined | 15:25 |
| ← crankharder left | 15:26 |
| → cwillu_at_work joined | 15:27 |
| → Thumper_ joined | 15:27 |
|
cwillu_at_work
| What's the difference between "GIT_PAGER=/usr/bin/less git log" and "git log | /usr/bin/less"? | 15:28 |
|
| The mouse wheel works in the latter and not the former | 15:28 |
|
| cwillu_at_work is coddled by his distro's defaults | 15:29 |
|
rgr
| what does submodule init actually do? When I add a submodule form a bare repo the files are already extracted to my new sumodule directory. | 15:30 |
| ← rkirti left | 15:31 |
| → rkirti joined | 15:31 |
|
cbreak
| cwillu_at_work: maybe it's because git log | less passes the data to less via standard input | 15:32 |
| → vals_ joined | 15:32 |
|
cwillu_at_work
| cbreak, as opposed to? | 15:32 |
|
cbreak
| so it won't get the mouse wheel commands that also get passed there | 15:32 |
|
mosno
| cwillu_at_work, your distro sets git environ vars? | 15:32 |
|
cwillu_at_work
| mosno, nope | 15:32 |
|
cbreak
| as opposed to any other FD | 15:32 |
|
| cbreak is guessing | 15:32 |
| ← tango_ left | 15:32 |
|
cwillu_at_work
| cbreak, forgive my ignorance :) | 15:33 |
|
| cbreak, how do keystrokes get to less in the former case then? | 15:33 |
|
| i.e., you can still scroll around using the keyboard | 15:33 |
|
cbreak
| standard input? | 15:33 |
|
| I have no idea how it works in detail | 15:33 |
| → JoeConyers joined | 15:33 |
| ← madewokherd left | 15:34 |
| ← hobodave left | 15:34 |
| → robinr joined | 15:34 |
|
cbreak
| but for example, mplayer can read things from standard input. If you pipe movies to it, the key commands stop working, because they are interpreted as movie | 15:34 |
| → aroben joined | 15:34 |
|
cbreak
| or, other theory | 15:35 |
| ← aroben left | 15:35 |
|
cwillu_at_work
| hmm, gnome-terminal magic | 15:35 |
|
cbreak
| git log | less passes the scrolling to git | 15:35 |
| → aroben joined | 15:35 |
|
cbreak
| git log passes them to less, exec'ed by git log | 15:35 |
|
| maybe. | 15:35 |
|
cwillu_at_work
| turning off the "use keystrokes to scroll on alternate screen" option disables scrolling on | less | 15:35 |
| → madewokherd joined | 15:35 |
|
cwillu_at_work
| so gnome needs to think that git is a screen'ish thing | 15:36 |
| ← loincloth left | 15:36 |
|
cwillu_at_work
| okay, I'll leave you guys alone now :p | 15:37 |
|
cbreak
| it's all different on OS X's terminal :) | 15:37 |
| ← rseifert left | 15:37 |
|
| cwillu_at_work hacks in a bash alias | 15:38 |
|
Simoyd
| I KNOW I've asked this question before, but I forgot and can't figure it out again.... how do I get the list that shows what files are unmerged (the one that shows each file in 3 rows with the hash on the left). | 15:38 |
|
| i think it was ls-tree something... | 15:39 |
| → notjohn joined | 15:40 |
|
divVerent
| in a bare git-svn managed repository | 15:40 |
|
| am I allowed to change the HEAD? | 15:40 |
|
| hagger:/srv/gitosis# less repositories/nexuiz.git/HEAD | 15:41 |
|
| ref: refs/heads/master | 15:41 |
|
Simoyd
| git ls-files -u!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 I found it | 15:41 |
|
divVerent
| I basically want gitweb to show another branch by default | 15:41 |
| ← tchan left | 15:41 |
| ← jelmer left | 15:42 |
|
divVerent
| just am not sure if hell breaks loose once I touch that | 15:42 |
| → Travis-42 joined | 15:42 |
| ← ronny left | 15:43 |
| ← becomingGuru left | 15:44 |
|
esc
| in the context of 'git log' what exactly does '--diff-filter=M' mean | 15:44 |
|
mosno
| aww, jc.png is cute | 15:44 |
| → jrmuizel joined | 15:45 |
| → jelmer joined | 15:45 |
| → Modius joined | 15:46 |
|
rgr
| what does submodule init actually do? When I add a submodule from a bare repo the files are already extracted to my new submodule directory. | 15:46 |
| → mbernstein joined | 15:47 |
|
charon
| divVerent: HEAD matters when figuring out the "current" branch for the 'git svn rebase', info, etc commands, but you can't really do much except 'git svn fetch' in a bare so it doesn't matter | 15:48 |
| ← pinnacle left | 15:48 |
|
charon
| esc: the diff shown with 'git log' is always w.r.t. the commit's parent(s) | 15:48 |
|
divVerent
| charon: okay | 15:48 |
|
charon
| er, shown with the -p option to git-log, i should say | 15:48 |
|
divVerent
| git checkout -t -b div0-stable origin/div0-stable - and is there a shorthand for this? | 15:49 |
| → jrmuizel_ joined | 15:49 |
|
wereHamster
| divVerent: in 1.6.6 you cna just do checkout origin/foo | 15:49 |
|
divVerent
| ah, good, thanks | 15:49 |
| ← stamina_ left | 15:50 |
|
divVerent
| hm... can I make another branch than master default for checking out in a bare repository? | 15:50 |
| → tchan joined | 15:50 |
|
divVerent
| or did I just do that by changing HEAD? | 15:50 |
| → altrux joined | 15:50 |
|
charon
| divVerent: there are some protocol-related caveats but yes, HEAD determines the branch checked out after a clone of the repo | 15:51 |
| ← jrmuizel left | 15:51 |
| jrmuizel_ → jrmuizel | 15:51 |
|
divVerent
| good | 15:51 |
|
esc
| charon: i see here that --diff-filer=M excludes for example merge commits. | 15:52 |
| ← reprore left | 15:53 |
| ← d0ugal left | 15:53 |
| → reprore joined | 15:53 |
| → tedoc2000 joined | 15:54 |
| ← bauruine left | 15:54 |
| ← Tureba left | 15:55 |
| → spvensko joined | 15:55 |
| → ruediger joined | 15:55 |
| → irc2samus joined | 15:56 |
| → ereslibre joined | 15:59 |
| → stamina joined | 15:59 |
|
charon
| hmm, i find that counterintuitive | 16:00 |
|
| i'm also midly surprised that 'git log --no-walk --name-status' and 'git show --name-status' do not give the same results on a random merge | 16:00 |
| ← munichlinux left | 16:01 |
| → munichlinux joined | 16:01 |
| sdboyer_ → sdboyer | 16:01 |
| → ereslibre_laptop joined | 16:02 |
| ← LiamH left | 16:03 |
| → LiamH1 joined | 16:03 |
| LiamH1 → LiamH | 16:03 |
| → tvw joined | 16:03 |
| nonken → nonken_afk | 16:04 |
| nonken_afk → nonken | 16:04 |
| ← niki left | 16:07 |
| ← kesor left | 16:08 |
| ← psoo left | 16:08 |
| → keystr0k joined | 16:09 |
| → dreiss joined | 16:09 |
| → mwlang joined | 16:09 |
| → loincloth joined | 16:10 |
|
mwlang
| Greetings, all. I have a simple question for reverting a dumb mistake I just made... | 16:10 |
|
| I somehow moved an entire folder of files into a subdirectory of a project I have under git's control. | 16:10 |
| ← Adlai left | 16:11 |
|
mwlang
| I did a "git add ." and saw that I picked up about 100 new files. How do I undo this to remove that accidental sub-folder from git's control? | 16:11 |
| → parasti joined | 16:12 |
|
PerlJam
| mwlang: git rm --cached <folder> # IIRC | 16:12 |
|
| mwlang: you haven't done a commit yet? | 16:12 |
| → jschoolcraft joined | 16:13 |
|
mwlang
| I have not. | 16:13 |
|
| last command I ran was git add . | 16:13 |
|
| so I'll try that. | 16:13 |
|
jschoolcraft
| I'm using git svn, and I need to push my local changes to a specific svn branch (that shows up in remotes) what do I do? git push origin remote_branch? | 16:14 |
|
| well, nm, no origin with svn | 16:14 |
|
mwlang
| PerlJam: thanks! That worked perfectly. | 16:15 |
|
divVerent
| Is there a command to list all branches that haven't been merged into branch X? | 16:16 |
| ← bibinou left | 16:18 |
| → Yuuhi``` joined | 16:18 |
| ← aziz left | 16:19 |
|
PerlJam
| divVerent: why do you want this? | 16:19 |
|
divVerent
| find all unmerged feature branches | 16:19 |
|
| so they don't get "forgotten" | 16:19 |
| → Sky[x] joined | 16:20 |
|
divVerent
| or is there a better way to track that? | 16:20 |
| ← tchan left | 16:20 |
| → ladyinwhite joined | 16:21 |
| → smckinney joined | 16:21 |
| ← jrmuizel left | 16:21 |
| → jrmuizel joined | 16:22 |
|
patrikf
| i usually delete merged feature branches | 16:22 |
| ← ladyinwhite left | 16:22 |
|
divVerent
| patrikf: okay, that works too :P | 16:22 |
| ← Yuuhi`` left | 16:24 |
| → bcardarella joined | 16:25 |
| ← munichlinux left | 16:25 |
|
wereHamster
| divVerent: git branch --merge | 16:25 |
|
divVerent
| ah, thanks, found that | 16:26 |
| ← mosno left | 16:26 |
| ← tbf left | 16:26 |
| → mattions joined | 16:27 |
|
divVerent
| assume I have a bare git-svn checkout, and make a receive hook that git-svn dcommits all changes | 16:30 |
|
| what trouble will I run into (like commit/update loops?) | 16:30 |
|
wereHamster
| divVerent: don't do that... | 16:31 |
|
divVerent
| why? | 16:31 |
|
wereHamster
| divVerent: it's recommended to run svn rebase before dcommit | 16:31 |
|
divVerent
| it looks like we can't convert everyone in the project to git | 16:31 |
|
| because apparently there is no good way to use git on Windows | 16:31 |
|
| as they say | 16:31 |
|
| so basically, we at least need a read-only svn mirror of the git repository | 16:32 |
|
wereHamster
| have you tried msysgit? tortoisegit? | 16:32 |
|
divVerent
| msysgit? no | 16:32 |
|
| they refuse to use commandline | 16:32 |
|
| tortoisegit? the guy says it can't be installed together with tortoisesvn on Windows 7 | 16:32 |
|
| wereHamster: but I can't git-svn rebase if I have a bare repository, right? | 16:33 |
| → tchan joined | 16:33 |
|
wereHamster
| no, you can't | 16:33 |
| ← mwlang left | 16:33 |
| → MacGyverNL joined | 16:33 |
|
wereHamster
| I'm not even sure if you can dcommit without a working tree | 16:33 |
|
divVerent
| well... once we HAVE a read-only svn mirror | 16:34 |
|
| we always can make a simple "emergency path" to commit | 16:34 |
|
wereHamster
| where will the windows folks commit to if the svn is read-only? | 16:34 |
|
divVerent
| like, svn diff | curl .... | 16:34 |
|
| and a CGI script that tries to apply the patch and commit+push | 16:34 |
|
wereHamster
| ugh.. | 16:35 |
|
divVerent
| of course, if tortoisegit WOULD work for these guys, that wouldn't be an issue | 16:36 |
|
| still, IS there a way to make a read-only svn mirror? | 16:37 |
| → guest_007 joined | 16:37 |
|
divVerent
| git-cvsserver makes a "sort of working" read-only cvs mirror, which still would be better than nothing for these users | 16:38 |
|
| but well, I tested it for a short while and already found stuff that does not work :P | 16:38 |
| ← jschoolcraft left | 16:38 |
|
guest_007
| how to undo the git-add ? i decided not to include some files, but can't find how to remove them (i did not commit yet) | 16:38 |
|
wereHamster
| maybe you can use git svn set-tree somehow. But sending svn diffs through curl to a cgi script seems like a hack | 16:38 |
|
divVerent
| (cvs update -C considers ALL files modifed and redownloads them; cvs checkout doesn't allow checking out a subdirectory, although one CAN get that result by manually creating the CVS subdirs... both seem to be problems with git-svn-server) | 16:39 |
|
wereHamster
| guest_007: git reset <file> | 16:39 |
|
divVerent
| wereHamster: well, another option would be sending svn diffs via email, and using a key combination in mutt to apply them once read :P | 16:39 |
|
wereHamster
| and are you sure your windows users would be willing to run 'svn diff | curl' but not git on the commandline | 16:39 |
| ← daaku left | 16:39 |
|
divVerent
| wereHamster: that's the smallest problem, for this one can make a simple batch file | 16:39 |
|
guest_007
| wereHamster: the problem - i did not do initial commit :) so no HEAD and can't reset | 16:40 |
|
wereHamster
| guest_007: git rm --cached <file> | 16:40 |
|
| divVerent: how many windows/unix developrs are there? | 16:40 |
| → cedric_ joined | 16:40 |
|
divVerent
| about 60% unix, 40% windows | 16:40 |
| ← cedric_ left | 16:41 |
|
guest_007
| +1 unix | 16:41 |
|
wereHamster
| so maybe it would make sense to keep all code in a svn repo and use git-svn on unix | 16:41 |
|
divVerent
| but then we still need to be able to commit to svn from git | 16:41 |
|
| which is basically the same problem | 16:41 |
|
| also, I do want to be able to create topic branches | 16:41 |
|
wereHamster
| and share them with your windows developers? | 16:42 |
|
divVerent
| that is not entirely needed | 16:42 |
|
| but if not, there must be a simple way to commit them to the svn trunk | 16:42 |
|
| like one can merge them into master in git | 16:42 |
|
wereHamster
| you can keep your topic branches in a git repo, but when the topic is ready you dcommit it into svn | 16:42 |
|
divVerent
| and that works reliably? | 16:43 |
|
wereHamster
| why woudn't it.. | 16:43 |
|
divVerent
| then why can't I do that in a hook script? :P | 16:43 |
|
| basically, in one that's called whenever pushing to master | 16:43 |
|
wereHamster
| I just think it's a bad idea to run svn dcommit from a script, that's all | 16:43 |
| ← wolog left | 16:44 |
|
divVerent
| and personally I find it a bad idea to have working copies that are a git clone, but have a git svn init setup | 16:44 |
| → ph^_ joined | 16:44 |
|
divVerent
| as one wrong command causes weird stuff | 16:44 |
|
wereHamster
| heh? | 16:44 |
|
divVerent
| like, git svn fetch in such a working copy, and then pushing, may annoy the server | 16:44 |
|
| as it would run its own git svn fetch | 16:44 |
|
| basically, I don't want clients to deal BOTH with git and with svn | 16:45 |
|
wereHamster
| yeah, deal only with svn | 16:45 |
|
divVerent
| and having a very complicated setup that works neither like git nor like svn | 16:45 |
|
| but I want topic branches :P | 16:45 |
|
| I basically want to have git workflow, but there's svn users too | 16:46 |
| → jumoit joined | 16:46 |
| → hobodave joined | 16:46 |
| ← hobodave left | 16:46 |
|
guest_007
| wereHamster: Thanks :) | 16:46 |
|
wereHamster
| if you really want to commit from a hook, I'd use set-tree and not dcommit... | 16:46 |
|
divVerent
| would be just as fine for me | 16:46 |
| → hobodave joined | 16:46 |
|
wereHamster
| you probably don't care about the history in svn all that much anyway | 16:46 |
| ← cedricv left | 16:46 |
|
divVerent
| exactly | 16:47 |
|
| just don't want stuff to bounce back and forth | 16:47 |
|
| i.e. if I commit to svn | 16:47 |
|
| and git-svn then fetches | 16:47 |
|
| it shouldn't consider the just added commit as new | 16:47 |
|
| as that'd cause the changes to be applied twice, which probably causes conflicts | 16:47 |
|
| I do see the caveats for set-tree though :P | 16:48 |
|
| looks like a race condition between fetch and set-tree | 16:48 |
|
| well... | 16:48 |
|
| even better would be getting that tortoisegit problem solved | 16:48 |
|
| then the windows users can use git | 16:48 |
| → kmartiin joined | 16:48 |
|
wereHamster
| well, git svn runs rebase after dcommit to get rid of those duplicated commits | 16:48 |
| ← ereslibre_laptop left | 16:49 |
| ← godsflaw left | 16:49 |
|
divVerent
| actually, commit-diff looks fine for me too | 16:49 |
|
| but well | 16:49 |
|
| top solution would still be getting a git GUI working on windows | 16:49 |
|
wereHamster
| you did report the issure with tortoisegit, right? | 16:50 |
| ← kukks left | 16:50 |
|
divVerent
| I don't have the issue | 16:50 |
|
| so I can't report it | 16:50 |
|
| some guy in the team has it | 16:50 |
|
| and all he can say is that "it does not work" | 16:50 |
|
wereHamster
| did he? | 16:50 |
|
divVerent
| no | 16:51 |
|
wereHamster
| if not, it likely won't get fixed | 16:51 |
|
divVerent
| sure | 16:51 |
|
| maybe there is no issue even | 16:51 |
|
| and he did something wrong when installing | 16:51 |
| → cedricv joined | 16:51 |
|
wereHamster
| get him to submit a ticked to the tortoisegit team | 16:51 |
| ← cedricv left | 16:51 |
| → bryanl joined | 16:52 |
|
wereHamster
| lol, you're going through all that trouble just because he can't install that little piece of software.. | 16:52 |
|
divVerent
| well | 16:52 |
| ← MacGyverNL_ left | 16:52 |
| ← krawek left | 16:52 |
| → kukks joined | 16:52 |
|
divVerent
| supposedly it cannot be installed together with tortoisesvn | 16:52 |
|
| I cannot check that | 16:52 |
|
bryanl
| if i have a branch that is ahead of it's remote branch by one command and i run "git push foo bar", why does it say everything is up-to-date when it clearly isn't | 16:52 |
|
wereHamster
| bryanl: maybe you are not pushing into the branch that your local branch is tracking. | 16:53 |
|
| did you run 'git remote update' after pushing? | 16:53 |
|
bryanl
| wereHamster: i did | 16:54 |
|
| here is what happens: http://gist.github.com/270406 | 16:55 |
|
wereHamster
| and that 'git remote update' didn't help? | 16:55 |
|
bryanl
| nope | 16:55 |
| ← tazle_ left | 16:56 |
|
wereHamster
| are you fetching through http? | 16:56 |
| ← tchan left | 16:56 |
|
bryanl
| no over ssh | 16:57 |
| ← maattd left | 16:57 |
| → tazle_ joined | 16:57 |
| → cedricv joined | 16:58 |
| → alley_cat joined | 16:58 |
| → munichlinux joined | 16:58 |
| aroben → aroben|lunch | 16:59 |
| ← tek left | 17:00 |
| → tekky joined | 17:00 |
| → amerine joined | 17:01 |
|
disappearedng_
| what is the easiest way to solve non-bare repository ? Like when someone push while I am editing. | 17:01 |
| → cedric_ joined | 17:02 |
| → sudoer joined | 17:02 |
|
wereHamster
| disappearedng_: don't push into non-bare repos.. ? | 17:02 |
| → livid joined | 17:02 |
|
wereHamster
| bryanl: sorry, no idea | 17:02 |
| ← rkirti left | 17:02 |
| → rkirti joined | 17:03 |
|
killerchicken_
| bryan1: did you try git fetch sneezy | 17:03 |
| → tchan joined | 17:03 |
| → cedric__ joined | 17:04 |
|
livid
| anyone have any experience using git with mainly binary files or for engineering drawings (i.e. non-software)? any help/recommendations for setting this up would be great | 17:05 |
| ← vbgunz left | 17:05 |
|
wereHamster
| livid: git is generally not so good at managing binary files | 17:05 |
| ← cedricv left | 17:05 |
|
wereHamster
| compression does suffer a lot | 17:05 |
|
livid
| wereHamster: I am sort of trying to decide what version control software to use - any recommendations on things to try? I plan on trying SVN as well | 17:06 |
|
wereHamster
| if you really want to use git, disable delta compression for the binary files (can be done through git attributes) | 17:06 |
| → cedricv joined | 17:06 |
|
wereHamster
| svn sounds good for that type of files | 17:06 |
| ← tchan left | 17:06 |
| ← wallunit left | 17:06 |
|
livid
| wereHamster, yea, that is kind of what it seems like, but it is good to hear it from another source :) | 17:06 |
| → efphe joined | 17:07 |
|
efphe
| hello, i have a very stupid question (i'm new on git): which is the git command to have the same effect (dropping changes) to this svn sequence: `rm file && svn up fiile` | 17:08 |
|
teuf
| git checkout -- file | 17:08 |
|
killerchicken_
| efphe: git checkout -- <file> | 17:08 |
|
efphe
| oh | 17:09 |
|
| good | 17:09 |
| → kristian42 joined | 17:09 |
|
efphe
| thank You killerchicken_, sorry for the really basic question | 17:09 |
|
killerchicken_
| efphe: no worries | 17:09 |
|
| let me explain a little what it does | 17:09 |
|
efphe
| sure | 17:10 |
|
killerchicken_
| it means: "update the working tree with the file specified, and use the file that is currently in HEAD (the commit that is currently checked out, without any local modifications)" | 17:10 |
|
| HEAD is implied, because you didn't give a commit | 17:10 |
| → ereslibre_laptop joined | 17:11 |
|
wereHamster
| killerchicken_: s/HEAD/index/ | 17:11 |
| ← cedric_ left | 17:11 |
| ← cedric__ left | 17:11 |
|
efphe
| thank you again | 17:11 |
|
killerchicken_
| wereHamster: hah. | 17:11 |
|
efphe
| i was surprised when `rm file` caused a deletion on the repository | 17:12 |
| → jessep joined | 17:13 |
| ← kifkif left | 17:13 |
|
killerchicken_
| efphe: hm? | 17:13 |
| ← EricInBNE left | 17:13 |
|
efphe
| if I remove a file in a git repo | 17:13 |
|
| it wants to delete it also on the repository | 17:14 |
|
wereHamster
| no, that's not true | 17:14 |
|
| (unless you use git add -A or commit -a) | 17:14 |
|
killerchicken_
| only if you git rm it | 17:14 |
| → nadavoid joined | 17:14 |
|
killerchicken_
| or git add... right. | 17:14 |
|
efphe
| yes | 17:14 |
|
| but in fact this is different from svn and initially i was a littel bit confused | 17:15 |
|
| ok | 17:15 |
|
killerchicken_
| git isn't trying to match svn's behaviour, in fact, many people working on git don't know how svn works. | 17:15 |
| ← rgr left | 17:15 |
|
wereHamster
| 'rm *; git commit' fails with 'nothing to commit' | 17:15 |
|
efphe
| now i know how to restore files with checout | 17:15 |
|
ereslibre_laptop
| efphe: it kind of assumes you wanted to use "git rm", so you just need to do "git ci -a" and you are done, the file also is removed on the repo | 17:15 |
| ← cedricv left | 17:15 |
|
ereslibre_laptop
| wereHamster: rm *; git ci -a, should remove all files though ;) | 17:16 |
|
wereHamster
| yes | 17:16 |
| ← kmartiin left | 17:17 |
|
sourcemaker_
| I am playing around with git... and now I think I have unterstood the functionality :-) | 17:19 |
|
| Now I am trying to build a small script to backup my .kde data... | 17:19 |
|
efphe
| sourcemaker_, if you are new as me and you need server side repos, take a look at gitolite | 17:20 |
|
sourcemaker_
| efphe: now... I will use git as local repository | 17:20 |
|
| is this enought? git add . && git commit -a -m`date '+%d.%m.%Y-%H:%M:%S'` (daily script as cron) | 17:22 |
|
wereHamster
| sourcemaker_: use git add -A; git commit -m '...' | 17:22 |
|
sourcemaker_
| wereHamster: ok | 17:23 |
|
| when I execute this script every day... can I switch back let's say 3 days before? | 17:24 |
|
| or do i need tags or branches...? | 17:24 |
|
ereslibre_laptop
| sourcemaker_: you don't need tags nor branches. git update -rHEAD^^^ | 17:24 |
| → squarism joined | 17:25 |
|
ereslibre_laptop
| sorry | 17:25 |
|
| git co HEAD^^^ | 17:25 |
|
wereHamster
| update -r ? git is not svn... | 17:25 |
|
ereslibre_laptop
| wereHamster: yep, too many scm in parallel atm ;) | 17:25 |
| ← bryanl left | 17:25 |
| → d0ugal joined | 17:26 |
| → patmaddox joined | 17:26 |
|
ereslibre_laptop
| sourcemaker_: "git co HEAD^^^" is equivalent to "git co HEAD~3". which is: please, move 3 revisions back in history | 17:27 |
| ← dreiss left | 17:27 |
|
wereHamster
| and detach HEAD | 17:28 |
|
| to go bach where you were before you can either use 'git checkout -' or 'git checkout master' (assuming you were on the 'master' branch before) | 17:28 |
| → coolcat joined | 17:29 |
| → schierbeck joined | 17:29 |
|
ereslibre_laptop
| sourcemaker_: as an aside note, if you are configuring cron for doing one run per day, you are getting too many inforation in the commit message. you don't need hours, minutes or seconds because you are doing it once a day and always at the same time, you only need day, month, year | 17:30 |
| ← oganso-- left | 17:31 |
| ← munichlinux left | 17:31 |
| → rseifert joined | 17:32 |
| → rgr joined | 17:33 |
| → tchan joined | 17:33 |
| ← rgr left | 17:33 |
| → rgr joined | 17:34 |
| aroben|lunch → aroben | 17:35 |
| ← sdboyer left | 17:35 |
| → wolog joined | 17:36 |
|
sourcemaker_
| ereslibre_laptop: thanks... you right :-) | 17:39 |
| → Axius joined | 17:39 |
|
efphe
| cu and ta again | 17:40 |
| ← efphe left | 17:40 |
| → bryanl joined | 17:40 |
| → maattd joined | 17:42 |
| → tbuehlmann joined | 17:42 |
| ← rgr left | 17:43 |
| → ixti joined | 17:43 |
| ← irc2samus left | 17:45 |
| → bibinou joined | 17:45 |
|
sourcemaker_
| ereslibre_laptop: so I create my git repository in .kde directory and execute the script every day? | 17:47 |
|
ereslibre
| sourcemaker_: note that you need to first cd .kde | 17:52 |
|
| sourcemaker_: but yes, that is the idea | 17:52 |
|
sourcemaker_
| ereslibre_laptop: and how can I revert in some days... | 17:53 |
| → rgr joined | 17:53 |
| → tek joined | 17:53 |
| ← tekky left | 17:53 |
|
ereslibre
| sourcemaker_: you can use git revert | 17:53 |
|
sourcemaker_
| ereslibre_laptop: and all meta files are stored in .git... so if I would like to remove git... i only delete .git? | 17:55 |
| → __iron joined | 17:56 |
| ← Mezner left | 17:56 |
| → Alagar joined | 17:57 |
| → Mezner joined | 17:57 |
| → Adlai joined | 17:58 |
| → chalkbag joined | 17:58 |
| ← Mezner left | 17:59 |
| → Mezner joined | 17:59 |
| → BigMack83 joined | 17:59 |
|
ereslibre
| sourcemaker_: yes, if you are going to do a "rm -rf .git" FIRST make sure you _are_ on the revision you want to keep yourself. Note you won't be able to later go back again | 18:00 |
| → justin-george joined | 18:00 |
|
sourcemaker_
| ereslibre_laptop: ok thanks for helping me... :-) | 18:00 |
|
| ereslibre_laptop: I will activate the script now :-) | 18:00 |
| ← squentin left | 18:01 |
| → drizzd_ joined | 18:02 |
|
sourcemaker_
| ereslibre_laptop: sorry... last question... I create only a simple git repository with "git init" ... without -bare -shared and so on? | 18:03 |
| nonken → nonken_afk | 18:05 |
| OtherJakeSays → JakeSays | 18:05 |
| → parolang joined | 18:05 |
| ← ToxicFrog left | 18:09 |
| nonken_afk → nonken | 18:09 |
| ← brodyberg left | 18:09 |
| ← Aku left | 18:09 |
| → silas joined | 18:10 |
|
silas
| Hello. | 18:10 |
|
| I think it is not possible to have two urls for the same submodule, in the case that checkout from a url doesn't work. Have you ever have this problem? | 18:10 |
| → squentin joined | 18:11 |
| ← anno^da left | 18:11 |
| ← bryanl left | 18:11 |
| → m104 joined | 18:12 |
| ← drizzd left | 18:12 |
| ← shruggar left | 18:14 |
|
ereslibre_laptop
| sourcemaker_: no need of those. --bare is usually for servers setting up a repo, and never used --shared. A raw "git init" should work out of the box ;) | 18:14 |
| → Akufen joined | 18:14 |
|
sourcemaker_
| ereslibre_laptop: thanks | 18:14 |
|
ereslibre_laptop
| sourcemaker_: np | 18:15 |
| → Kipras__ joined | 18:15 |
| ← jrmuizel left | 18:16 |
| nonken → nonken_afk | 18:16 |
| nonken_afk → nonken | 18:16 |
| → kipras_ joined | 18:19 |
| ← Kipras__ left | 18:19 |
| → ShadeHawk joined | 18:19 |
| nonken → nonken_afk | 18:19 |
| ← amerine left | 18:20 |
| ← madewokherd left | 18:20 |
|
ShadeHawk
| warthog9: Do you have any comments to my take on your gitweb patches, early part (http://thread.gmane.org/gmane.comp.version-control.git/136077)? | 18:20 |
| → pantsman joined | 18:20 |
|
ShadeHawk
| warthog9: if so, now is the time before those patches land in 'next' (http://permalink.gmane.org/gmane.comp.version-control.git/136165) | 18:21 |
| nonken_afk → nonken | 18:22 |
| → madewokherd joined | 18:24 |
| ← mattions left | 18:24 |
| → jumoit1 joined | 18:25 |
| ← jumoit1 left | 18:26 |
| → dreiss joined | 18:27 |
| ← jumoit left | 18:28 |
| ← gitte left | 18:29 |
| → _Vi joined | 18:30 |
| ← d0ugal left | 18:31 |
| → Axius_ joined | 18:32 |
| → bry joined | 18:32 |
| → dacqueries joined | 18:33 |
|
Simoyd
| ok sorry for spam, but it's easier than explaining and noone is really talking | 18:33 |
|
| c:\dp\Projects\fakerepo>git status | 18:33 |
|
| # On branch blah7 | 18:33 |
|
| # Your branch and 'master' have diverged, | 18:33 |
|
| # and have 2 and 1 different commit(s) each, respectively. | 18:33 |
|
| # | 18:33 |
|
| # Changes to be committed: | 18:33 |
|
| # (use "git reset HEAD <file>..." to unstage) | 18:33 |
|
| # | 18:33 |
|
| # modified: one.txt | 18:33 |
|
| # modified: three.txt | 18:33 |
|
| # modified: two.txt | 18:33 |
|
| # | 18:33 |
|
| c:\dp\Projects\fakerepo>git diff --name-only | 18:33 |
|
_Vi
| Simoyd, pastebin. | 18:33 |
|
Simoyd
| c:\dp\Projects\fakerepo> | 18:33 |
|
| why does that happen? | 18:33 |
|
| I just did a merge and added everything | 18:33 |
|
| oh | 18:33 |
|
| that would have been a good idea sorry | 18:33 |
|
| next time I'll use that sorry | 18:33 |
|
| why does git diff report nothing after I've git added all the merge conflicts? | 18:34 |
|
_Vi
| Simoyd, What "that" happened? | 18:34 |
|
Simoyd
| "that" => the diff reporting nothing | 18:34 |
|
patrikf
| Simoyd: git diff = diff between index and working tree | 18:34 |
| → thiago_home joined | 18:35 |
|
_Vi
| Simoyd, May be "one.txt", "tree.txt" and "two.txt" has just updated timestamp? | 18:35 |
|
patrikf
| Simoyd: maybe you want git diff HEAD = diff between HEAD and working tree | 18:35 |
|
| Simoyd: or maybe you want git diff --cached = diff between HEAD and index | 18:35 |
|
_Vi
| Simoyd, Yes. Default "git diff" is diff of index and working tree. | 18:35 |
|
Simoyd
| ok I understand now. | 18:36 |
|
_Vi
| Simoyd, You need either "git diff HEAD" or "git diff HEAD --cached" | 18:36 |
|
Simoyd
| thanks alot =D | 18:36 |
|
| was really confused there hehe | 18:36 |
| → krawek joined | 18:36 |
| ← Axius left | 18:37 |
| ← rgr left | 18:37 |
| → aspotashev joined | 18:37 |
| ← ixti left | 18:39 |
| ← Adlai left | 18:39 |
| → ixti joined | 18:39 |
| → pklingem2 joined | 18:39 |
|
Simoyd
| I love this channel, you guys always solve all my problems | 18:40 |
| → numberGrey joined | 18:40 |
|
_Vi
| Simoyd, When I was starting to use git, the channel was solving all my problems as well. | 18:41 |
| → Adlai joined | 18:41 |
|
_Vi
| s/to use/using/ | 18:41 |
| ← NET||abuse left | 18:44 |
| → snearch_ joined | 18:44 |
|
_Vi
| Can I enable push over HTTP for everyone, but with denyDeletes denyNonFastForwards for anonymous users? Like in Wiki. | 18:45 |
| → mmoya joined | 18:45 |
|
warthog9
| ShadeHawk: yeah, I've been on vacation and trying to get the stuff I missed dealt with | 18:46 |
|
spearce
| _Vi: only if you are using git 1.6.6 and its smart-http push support. you can't do that for webdav based push for older than 1.6.6. | 18:46 |
|
wereHamster
| _Vi: pre 1.6.6 git doesn't even support push over http.. | 18:46 |
|
spearce
| wereHamster: it does, it uses WebDAV, but that means you can't do branch controls like denyDeletes | 18:46 |
|
_Vi
| spearce, Yes, I mean with http-backend. I've just tried it. | 18:46 |
| → jrmuizel joined | 18:47 |
| → dfr|work joined | 18:47 |
| ← jrmuizel left | 18:47 |
|
spearce
| yea, http-backend should honor hooks just like ssh does, underneath they both are running git-receive-pack. | 18:47 |
| → froschi joined | 18:48 |
|
_Vi
| spearce, Yes, I validated that hook works. Can I verify HTTP username in a hook? | 18:48 |
|
spearce
| yea, the CGI environment is inherited by the hook | 18:48 |
|
_Vi
| spearce, (Oh, forgot that it's just an environment variable in CGI) | 18:48 |
| → rgr joined | 18:49 |
|
_Vi
| spearce, (BTW someone told me that I should CC patches to spearce in order to be applied upstream. I've sent resent one with CC but still no answer. Just wait more?) | 18:49 |
| livid → alex_m | 18:50 |
|
spearce
| patches to me sometimes have a lot of lag because i tend to work on things in spurts. what patch are you talking about? | 18:51 |
| → seanh_ joined | 18:51 |
|
_Vi
| spearce, I want hotkeys in "git gui" for "Revert changes" and "Unstage from commit". So I've created a patch. | 18:51 |
|
| spearce, It's very simple. Ctrl+J, Ctrl+U respectively. | 18:51 |
|
Simoyd
| question: Lets say I add all merge conflicts to the cache, but dont commit. how do I tell that I'm finishing a merge commit and dont just have some files on the cache for a normal commit? | 18:52 |
|
seanh_
| Argh! I work sometimes from home sometimes the office, and I just came into the office and realised I forgot to push the work I did at home, I'm gonna have to go back! Worse, it's the second time in as many days! | 18:52 |
|
spearce
| oh, yea. that. git-gui, so its on the backlog queue. :-) | 18:52 |
|
Simoyd
| seanh_: set up a vpn so you can pull from that home repo | 18:53 |
|
seanh_
| So I'm thinking of using Dropbox, a program that syncs your files automatically, but keeping a git repo in Dropbox? I don't trust it. I'm thinking something like a detached working tree, with the working tree in the Dropbox folder but the git repo itself outside of Dropbox | 18:53 |
|
wereHamster
| Simoyd: git knows that you attempted a merge commid, you don't have to tell that | 18:53 |
|
Simoyd
| yea, but I want to know :S | 18:54 |
|
| :( | 18:54 |
|
| is there any way to tell? | 18:54 |
|
wereHamster
| if .git/MERGE_HEAD exists AFAIK | 18:54 |
|
seanh_
| Simoyd: the home computer isn't even turned on! But you're right, I have a low-power laptop at home, I should use it as a file server | 18:54 |
|
wereHamster
| don't know if there is an easier way | 18:54 |
|
| btw, why do you want to know that? | 18:54 |
|
_Vi
| spearce, 1. How long should I wait before considering patches lost? 2. Should I send patches when earlier remains unanswered? | 18:55 |
|
Simoyd
| wereHamster: I'm creating a GUI for idiots in the company here to use | 18:55 |
| → corni joined | 18:55 |
|
Simoyd
| gitGUI is still way too complicated for them | 18:55 |
| → David-T joined | 18:55 |
|
ShadeHawk
| Simoyd: what OS | 18:55 |
|
wereHamster
| for unix or windows? | 18:55 |
|
Simoyd
| windows | 18:55 |
| ← rkirti left | 18:55 |
|
Simoyd
| c# wpf | 18:55 |
|
ciaranm
| for git add -i, would anyone else find it useful if every fifth line in long lists of filenames were shown in bold? | 18:55 |
|
ShadeHawk
| smartGit and git-cola? | 18:56 |
|
spearce
| Simoyd: what's funny is, git-gui was created to help the idiots at my company where the command line was too complex ;-) | 18:56 |
|
| _Vi: with git-gui, i can easily be behind by a couple of weeks. :-( | 18:56 |
|
| _Vi: but gentle reminds work. | 18:56 |
|
_Vi
| spearce, >"git-gui was created to help the idiots ..." I think it's useful for power users too. | 18:56 |
|
Simoyd
| haha that's hilarious =D | 18:56 |
|
_Vi
| spearce, For example, it's handy to do "stage seleted line"/"unstage seleted line" in git-gui. | 18:57 |
|
spearce
| _Vi: oh, i agree, that's why i still use git-gui, just to help me review and stage code for commit | 18:57 |
|
_Vi
| spearce, (And it's not handy that I can't do "stage seleted lineS" (multiple lines)) | 18:57 |
| ← zoniq left | 18:58 |
|
Simoyd
| tbh I dont understand why people find it so hard to understand git | 18:58 |
|
| it's easy and intuitive | 18:58 |
|
_Vi
| spearce, Sometimes "stage hunk" stages too lot, but there too many "stage line" for that. | 18:58 |
| ← cwillu_at_work left | 18:59 |
| → [1]intripoon joined | 18:59 |
|
_Vi
| spearce, Also "git gui" is handy as you may enter commit message (beforehand) and it will not be lost. | 18:59 |
|
| Simoyd, Git was the first VCS I learned to use well. May be it matters? | 19:00 |
|
spearce
| its also the first i've learned to use well, and i've used CVS, Perforce, SVN, BitKeeper, ClearCase, PVCS ... :-) | 19:01 |
|
Simoyd
| I've used subversion... not extensivly, and it's intuitive too, but git is millions times better | 19:01 |
| ← intripoon left | 19:01 |
|
Simoyd
| but I'm really good at git now =D (thanks to this channel) | 19:01 |
| → [2]intripoon joined | 19:01 |
| [2]intripoon → intripoon | 19:02 |
|
wereHamster
| oh, clearcase :( I hope you dont have any permanent damage from using it :P | 19:02 |
| ← __iron left | 19:02 |
|
_Vi
| spearce, I've only used CVS some time before (just to commit to sourceforge and forget). And after Git I've learned Subversion. | 19:02 |
|
| (Our company is migrating from ClearCase to Subversion) | 19:02 |
| → __iron joined | 19:02 |
| ← froschi1 left | 19:02 |
| ← Pupeno left | 19:03 |
|
drizzd_
| don't get me started on clearcase | 19:03 |
| → samgranieri joined | 19:03 |
|
_Vi
| drizzd_, "git-cc clone $URL"? | 19:04 |
| → mbroeker joined | 19:04 |
| ← snearch_ left | 19:04 |
| ← [1]intripoon left | 19:05 |
| ← seanh_ left | 19:05 |
| → jrmuizel joined | 19:06 |
| ← samgranieri left | 19:06 |
| → samgranieri joined | 19:07 |
| ← jrmuizel left | 19:08 |
| ← jessep left | 19:11 |
|
rgr
| when you use a submodule in a project It seems it would generally be better to ignore its directory name in the parent project or all sorts of issues occur when you pull a new submodule but later try to pull the parent - the problem being that the submodule "directory" is marked as "modified" causing merge issues. Any best practices or comments to help me here? | 19:11 |
|
DrNick
| commit the modified submodule | 19:12 |
|
_Vi
| rgr, "Modified" submodule means that version of submodule you are using is not the same as stored in main project. | 19:12 |
|
madewokherd
| git bisect is smarter than I remember | 19:13 |
|
_Vi
| rgr, You should "git add path/to/subm" to stage the new version of submodule. | 19:13 |
| → mikem23 joined | 19:13 |
|
divVerent
| I read something interesting... and wonder if git has support for that | 19:14 |
|
| this is regarding clearcase and other commercial systems :P | 19:14 |
|
| many support "locking" files | 19:14 |
|
| mostly to avoid having two people work on the same, e.g., image file | 19:14 |
|
rgr
| I realise I can commit in the parent to commit the "submodule" but I dont really see what it brings me. I wonder if better to just ignore it in the parent. | 19:14 |
|
divVerent
| as these are unmergable | 19:14 |
|
| does git provide some sort of "advisory locking", or is there a frontend doing that? | 19:15 |
|
| I mean, sure you can just add e.g. filename.lck files, or pull and check if they are there | 19:15 |
|
| but are there already any frontends doing that? | 19:15 |
|
_Vi
| divVerent, Locking with DVCS? | 19:15 |
|
divVerent
| well | 19:15 |
|
| it'd be useful in commercial environments | 19:16 |
|
| otherwise probably not | 19:16 |
|
| but well, not talking about enforced lockas | 19:16 |
|
| as that would simply make no sense | 19:16 |
|
| certainly I wouldn't recommend e.g. locking C source files before editing | 19:16 |
|
_Vi
| divVerent, May be just use something not tied to Git? | 19:16 |
|
divVerent
| that would inhibit work | 19:16 |
| ← madewokherd left | 19:16 |
|
divVerent
| _Vi: well, in the Nexuiz development, we currently use IRC topics for that purpose | 19:17 |
|
| like, "<nickname> is currently working on <thing>, do not touch" :P | 19:17 |
|
_Vi
| divVerent, E.g. "try_lock.pl path/to/my/file.png" -> "Connecting to corporate server..." -> "Error: Alerady locked by Dohn Joe". | 19:17 |
|
divVerent
| but yes | 19:17 |
|
| that's the idea | 19:17 |
|
| could e.g. be tied to many text editors as file-open hook or macro | 19:17 |
|
drizzd_
| _Vi: clearcase does not have atomic commits, a meaningful export to git is impossible | 19:17 |
|
divVerent
| and to image editors too probably | 19:17 |
|
_Vi
| drizzd_, "git-cc" was on the rights of joke. | 19:18 |
|
divVerent
| just asking if such a system already exists | 19:18 |
|
_Vi
| divVerent, How Git should help such lockings? | 19:18 |
|
divVerent
| drizzd_: well... cvs doesn't have that either | 19:18 |
| → cedricv joined | 19:18 |
|
divVerent
| _Vi: git metadata could be used to find the lock server | 19:18 |
|
_Vi
| divVerent, Git only will tell about locking failures (merge conflict in binary file). | 19:18 |
|
divVerent
| otherwise, probably not much | 19:18 |
| → jrmuizel joined | 19:18 |
|
_Vi
| divVerent, Empty commits like "git commit --allow-empty -m 'I am locking data/images/qqq.png'"? | 19:19 |
|
divVerent
| just asking, as git is a system which may actulaly need an external tool for this | 19:19 |
|
| while most VCSes don't need that | 19:19 |
|
wereHamster
| divVerent: just because someone is working on that file doesn't mean his work will interfere with your. So what would that information be useful for? | 19:19 |
|
divVerent
| wereHamster: well | 19:19 |
|
| if we both are working on e.g. an image file | 19:19 |
|
| one of the person will lose his work in the end, or have to redo it | 19:19 |
|
broonie
| Any distributed VCS is going to need some external system if you want locks. | 19:19 |
|
divVerent
| but well | 19:20 |
|
| I am clearly against locking mergable files | 19:20 |
|
| it'd be just better handling for unmergable stuff | 19:20 |
|
| to avoid duplicate work | 19:20 |
| → cedric_ joined | 19:20 |
|
divVerent
| svn apparently provides a locking facility, but I never tried it | 19:20 |
|
| cvs has one, but I hate it :P | 19:20 |
|
drizzd_
| divVerent: yes, the same applies to cvs, but in cvs you just do 'cvs commit', IIRC, and that will commit everything. there is no analogous command in clearcase, so checkin's are usually done sequentially. | 19:20 |
|
_Vi
| divVerent, (Thinking how to add lockings to Git with minimal efforts) | 19:20 |
|
divVerent
| _Vi: well | 19:20 |
|
| personally, I am thinking of git integration like this: | 19:21 |
|
| - git commit and git add would refuse to work on files of certain configurable name patterns (or other selection) if not locked | 19:21 |
|
_Vi
| divVerent, E.g. how user should notify the server that it lock some file. Over some Git thing? Over separate channel? | 19:21 |
|
divVerent
| - the lock command would be in the "git namespace" | 19:21 |
|
| of course... there's one obvious problem | 19:21 |
|
| you could commit it first, then someone else locks the file, before you push | 19:21 |
| → kain joined | 19:21 |
|
divVerent
| so you basically would, as user, have to make sure that you only remove the lock after pushing | 19:22 |
|
| certainly wouldn't be trivial | 19:22 |
|
broonie
| You'd need to define some sort of workflow around it, probably with porcelain that forced push/pull. | 19:22 |
|
divVerent
| git-add could be wrapped to require locking on certain fails | 19:22 |
|
| *files | 19:22 |
|
kain
| hi there. how can I join two commits to figure as one before pushing? | 19:22 |
| ← [Po]lentino left | 19:22 |
| → cedric__ joined | 19:22 |
|
divVerent
| and git-push could remove the lock on any file that was already committed | 19:22 |
|
| broonie: exactly what I am thinking of | 19:22 |
|
| just asking whether it already exists | 19:23 |
|
| currently I don't need it | 19:23 |
|
_Vi
| divVerent, 1. Acquiring a lock is some push. 2. Releasing a lock is also some push. Something like this? | 19:23 |
|
divVerent
| _Vi: the locks don't need to be on the git repository | 19:23 |
|
| it's more about integration with the git commands | 19:23 |
|
_Vi
| divVerent, E.g. push empty commit with special message. Commit hook on server side will reject the push in any case, but preset different messages. | 19:23 |
|
divVerent
| and then, a commit hook on the server could check if the file was locked by the right user | 19:24 |
|
_Vi
| divVerent, Imagine there's a hook on Git server. | 19:24 |
|
divVerent
| and only accept the commit if the files were locked (i.e. those that need it) | 19:24 |
|
| actually, that'd be mostly transparent | 19:24 |
| ← cedricv left | 19:24 |
|
divVerent
| client would basically only need a little script to send the lock commit | 19:24 |
|
_Vi
| divVerent, First user make any change to the file it wants to lock (not useful change). | 19:24 |
|
divVerent
| still, this would have to integrate with editing tools too | 19:25 |
|
_Vi
| divVerent, Then he tries to push the change to server. Server rejects and sets a lock. | 19:25 |
|
divVerent
| can git be instructed to make all working copy files of certain patterns read only? | 19:25 |
|
| that'd basically enforce workflow then | 19:25 |
|
| as a "lock" tool would make the file writable | 19:25 |
|
_Vi
| divVerent, Then user modifies file and pushes it again. Then server accepts the push and removes the lock. | 19:25 |
|
divVerent
| of course, for this to be useful and not annoying | 19:26 |
|
| locks should be advisory, and only be asked for on certain file types | 19:26 |
|
| locking e.g. C source is nonsense | 19:26 |
|
_Vi
| divVerent, Something like this? /* last 6 messages I've written without reading answers */ | 19:26 |
|
divVerent
| however, once a lock is set, anyone attempting to edit certain files should be notiifed | 19:26 |
|
| _Vi: mostly | 19:26 |
|
| but the challenge would be making it non-annoying :P | 19:26 |
|
_Vi
| divVerent, We need special script to make this not annoying. | 19:27 |
| ← tek left | 19:27 |
|
divVerent
| is it possible to set file permissions to 444 on certain file types in the working copy? | 19:27 |
| → tekky joined | 19:27 |
|
_Vi
| divVerent, Using a hook, yes. | 19:28 |
|
| divVerent, (hooks in all user's repositories) | 19:28 |
|
divVerent
| oh | 19:28 |
| ← sourcemaker_ left | 19:28 |
|
divVerent
| that sounds like an additional required action after initial clone | 19:28 |
| tekky → tek | 19:28 |
|
_Vi
| divVerent, Yes. | 19:28 |
|
divVerent
| well, could be e.g. an initialization script inside the repository | 19:28 |
|
_Vi
| divVerent, (For example, submodules also require additional actions after clone) | 19:29 |
| ← Lisimba left | 19:29 |
|
divVerent
| well, when I have time, I'll code that | 19:29 |
|
| just wonder if it will be any more useful than what I already have | 19:29 |
|
| which is using IRC topics to "lock" :P | 19:29 |
|
_Vi
| divVerent, First it needs to be well-designed. | 19:29 |
|
divVerent
| well, I see that the design works now | 19:29 |
|
_Vi
| divVerent, (Thinking about GOOD design). | 19:29 |
|
divVerent
| of course | 19:30 |
| → Twisted_Mentat joined | 19:30 |
|
divVerent
| before I'd start implementing it, I'd actually write the design down, and look for problems | 19:30 |
|
_Vi
| divVerent, Using empty commits always rejected commits to notify server. Is it good? | 19:30 |
|
divVerent
| it's just... I now see it's POSSIBLE to do it even cleanly | 19:30 |
|
| _Vi: not entirely :P | 19:30 |
|
| but funny hack to avoid a server process | 19:30 |
| → mw44118-1ork joined | 19:30 |
|
_Vi
| divVerent, E.g. using push to lock something. Already bad? | 19:30 |
| ← schierbeck left | 19:30 |
|
divVerent
| no | 19:31 |
| ← dacqueries left | 19:31 |
|
divVerent
| or well | 19:31 |
|
| yes, as it requires a commit first | 19:31 |
|
| unless you do something really weird with push | 19:31 |
|
_Vi
| divVerent, Always-rejected push. Already bad? | 19:31 |
|
divVerent
| like attempting to create a special branch name | 19:31 |
| ← kumbayo left | 19:31 |
|
divVerent
| always-rejected push sounds bad to me | 19:31 |
|
_Vi
| divVerent, Special branches... | 19:31 |
|
divVerent
| but better than extra server process | 19:31 |
| → teloscientist joined | 19:31 |
|
teloscientist
| newbie question for git | 19:31 |
|
_Vi
| divVerent, BTW you may have branches with competely different layout. | 19:32 |
|
divVerent
| sure | 19:32 |
|
teloscientist
| I have a depository. I want to invite a developer to access it. | 19:32 |
|
_Vi
| divVerent, (thinking about using special locking branch) | 19:32 |
| → cedricv joined | 19:32 |
|
_Vi
| teloscientist, What's URL? | 19:32 |
|
divVerent
| well, branches with different layout is bad design too :P | 19:32 |
|
teloscientist
| Do I ask them to generate a keypair, then input the keypair into my process | 19:32 |
|
divVerent
| are you using gitosis? | 19:32 |
|
teloscientist
| unfuddle.com | 19:33 |
| ← cedric__ left | 19:33 |
|
divVerent
| ah, okay... keypair? | 19:33 |
|
| is it ssh based? | 19:33 |
|
| then they'd generate a key with "ssh-keygen" or on windows puttygen | 19:33 |
|
| and you'd add it there | 19:33 |
|
_Vi
| divVerent, Using informative branch names? (push origin HEAD:file_data_images_foo_png_is_locked). | 19:33 |
|
teloscientist
| and here is where my ignorance shines through... A | 19:33 |
|
divVerent
| _Vi: that'd be VERY irritating in gitweb :P | 19:33 |
|
teloscientist
| so they send me their keypair, and I input it | 19:33 |
|
| ? | 19:33 |
|
divVerent
| teloscientist: basically yes, this is how it works for ssh | 19:34 |
|
| you never create ssh keys for someone else | 19:34 |
|
teloscientist
| great | 19:34 |
|
divVerent
| but they create it, and you add their public key | 19:34 |
|
_Vi
| divVerent, Hiding branches from gitweb. Using refs not in "refs/head", but in "refs/locks" or something. | 19:34 |
|
divVerent
| tell them to NOT send you their private key | 19:34 |
|
| in case of openssh, you want the id_rsa.pub, not the id_rsa | 19:34 |
|
teloscientist
| it seemed weird that they would give me their key, but if that is how it is, that is how it is, | 19:34 |
|
| thanks! | 19:34 |
|
divVerent
| explicitly tell them to not email the private key | 19:34 |
|
| the correct file is one line long and starts with ssh-rsa or ssh-dsa | 19:34 |
|
| if it has -----STUFF---- in it it probably is wrong | 19:35 |
|
teloscientist
| I should as for their .pub not .rsa | 19:35 |
| ← Geralt left | 19:35 |
| ← Travis-42 left | 19:35 |
|
divVerent
| _Vi: refs/locks, looks like we're getting somewhere | 19:35 |
|
_Vi
| divVerent, 1. After every update some hook starts at user side and assigns "-r" to all binary files. | 19:36 |
| ← tek left | 19:36 |
|
_Vi
| divVerent, 2. User runs "./acquire_lock file.png". | 19:36 |
|
divVerent
| right, that chmods +w the file, and pushes the current head as branch with proper name | 19:37 |
| → radii joined | 19:37 |
|
_Vi
| divVerent, 3. The script does "git push origin <some_my_commit>:refs/locks/hash_of_file_pathname" | 19:37 |
| ← mmoya left | 19:37 |
|
divVerent
| now comes an idea... a push fails if that head already exists but cannot be fastforwarded to the rev you specify | 19:37 |
|
teloscientist
| @div - thanks a bunch! | 19:37 |
|
divVerent
| can that be used to make the locks atomic? | 19:37 |
|
_Vi
| divVerent, 4. If the push is rejected as non-fast-forward (the lock exists), the locking fails. | 19:37 |
|
divVerent
| exactly | 19:38 |
|
| but how to make it always non-fast-forward? | 19:38 |
| → mstrl joined | 19:38 |
|
divVerent
| if the lock already exists that is | 19:38 |
|
_Vi
| divVerent, 4b. The push succeeds. Scripts makes "+w". | 19:38 |
|
| divVerent, 5. Users edits the file | 19:38 |
|
divVerent
| stupid workaround: create an initial parent commit, and lots of child commits, one for each user ID | 19:38 |
|
| and always push the "user ID commit" :P | 19:38 |
|
| that ensures fastforward is not possible | 19:38 |
|
_Vi
| divVerent, 6. User runs "release_lock my_file". It uses "git add my file", "git push origin master:master" and "git push origin :refs/locks/hash_of_file_pathname". | 19:39 |
|
| divVerent, (Sorry, forgot "git commit") | 19:39 |
|
divVerent
| to remove the lock, execute two steps in sequence: first push a commit that has ALL the user ID commits as parent | 19:39 |
|
| then push-clear the branch | 19:40 |
|
| that'd be race condition free too | 19:40 |
|
_Vi
| divVerent, BTW this scheme requires almost no changes on the server side. | 19:40 |
|
divVerent
| right | 19:40 |
|
| for the ensuring that no fast forward can happen, it'd require some dummy commits at initialization | 19:40 |
|
_Vi
| divVerent, (You'll think it to the end and implement yourself, right?) | 19:40 |
|
divVerent
| one common parent, one for each user, and then lots of merges of all the users into one common head | 19:40 |
|
| right | 19:40 |
| ← samgranieri left | 19:40 |
|
Oxf13
| question, I've got a repo with a number of in-repo branches. Is there a way to easily look at a tag object and tell which branch the tag was created on? | 19:41 |
|
divVerent
| looks like good design now with that | 19:41 |
| ← mw44118-work left | 19:41 |
|
divVerent
| adding users to that system is simple too | 19:41 |
| ← cedric_ left | 19:41 |
|
_Vi
| divVerent, The main idea is requiring fast-forward pushes (the default), lock==branch_existence and using hashes of pathnames. | 19:41 |
|
divVerent
| right | 19:42 |
|
| although I may rather url-escape the pathname | 19:42 |
|
_Vi
| divVerent, Each user is some commit that we may push to refs/locks. | 19:42 |
|
divVerent
| so the branch names are human readable | 19:42 |
| ← cedricv left | 19:42 |
|
divVerent
| right | 19:42 |
| ← teloscientist left | 19:42 |
|
divVerent
| and to get lock-removing atomic... I just noticed we don't NEED that :P | 19:42 |
|
_Vi
| divVerent, Inside that commit there is "This is lock of Mary C. Jane" | 19:42 |
|
divVerent
| because, if you remove a lock, there's a precondition that you have created the lock | 19:43 |
|
| of course, all this assumes centralized workflow | 19:43 |
| loincloth → off_ | 19:43 |
| off_ → loincloth | 19:43 |
|
_Vi
| divVerent, BTW there may be hook on server which checks if users has locked the file it is pushing. | 19:43 |
|
divVerent
| sure, that is the simplest part | 19:44 |
|
| does git track file access rights? | 19:44 |
|
| like executable, writable? | 19:44 |
|
_Vi
| divVerent, No, only "+x" or not "+x" and only for files. | 19:44 |
|
divVerent
| okay, so like svn | 19:44 |
|
_Vi
| divVerent, Internally it has storage for file mode, but it is not used. | 19:45 |
| ← r11t left | 19:45 |
| → mattions joined | 19:46 |
| ← alley_cat left | 19:46 |
|
divVerent
| are there other ways to associate attributes with files? | 19:46 |
|
| and I mean in the files, not in a .gitattributes file? | 19:46 |
|
| think "svn properties" or "alternate data streams" | 19:47 |
|
_Vi
| divVerent, "chmod +x w", "git diff" -> "diff --git a/w b/w" "old mode 100644" "new mode 100755". But it's only for executable bit. | 19:47 |
|
divVerent
| sure | 19:47 |
|
| would be annoying in many use cases otherwise | 19:47 |
|
| like everyone once has had with cvs :P | 19:48 |
| → madewokherd joined | 19:48 |
|
_Vi
| divVerent, Be like "etckeeper". Store all modes separately and reapply them on checkout. | 19:48 |
|
divVerent
| I still wonder how git-cvsserver can be so damn fast | 19:48 |
| ← tg left | 19:48 |
| → tg joined | 19:49 |
|
divVerent
| I now REALLY use it for my dedicated game server | 19:49 |
|
_Vi
| divVerent, <joke>Don't say the word "CVS" on #git!</joke> | 19:49 |
|
divVerent
| to save the HD space for the history | 19:49 |
|
| _Vi: heeh | 19:49 |
| ← charon left | 19:49 |
|
divVerent
| I still wonder HOW that git-cvsserver thing can work at all | 19:49 |
|
| and there's many things I won't even think about, like pushing using it | 19:49 |
|
_Vi
| divVerent, You may use normal history for code and "git cvsserver" checkout for data. But it's when the data will stabilize. | 19:49 |
| → ignorabimus joined | 19:50 |
|
divVerent
| also, I wonder why it was made at all | 19:50 |
|
| why didn't the same people make a git-svnserver instead? | 19:50 |
|
| cvs is practically dead today | 19:50 |
|
| _Vi: well | 19:50 |
|
| in this specific case | 19:50 |
|
| I never touch any of the checked out files | 19:50 |
|
| but just pull | 19:50 |
| → alley_cat joined | 19:50 |
|
divVerent
| I know I could just as well use rsync and excluding the .git directory to keep it current | 19:51 |
| → charon joined | 19:51 |
|
divVerent
| but I still am amazed how fast this cvsserver thing is | 19:51 |
|
| takes 7 minutes for what git checks out in 16 minutes, and svn does in 30 | 19:52 |
|
_Vi
| divVerent, You can still use submodules and checkout specific commit with cvsserver. But it will be useful only when you need to update submodule much rarer than main code. | 19:52 |
|
divVerent
| checkout specific commit with cvsserver? | 19:52 |
| → JasonWoof joined | 19:52 |
|
_Vi
| divVerent, (You may write your script instead of "git submodule update") | 19:52 |
|
divVerent
| cvs can't do it | 19:52 |
|
| so how can cvsserver? :P | 19:52 |
|
_Vi
| divVerent, How do you checkout something with git-cvsserver? (I don't know CVS not git-cvsserver). | 19:53 |
|
divVerent
| like, does cvsserver add a specific syntax that allows specifying git revision hashes? | 19:53 |
|
| cvs -d:........ checkout reposiotryname | 19:53 |
|
| and | 19:53 |
|
| cvs update -r1.2.3.4 filename | 19:53 |
|
| but cvs has per-file revisions | 19:53 |
|
| and nonatomic commits | 19:53 |
|
_Vi
| divVerent, Give some real example of checking out something with git-cvsserver. | 19:53 |
|
divVerent
| one of the main disadvantages of it is the lack of any way to ensure consistency | 19:53 |
|
_Vi
| divVerent, "cvs -d:........ checkout reposiotryname" - what's after "-d" and what's "repositoryname"? | 19:54 |
|
divVerent
| http://141.2.16.23/cgi-bin/gitweb.cgi?p=darkplaces.git;a=summary | 19:54 |
|
| this contains a command | 19:54 |
|
ignorabimus
| nonatomic commits? oh, I'm spoiled obvousely. | 19:54 |
|
divVerent
| except that I typo'd it | 19:54 |
|
| put the checkout between the two -d options :P | 19:54 |
|
_Vi
| What is "div0-stable"? | 19:54 |
| ← jas4711 left | 19:54 |
|
divVerent
| a stable tree of the darkplaces engine | 19:54 |
| → sockmonk joined | 19:54 |
|
divVerent
| which itself is hosted in a svn | 19:54 |
|
| it's the branch name, basically | 19:54 |
|
_Vi
| divVerent, Can't it be like "e1d673c476de7c52da87275c3e9403abb5f42c92"? | 19:55 |
|
divVerent
| oh, never tried that | 19:55 |
|
| but if that works, one has to always do a full new checkout | 19:55 |
|
| hehe... I see it actually works... "sort of" | 19:55 |
|
| git-cvsserver creates a new database for that "branch name" :P | 19:55 |
|
_Vi
| divVerent, You have have special "CVS-helper-branch" in the repo. | 19:55 |
|
divVerent
| _Vi: yes | 19:56 |
|
| the repo was originally cvs | 19:56 |
|
| then converted to svn | 19:56 |
|
| and this is a git mirror of it | 19:56 |
|
| with an added branch | 19:56 |
| ← robinr left | 19:56 |
|
_Vi
| divVerent, <joke>Then it'll go reach nirvana</joke> | 19:56 |
|
| s/go // | 19:56 |
|
divVerent
| hehe | 19:56 |
|
| well | 19:56 |
|
| up to now it was always possible to preserve history :P | 19:56 |
|
| so when switching to git, we'll probably preserve history again | 19:57 |
|
_Vi
| divVerent, "git-svn". | 19:57 |
|
divVerent
| but, git allows to delete these stupid branches without bad side effects :P | 19:57 |
| → Aldwuin joined | 19:57 |
|
divVerent
| sure, this is a git-svn | 19:57 |
| ← bcardarella left | 19:57 |
|
divVerent
| a bare repo that a cron job "git-svn fetch"es into | 19:57 |
|
| but that cannot commit to svn | 19:57 |
| ← Axius_ left | 19:57 |
|
divVerent
| all pushes go into the non-svn branches | 19:57 |
|
| like the div0-stable | 19:57 |
|
_Vi
| divVerent, ? "git svn dcommit"? | 19:57 |
| ← jrmuizel left | 19:58 |
|
divVerent
| _Vi: what will happen if I put that in the cronjob? :P | 19:58 |
|
| well, currently it's an unidirectional mirror | 19:58 |
|
_Vi
| divVerent, It will commit on the schedule. | 19:58 |
|
divVerent
| although I would like to make it bidirectional | 19:58 |
| → xlistener joined | 19:58 |
|
_Vi
| divVerent, Let it commit to the special "from-git" branch. | 19:58 |
| → jrmuizel joined | 19:58 |
|
_Vi
| divVerent, ... then make this branch main thing ... | 19:58 |
|
| divVerent, ... then completely remove legacy SVN. | 19:59 |
|
divVerent
| actually... I think there is a path to remove legacy svn even without that | 19:59 |
|
| first, I think we'll work on the git, but only in newly created branches | 19:59 |
| → Paraselene_ joined | 19:59 |
|
divVerent
| and use dcommit on the clients to commit to svn | 19:59 |
|
| then, we eliminate the svn once everyone can do that | 19:59 |
|
| disadvantage of that is the stupid dcommit on the client | 20:00 |
|
| which I would indeed prefer on the server | 20:00 |
|
| what is this "from-git" branch? | 20:00 |
| → anno^da joined | 20:00 |
|
_Vi
| divVerent, When you eliminate the "rebase-genic" SVN it should become shinier. | 20:00 |
|
| divVerent, A branch in SVN repository. | 20:00 |
|
divVerent
| oh, a normal one | 20:00 |
| → robinr joined | 20:01 |
|
divVerent
| what use is it to commit to a new branch in svn? | 20:01 |
| ← mattions left | 20:01 |
|
divVerent
| then people checking out svn trunk won't get it | 20:01 |
|
_Vi
| divVerent, "git svn branch from-git". | 20:01 |
|
| divVerent, (Assuming there's "branches" and "tags" and git-svn knows about them) | 20:02 |
|
divVerent
| yes | 20:02 |
|
| that will then create a new branch on svn side too | 20:02 |
|
_Vi
| divVerent, It will create new branch at svn side. May be also some on git side. | 20:03 |
| → chalkbag_ joined | 20:03 |
|
_Vi
| divVerent, It will do like "svn copy http://qqq/trunk/ http://qqq/branches/from-git/". | 20:04 |
| ← ignorabimus left | 20:04 |
|
divVerent
| sure | 20:04 |
|
| I just don't see the use of that | 20:04 |
|
| then svn users commit into trunk | 20:04 |
|
| and I git-svn fetch, then git pull, and will eventually get it | 20:04 |
|
_Vi
| divVerent, The data from trunk get fetched to Git repository and then dcommited to that branch. | 20:04 |
|
divVerent
| but when I push from git, it'll get dcommit'ed into the git-svn branch | 20:04 |
|
| then the svn users working on trunk won't get my changes | 20:04 |
|
_Vi
| divVerent, Who merges? Who resolves conflicts between Git users and SVN users? | 20:05 |
|
divVerent
| ah, that is what i was missing | 20:05 |
|
| okay | 20:05 |
|
| so basically, we'd have to svn merge on the other side | 20:05 |
|
| we can't, the svn server does not support mergeinfo | 20:05 |
|
_Vi
| divVerent, SVN users need to get a diff from from-git branch and apply it to main thing. | 20:05 |
|
divVerent
| or can we do this on git side? | 20:05 |
|
| hm... but when that is done | 20:06 |
|
| then git will see this as a new changeset | 20:06 |
|
| and apply it again | 20:06 |
|
| wouldn't that cause conflicts? | 20:06 |
| ← chalkbag left | 20:06 |
|
_Vi
| divVerent, (But then we may get problems on git side when the changes return back from SVN...) | 20:06 |
|
divVerent
| which hell do we end up in if the git repo dcommits to svn trunk? | 20:06 |
|
_Vi
| divVerent, (It MAY consider that "This patch is already applied, skipping", but may be not) | 20:06 |
|
divVerent
| especially not if it needed manual resolution | 20:07 |
|
_Vi
| divVerent, To the trunk? What if conflict? | 20:07 |
|
divVerent
| if conflict, show some sort of error | 20:07 |
|
| is what I would prefer | 20:07 |
|
| so the user has to wait for the next git-svn fetch, fix the conflicts, and push again | 20:07 |
|
| just... not sure how this can be accomplished | 20:08 |
|
| as the change is already committed, just not pushed yet | 20:08 |
|
_Vi
| divVerent, In any case SVN will generate waves of disruption to Git users. | 20:08 |
|
divVerent
| still, the client can probably still rebase it | 20:08 |
|
| yes | 20:08 |
|
| for me it'd suffice if svn can be maitnained as a read-only copy of git for a while | 20:08 |
|
| many people want to check out | 20:08 |
|
_Vi
| divVerent, Because of "git svn" is "rebase-rebase-rebase-rebase". | 20:08 |
|
divVerent
| but not that many need to commit | 20:09 |
|
| _Vi: funnily not in my git-svn mirror :P | 20:09 |
|
| but well | 20:09 |
|
| it only fetches, works on a bare repository | 20:09 |
| ← kain left | 20:09 |
|
_Vi
| divVerent, Bare == No merges. | 20:09 |
|
divVerent
| sure, it's the published repo from that website | 20:09 |
|
_Vi
| divVerent, (except of fast forward) | 20:09 |
|
divVerent
| still works fine for me | 20:10 |
| → rudi_s joined | 20:10 |
|
wereHamster
| still solving that svn issue? | 20:10 |
|
divVerent
| well, I consider it solved "as good as possible"; but we're talking about ideas to make it better | 20:10 |
|
| is how I see it | 20:10 |
|
_Vi
| (Increasing the IRC log buffer) | 20:10 |
|
divVerent
| anyway, also just working on the "other trail" | 20:11 |
|
| and booted up my XP VM | 20:11 |
|
| and installed tortoisesvn | 20:11 |
|
| and now tortoisegit | 20:11 |
|
| let's see how it breaks, if it breaks | 20:11 |
|
| too many tortoises make the system slow? | 20:11 |
| → Tricon joined | 20:11 |
|
_Vi
| divVerent, Because of tortoise sounds similar to "turtle". | 20:12 |
| → martiin joined | 20:12 |
|
divVerent
| doesn't it even mean the same? | 20:13 |
|
| okay, one conflict between tortoisesvn and tortoisegit I see: both associate with .diff | 20:13 |
| → brodyberg joined | 20:13 |
|
tetha
| from what I know, on likes to be around and on land, while the other prefers the deep ocean | 20:14 |
|
divVerent
| does not sound serious to me | 20:14 |
|
tetha
| but I can't rembember which ones which | 20:14 |
|
ifvoid
| zeker ls je ook nog wat van oss moet weten | 20:14 |
|
divVerent
| well, I am German, and I am pretty sure both are "Schildkröte" :P | 20:14 |
|
ifvoid
| oeps | 20:14 |
|
tetha
| jep, but on is 'landschildkroete' and one is 'seeschildkroete' :) | 20:14 |
|
divVerent
| ah :) | 20:14 |
|
tetha
| I think however that tortoise is the ocean type | 20:14 |
|
_Vi
| /*Considered "turtle" as animal and "tortoise" as computer program before this*/ | 20:15 |
|
divVerent
| so the tortoise that achilles could not catch up with will never meat the ninja turtles | 20:15 |
|
| *meet | 20:15 |
| ← Adlai left | 20:15 |
|
divVerent
| turtle is on sea, tortoise is on land, says dict.leo.org | 20:15 |
| → Adlai` joined | 20:16 |
|
tetha
| hehe | 20:16 |
|
| buyt they might have met, as leonardo travelled to south america | 20:16 |
|
| ;) | 20:16 |
|
divVerent
| actually... | 20:17 |
|
_Vi
| </offtopic> | 20:17 |
|
divVerent
| given how much they are on land and on water | 20:17 |
|
| shouldn't the turtles be the tortoises then? | 20:17 |
|
| Never seek for realism in ANYTHING shown on a rectangular screen, or on paper. | 20:18 |
| ← bibinou left | 20:18 |
| → loinclot_ joined | 20:18 |
|
divVerent
| hm...hm... | 20:18 |
|
| sh-3.2$ git push | 20:18 |
|
| To ssh://gitosis@141.2.16.23/darkplaces.git | 20:18 |
| ← smuf left | 20:18 |
|
divVerent
| ! [rejected] master -> master (non-fast forward) | 20:18 |
|
| I never touched anything in master | 20:18 |
|
| but master got advanced on remote | 20:18 |
|
_Vi
| divVerent, Just update. | 20:18 |
|
divVerent
| is that normal? | 20:18 |
|
| sure, did that and it worked | 20:18 |
|
| just, I never touched master in my checkout | 20:18 |
|
_Vi
| divVerent, Somebody else has touched? | 20:19 |
|
divVerent
| and never will | 20:19 |
|
| nope | 20:19 |
|
| it got touched on remote | 20:19 |
|
| after a git pull, the push did exactly nothing (as it should) | 20:19 |
|
| basically, this tells me that I should probably have used a more specific push command | 20:19 |
|
_Vi
| divVerent, Somebody else has pushed, hasn't? | 20:19 |
|
divVerent
| as the default seems to try to push everything | 20:19 |
|
| yes | 20:19 |
| → johnw joined | 20:19 |
|
divVerent
| someone else has | 20:19 |
|
| but that is fine by me | 20:19 |
|
| but I also pulled | 20:20 |
|
| just, div0-stable was the active branch when I pulled | 20:20 |
|
| and not master | 20:20 |
|
| so I did git checkout master, git pull, git checkout div0-stable, git push | 20:20 |
|
| then it was fine | 20:20 |
|
| just... do I _have_ to do that? | 20:20 |
|
| I don't work in master | 20:20 |
|
| "for every head that exists on the local side" blabla | 20:21 |
|
| is the default of git push | 20:21 |
|
| can I make master not exist locally, and not be regenerated on next pull? | 20:21 |
|
_Vi
| divVerent, Personally, I always use fully qualified push and don't use "git pull". | 20:21 |
|
divVerent
| otherwise, "git push origin div0-stable" does what I want, but it's so much to type | 20:21 |
|
Fissure
| you can set push.default to change the behavior | 20:21 |
|
wereHamster
| divVerent: maybe you should set push.default to tracking | 20:21 |
|
| or something else than the default | 20:21 |
|
divVerent
| ah, that sounds good | 20:22 |
| ← Fissure left | 20:22 |
|
_Vi
| divVerent, Just don't use "git pull". | 20:22 |
|
| divVerent, fetch&merge. | 20:22 |
|
divVerent
| then an unqualified push won't attempt to push master? | 20:23 |
| → khmarbaise joined | 20:23 |
| loinclot_ → loincloth_ | 20:24 |
|
wereHamster
| divVerent: man git-config to see what values you can set push.default to and what they mean | 20:24 |
| → kkoehne_ joined | 20:24 |
|
divVerent
| ah, good | 20:24 |
| ← hyperair left | 20:24 |
| → hyperair joined | 20:25 |
|
Gitbot
| divVerent: the git-config manpage can be found at http://git.or.cz/man/git-config | 20:25 |
| → robin joined | 20:25 |
|
_Vi
| divVerent, It is especially useful when you are tracking multiple upstreams (like official linux kernel, zenkernel and "wireless testing" variant) | 20:25 |
| ← robinr left | 20:25 |
|
divVerent
| why do I want to git-fetch and merge separately | 20:25 |
|
| instead of doing pull? | 20:25 |
| robin → Guest98310 | 20:25 |
| ← rudi_s_ left | 20:26 |
|
divVerent
| that is, what is the difference | 20:26 |
|
_Vi
| divVerent, Do be sure what will it actually do. | 20:26 |
|
thiago_home
| divVerent: git pull = fetch + merge | 20:26 |
|
| so there isn't a difference | 20:26 |
| → thm joined | 20:26 |
|
divVerent
| thiago_home: well, the fetch part probably is the default | 20:27 |
| → ruediger_ joined | 20:27 |
|
divVerent
| and the merge part is probably origin/branchname | 20:27 |
|
thm
| can I teach git-mergetool somehow to call xxdiff with -m ? | 20:27 |
|
_Vi
| thiago_home, The difference is what branches will it process and where will it merge. Is using "git pull" a good idea when tracking multiple upstreams? | 20:27 |
| ← jast left | 20:28 |
|
_Vi
| thm, echo -e '#!/bin/sh\nxxdiff -m "%@"' > ~/bin/xxdiffm; chmod +x ~/bin/xxdiffm; # Something like this? | 20:29 |
|
thiago_home
| _Vi: I don't see why it would be a bad idea. | 20:29 |
| → loinclot_ joined | 20:29 |
| ← ruediger left | 20:29 |
|
divVerent
| to me it looks like git-pull does the same as git-fetch with the same arguments, then merges using git-merge HEAD FETCH_HEAD basically... | 20:29 |
|
_Vi
| s/\%/$/ | 20:30 |
|
divVerent
| but the fetch is the same as if you'd use git fetch, right? | 20:30 |
| ← tvw left | 20:30 |
|
divVerent
| but well, in my specific use case I often don't need to merge anyway | 20:30 |
|
| as I am the only committer in div0-stable, and I only read from mastere | 20:31 |
|
_Vi
| divVerent, (Still don't know what FETCH_HEAD does mean). | 20:31 |
|
thm
| _Vi: no. that doesn't work. | 20:31 |
| loinclot_ → loincloth__ | 20:31 |
|
_Vi
| thm, Has you substituted the wrong "%@" with "$@"? | 20:31 |
|
thm
| yep | 20:32 |
|
wereHamster
| _Vi: when you run 'git fetch origni foo' git doesn't store the branch in origin/foo but in FETCH_HEAD | 20:32 |
|
_Vi
| thm, This script should just call xdiff with "-m" and the rest arguments. | 20:32 |
|
thm
| _Vi: I understand. but that doesn't seem the way git-mergetool accepts a new/modified command. | 20:32 |
| → jast joined | 20:33 |
|
_Vi
| wereHamster, OK. I usually do just "git fetch origin" without refspec and then use "origin/" branches. | 20:33 |
|
| thm, The problem is necessity to specify "-m" or something else? | 20:33 |
|
wereHamster
| _Vi: 'git fethc origin' uses the configured refspec, which is usually refs/heads/*:refs/remotes/origin/* | 20:34 |
|
thm
| _Vi: it says: Unknown merge tool xxdiffm. (but xxdiffm is in the path) | 20:34 |
|
_Vi
| wereHamster, "+refs/heads/*:refs/remotes/origin/*" to allow forced. I consider this refscec as correct and other ones as strange. | 20:35 |
|
wereHamster
| other ones? | 20:35 |
| → mmoya joined | 20:36 |
|
_Vi
| _Vi, Like if it not in "remotes" or the directory name not the same as remote name or when it tries to fetch right in "refs/heads". | 20:36 |
| ← loincloth left | 20:36 |
|
_Vi
| s/^_Vi/wereHamster/ | 20:36 |
| ← sudoer left | 20:36 |
| ← schmukkk left | 20:37 |
| ruediger_ → ruediger | 20:38 |
|
_Vi
| wereHamster, E.g. after "git fetch xxx" I expect to have all remote "refs/heads" in my "refs/remotes/xxx" (even if not fast-forward). So the typical scheme is "git fetch xxx && git rebase xxx/<branch_name>" | 20:39 |
| → ctpaterson joined | 20:41 |
| ← kkoehne left | 20:42 |
|
ctpaterson
| Apologies if a stupid question; but I'm VPNed into a newly setup git repository, have put my public key into the keygen dir, and my user into the gitosis.conf; when I locally add the remote to my machine and try to do a push; I'm getting prompted for git@servername's password. My key has [email@hidden.address] and the server I'm VPNed into can not resolve mymachine.local -- does this explain why I'm prompted for | 20:43 |
| → Scorchin joined | 20:44 |
|
wereHamster
| ctpaterson: any comments in the key are irrelevant. What counts is that you can authenticate with the key | 20:44 |
|
_Vi
| ctpaterson, May be put your private key to $HOME/.ssh/id_dsa? | 20:44 |
|
ctpaterson
| I don't think so...this is the key I took from our previous repository server, which was local to our network...copied the conf, copied the keys. The NEW repo is in a land far away, and we VPN to it...and now I'm plagued with being prompted for git's password. | 20:45 |
|
_Vi
| ctpaterson, Do you have the private key? | 20:46 |
| ← kristian42 left | 20:46 |
|
wereHamster
| ctpaterson: can could use 'ssh -vvv user@server' to see which keys your client tries to send to the server, or why the server is rejecting the keys | 20:46 |
|
ctpaterson
| Looks like - I've got id_rsa and id_rsa pub in the .ssh dir of my local machine. | 20:47 |
|
_Vi
| ctpaterson, Is that "id_rsa.pub" the same as server knows? | 20:47 |
| ← d0k left | 20:47 |
|
ctpaterson
| _Vi: checksums match | 20:48 |
|
_Vi
| ctpaterson, Then use "ssh -v -v -v" to see messages. | 20:48 |
| ← loincloth_ left | 20:48 |
|
ctpaterson
| Used -vvv ...many, many messages...going through now, looking for something I understand... | 20:48 |
|
_Vi
| ctpaterson, Look for ones with "id_dsa.pub" and "private key" or "public key". | 20:49 |
|
ctpaterson
| ssh -vvv seems to use my private key... refers to id_rsa, anyway. | 20:50 |
|
_Vi
| ctpaterson, Ans still asks a password? | 20:50 |
|
cbreak
| ssh-add helps? | 20:50 |
|
ctpaterson
| I may have misunderstood here...when I launched ssh - it wasn't in the context of git... Is ssh another way to add a remote? | 20:51 |
|
_Vi
| ctpaterson, Is your private key protected with a passphrase? | 20:51 |
|
ctpaterson
| _Vi: no | 20:51 |
| ← alley_cat left | 20:51 |
|
wereHamster
| ctpaterson: git uses ssh, and running ssh directly is a way to diaglose authenetication problems | 20:52 |
|
ctpaterson
| Also; the user I use on the remote machine is not the same username as I use locally. On my machine, I'm me...on the server, I'm an admin. | 20:52 |
|
cbreak
| ssh -u admin otherserver.local | 20:52 |
|
| no | 20:52 |
|
| ssh -l admin | 20:52 |
|
keystr0k
| how do I generate a patch file without any git information associated... I use git, but the patch is being submitted to an open source project... I don't know much about this stuff. | 20:53 |
|
_Vi
| keystr0k, "git diff -p"? | 20:53 |
|
keystr0k
| -p... I'll look into that | 20:53 |
|
| _Vi: thanks | 20:53 |
|
ctpaterson
| cbreak: I'm sorry..."ssh -vvv -l admin@server" ? | 20:53 |
|
charon
| keystr0k: gnu patch will understand the patch if it was generated with default settings, despite the 'diff --git' header | 20:54 |
| → keex joined | 20:54 |
| ← nothingHappens left | 20:54 |
|
keystr0k
| charon: okay... and the commit info should be ignored too? | 20:54 |
|
charon
| indeed, but that also happens transparently | 20:54 |
|
keystr0k
| perfect! thanks charon | 20:55 |
|
charon
| keystr0k: extended git features like renames, binary patches and such cause problems | 20:55 |
|
| but these aren't on by default | 20:55 |
|
keystr0k
| git diff --relative signup/signup.module | 20:55 |
| → sgh joined | 20:55 |
| → alley_cat joined | 20:55 |
|
keystr0k
| looks pretty straightforward... cool beans | 20:55 |
| ← ifvoid left | 20:56 |
| → kristian42 joined | 20:56 |
| Adlai` → Adlai | 20:57 |
|
ctpaterson
| Have I run up against a wall on this? | 20:59 |
| → ToxicFrog joined | 21:00 |
| → jas4711 joined | 21:00 |
| → jumoit joined | 21:00 |
|
mugwump
| ctpaterson: run sshd -d on the server | 21:01 |
|
| then connect to it | 21:01 |
|
| that should tell you why the key is being rejected | 21:01 |
|
_Vi
| ctpaterson, Are permissions of "authorized_keys" and parents OK? | 21:01 |
|
ctpaterson
| _Vi: 644 for the admin account for the keys | 21:02 |
| ← jas4711 left | 21:03 |
|
ctpaterson
| wugwump: sshd is running under root...is there a log I can look at under its current exec? | 21:03 |
| → jas4711 joined | 21:03 |
|
_Vi
| ctpaterson, "og-w" for authorized_keys, ".ssh" directory, your home and "/home" directory and "/". | 21:03 |
|
ctpaterson
| _Vi: "authorized_keys"? I don't see that anywhere. In keydir, known_hosts o and g already are denied w permission. | 21:05 |
|
_Vi
| ctpaterson, /var/log/auth.log | 21:05 |
|
| ctpaterson, Where has you stored your pubkey on server? | 21:05 |
| ← squarism left | 21:05 |
| ← GeertB left | 21:06 |
| ← kraymer left | 21:06 |
|
_Vi
| ctpaterson, Put your pubkey into ~/.ssh/authorized_keys | 21:06 |
|
ctpaterson
| _Vi: gitosis-admin/keydir/ | 21:06 |
|
| _Vi: I don't require a "me" user on the server, do I? | 21:07 |
|
_Vi
| (Still don't know if "gitosis" just some hosting for git or some piece of software) | 21:07 |
|
| ctpaterson, on server: "cat /etc/ssh/sshd_config | grep AuthorizedKeysFile" | 21:08 |
|
ctpaterson
| _Vi: gitosis is (according to my book) "a tool for managing a remote git server and its repositories". | 21:08 |
| → GeertB joined | 21:08 |
| ← jrmuizel left | 21:09 |
| → jrmuizel joined | 21:09 |
|
ctpaterson
| _Vi: sshd_config has %h/.ssh/authorized_keys | 21:10 |
|
_Vi
| ctpaterson, Mine too. | 21:10 |
|
| ctpaterson, So put your pubkey into $HOME/.ssh/authorized_keys | 21:10 |
|
| ctpaterson, (Pubkey of the _connecting_ part, not server's one). | 21:11 |
| nonken → nonken_afk | 21:11 |
| → drizzd joined | 21:12 |
|
phadviger
| hi... when i do a git pull i get the following error: Your configuration specifies to merge the ref '4444-test-branch' from the remote, but no such ref was fetched. i already did a git remote prune origin, what else do i need to do to clean up this error? | 21:15 |
| ← reprore left | 21:16 |
| nonken_afk → nonken | 21:16 |
|
ctpaterson
| _Vi: Well, putting my key into the authorized_keys file instead of the one that was there did seem to get me past the authorization...but as a hack - not expandable. Still, I think this led me to the solution. On our former server, it's got a whole mess of keys in that file (one per developer), and in the new server, ours are missing. I think it's about wrestling gitosis to update that file properly. | 21:17 |
|
_Vi
| ctpaterson, What is not expandable? | 21:18 |
|
ctpaterson
| _Vi: Thanks very much for your help | 21:18 |
| → shruggar joined | 21:18 |
| → mjf joined | 21:18 |
| → belak joined | 21:18 |
|
_Vi
| ctpaterson, You can put multiple keys into this file. | 21:18 |
|
belak
| Is there a way to output the current command for a repo? Like so I can get it with bash? | 21:18 |
|
ctpaterson
| _Vi: Oh, I'm sure it is - there are just warnings everywhere about how gitosis generated this file, and I'm not to touch it. One way or another, though, I can get this problem solved now. It's not too hard to figure out how gitosis is creating the file. | 21:19 |
|
_Vi
| belak, What is "current command for the repository"? How you doing it in bash? | 21:19 |
|
ctpaterson
| _Vi: My main problem was I couldn't figure out why my key wasn't accepted...now I know, thanks to you. | 21:19 |
|
_Vi
| ctpaterson, I don't know what relation has Gitosis to SSH and it's keys. | 21:19 |
|
ianmcorvidae
| gitosis manages the .ssh/authorized_keys file of its user for you | 21:20 |
|
ctpaterson
| _Vi: gitosis is supposed to manage all that for me so my life is easier. | 21:20 |
|
belak
| It's just a git pull | 21:20 |
|
| sorry | 21:20 |
|
| git fetch | 21:20 |
|
_Vi
| ctpaterson, So, to remove "the hack" you should now get why Gitosis hasn't placed your key to authorized_keys file. | 21:21 |
|
belak
| what about cat .git/refs/heads/master | 21:21 |
|
| ? | 21:21 |
|
ctpaterson
| _Vi: Yup...or just take the one from former server. I prefer to figure out what step I've clearly missed...but I've gone over the procedure a few times now. | 21:22 |
|
_Vi
| belak, Don't know what do you want to see. What is a "command"? | 21:22 |
| ← drizzd_ left | 21:22 |
|
ianmcorvidae
| belak: what do you want as a return value from this command? | 21:23 |
| ← loincloth__ left | 21:23 |
|
belak
| It's for an update script for the kernel | 21:23 |
|
ianmcorvidae
| that does not answer either question | 21:23 |
|
| answer the questions we ask or we cannot and will not help you | 21:23 |
|
belak
| I want it to do a git pull and then run the make only if the commit id has changed | 21:23 |
|
| I was typing. | 21:24 |
|
| Sorry | 21:24 |
|
ianmcorvidae
| 'git rev-parse <revision>' will give you the sha1 of that revision | 21:24 |
|
_Vi
| belak, So you want something like "git pull | grep Updating && make"? | 21:25 |
|
ianmcorvidae
| if you don't mind doing a pull instead of a fetch you could do a git pull <origin> then see if git rev-parse HEAD has changed | 21:25 |
|
| what Vi suggests would work as well | 21:25 |
|
belak
| I like seeing the output of the pull/fetch... | 21:25 |
|
_Vi
| belak "git pull | tee /dev/stderr | grep Updating && make"? | 21:26 |
|
belak
| Duh. Thanks. Sorry, I'm kinda new to git.. | 21:26 |
|
ianmcorvidae
| otherwise you could do something like git fetch origin then check git rev-parse HEAD vs. git rev-parse origin/HEAD | 21:26 |
|
| if you, like me, think grepping the pull is a bit of a hack :) | 21:27 |
|
belak
| Yeah | 21:27 |
| ← mmoya left | 21:27 |
|
belak
| I'm gonna go with ianmcorvidae's idea... comparing the 2 variables | 21:27 |
|
| Thanks | 21:27 |
|
_Vi
| Why there's no "git pull --porcelain"? | 21:27 |
| → schierbeck joined | 21:28 |
| ← ctpaterson left | 21:28 |
|
_Vi
| (going offline) | 21:28 |
| ← _Vi left | 21:29 |
| ← Oxf13 left | 21:30 |
| ← pklingem2 left | 21:30 |
| → psoo joined | 21:30 |
|
Jaxoreth
| Why not run make unconditionally? | 21:31 |
|
belak
| Because I don't want to compile the kernel if I don't have to and it's already compiled... | 21:31 |
| ← CarlFK2 left | 21:31 |
| → blaenk joined | 21:32 |
|
blaenk
| hey guys is there a quick way to revert to a previous commit (the immediate previous one) | 21:32 |
| ← GeertB left | 21:32 |
|
blaenk
| I just commited something I'd like to 'take back' | 21:32 |
|
Jaxoreth
| Isn't the point of make not to regenerate products that are already up to date? | 21:32 |
|
| blaenk: man git-reset | 21:33 |
|
Gitbot
| blaenk: the git-reset manpage can be found at http://git.or.cz/man/git-reset | 21:33 |
|
blaenk
| I was specifically looking for a shortcut, I forgot the shortcut for the previous commit | 21:33 |
|
Jaxoreth
| To undo a commit, `git reset --soft HEAD^` | 21:33 |
|
blaenk
| it's something like HEAD^ or something | 21:33 |
|
| thank you Jaxoreth | 21:33 |
|
| just a quickie, ^ is one back I believe so I can do ^^ for two back, I forgot what ~ is? | 21:34 |
| ← johnw left | 21:34 |
| → loincloth joined | 21:34 |
|
Jaxoreth
| commit~3 is commit^^^ | 21:34 |
| ← ntoll left | 21:34 |
|
blaenk
| oh I see so it's like a shortcut, thanks Jaxoreth | 21:34 |
| ← ShadeHawk left | 21:35 |
| → Oxf13 joined | 21:36 |
| ← orafu left | 21:36 |
| ← belak left | 21:36 |
| ← mstrl left | 21:37 |
| ← kipras_ left | 21:37 |
| → agenteo joined | 21:37 |
| ← alley_cat left | 21:37 |
| → orafu joined | 21:37 |
| → corp joined | 21:39 |
| ← krynnotaur left | 21:40 |
|
corp
| hello. i'm trying to get a git post-receive hook to work | 21:40 |
|
| i have a shell script that just contains: echo $3 | 21:40 |
|
| $3 in theory should contain the ref | 21:40 |
| ← maattd left | 21:40 |
|
corp
| but it's just blank | 21:40 |
| → maattd joined | 21:41 |
| → cedric_ joined | 21:41 |
| ← malumalu left | 21:41 |
| ← kpreid_ left | 21:42 |
| → GeertB joined | 21:42 |
| → kpreid_ joined | 21:42 |
|
corp
| anyone know why this might be? | 21:43 |
|
blaenk
| Jaxoreth: uh oh, you mind helping me, when I made that commit I wanted to revert, I pushed it too, so now this 'git reset --soft HEAD^' commit wont push | 21:43 |
|
| gives the rewind error | 21:43 |
|
| non-fastforward | 21:43 |
| → niki joined | 21:43 |
| ← auslander left | 21:44 |
| → cedricv joined | 21:45 |
| aroben → aroben|away | 21:46 |
|
Altreus
| k so the ancientness of the version notwithstanding (1.5.2.4), when I run git rebase --skip it tells me the conflicted file is dirty and it can't continue. What does this mean, in practical terms? | 21:47 |
| ← smckinney left | 21:47 |
|
Altreus
| Does it mean that the next patch relies on this patch, so if I skip it it won't work? | 21:47 |
|
| I thought this might be the case but it doesn't seem to apply | 21:48 |
| ← khmarbaise left | 21:48 |
| → timcharper joined | 21:48 |
| ← psoo left | 21:48 |
| ← cedric_ left | 21:49 |
|
Jaxoreth
| blaenk: You have two options: either rewrite history, or revert on top of the bad commit | 21:49 |
| → bambule joined | 21:50 |
|
Jaxoreth
| If nobody else is using your upstream repo, you can safely rewrite history. | 21:50 |
|
blaenk
| how would I go about reverting on top of the bad commit | 21:51 |
| ← mw44118-1ork left | 21:52 |
|
blaenk
| you understand what happened right, I did the reset --soft on my end to revert a commit that I had already pushed, so when i tried to push the reset commit, it wouldn't let me | 21:53 |
|
Ilari
| blaenk: First look up the lost commit from 'git reflog', and then 'git reset --soft <commit>'. | 21:53 |
|
| blaenk: Reset does not make new commits! | 21:53 |
|
blaenk
| weird, cause I did git status and it said a file was modified | 21:53 |
|
| and I didn't edit anything in the file | 21:53 |
|
| okay so I get the commit sha of what commit? | 21:54 |
|
| the commit i tried to push after i did git reset? | 21:54 |
|
| or HEAD^: Updating HEAD | 21:54 |
|
Ilari
| blaenk: There should be line for reset in reflog, right? | 21:54 |
|
blaenk
| well there's | 21:55 |
|
| HEAD^: Updating HEAD | 21:55 |
|
Ilari
| blaenk: One before that HEAD^: Updating HEAD line. | 21:55 |
|
blaenk
| nope | 21:55 |
|
| nothing shows up regarding any reset | 21:55 |
|
| the one before that is my own commit | 21:55 |
| ← keystr0k left | 21:55 |
| → infoG joined | 21:55 |
| → botanicus_ joined | 21:55 |
|
Ilari
| blaenk: That 'HEAD^: Updating HEAD' is the line the reset caused. | 21:56 |
|
infoG
| hi | 21:56 |
|
blaenk
| right that's what I figured | 21:56 |
|
| but you say there's another line I should look for? | 21:56 |
| ← rgr left | 21:57 |
|
Ilari
| blaenk: The one immediately after that 'HEAD^: Updating HEAD' line. | 21:57 |
|
| blaenk: (its like for your commit). | 21:57 |
|
blaenk
| ohhh right | 21:57 |
|
| right | 21:57 |
|
| the message for it is 'removing previous changes' so yeah | 21:57 |
|
| so I should get the sha for that one | 21:57 |
| ← cilly left | 21:57 |
|
blaenk
| and again do git reset --soft <the sha> | 21:57 |
|
Ilari
| blaenk: Or the 'HEAD@{nnn}' it shows. | 21:58 |
|
infoG
| i made some changes to a local copy of a project that has since been updated. how do i cancel my changes and mirror the mainline exactly? | 21:58 |
|
blaenk
| and that should put me back at the position my remote origin is at? | 21:58 |
|
Ilari
| infoG: man git-reset (some modes are quite dangerous). | 21:58 |
|
Gitbot
| infoG: the git-reset manpage can be found at http://git.or.cz/man/git-reset | 21:58 |
|
Ilari
| infoG: (and one needs the commits locally, for that presumably 'git remote update'). | 21:59 |
|
infoG
| ok thanks | 21:59 |
|
blaenk
| Ilari: ? | 22:00 |
|
Ilari
| infoG: And usually you don't want to cancel your changes, you want to merge them. | 22:00 |
|
| blaenk: Right. | 22:00 |
|
infoG
| well, my changes have been worked around | 22:00 |
|
| so they're not needed any more | 22:01 |
|
blaenk
| Ilari: after I do that reset, I should just commit and then push should work? | 22:01 |
|
Ilari
| infoG: There's also rebase (one can just skip commits that have appiled). | 22:01 |
| ← fcuk112 left | 22:02 |
|
Ilari
| blaenk: After that reset, you presumably want to do 'git revert HEAD' to undo what the last commit did. | 22:02 |
|
blaenk
| okay | 22:02 |
| ← Tuomas left | 22:02 |
|
blaenk
| after the reset, reflog didn't change, this is normal right | 22:02 |
|
Ilari
| blaenk: That reset should have added new entry to reflog. | 22:02 |
| → Tuomas joined | 22:03 |
|
blaenk
| :/ | 22:03 |
|
Ilari
| blaenk: Did the bad commit apper into 'git log'? | 22:03 |
|
blaenk
| I don't understand waht you mean by bad commit, the commit that's not letting me push? | 22:03 |
|
| yeah it's in git log right now | 22:03 |
| ← cedricv left | 22:03 |
|
blaenk
| look watch | 22:03 |
|
| the weird thing is that | 22:03 |
|
| now the original commit is not there, the commit that I wanted to revert | 22:04 |
|
| you know what I mean? | 22:04 |
|
| eh this is confusing, watch, I originally made a commit, decided I didnt wnat it so I did the reset, but the reset then didnt let me push, the ORIGINAL commit at the beginning of this sentence is the one that is no longer there in my git log | 22:04 |
|
Ilari
| blaenk: Reflog entries don't disappear automatically except by expiring (and the expiry time is quite long). | 22:04 |
| → parolang2 joined | 22:04 |
| → onigiri_ joined | 22:05 |
|
blaenk
| no i mean git log | 22:05 |
|
| it's no longer in git log | 22:05 |
|
| so what im saying is, my end now looks fine it's just that i cant push | 22:05 |
| → gitte joined | 22:05 |
|
Ilari
| blaenk: Push will be broken until one gets it back there. | 22:05 |
|
blaenk
| I kind of feel like just re-cloning | 22:05 |
|
| oh okay so I should just reclone | 22:06 |
|
Ilari
| blaenk: Can you pastebin the reflog output so I can look? | 22:06 |
|
blaenk
| and then do the changes manually | 22:06 |
|
| sure thing | 22:06 |
|
| hyperair groans. the kernel sure has a lot of objects | 22:06 |
|
timcharper
| blaenk: did you push the commit you decided you didn't want ? | 22:06 |
|
Ilari
| timcharper: Yes, they did. | 22:07 |
|
blaenk
| yeah that's what I said from the beginning, my mistake I know I know | 22:07 |
|
timcharper
| (I'm assuming that you did) | 22:07 |
|
| okay, has anybody else pulled that commit? | 22:07 |
|
hyperair
| 1318016 390000 (vsz followed by rsz for git repack) | 22:07 |
|
blaenk
| but I mean, I could've just pushed a new commit where I manually reverted the changes by editing the file, but I figured there was a 'git shortcut' for that | 22:07 |
| → krynnotaur joined | 22:07 |
| ← BigMack83 left | 22:07 |
|
blaenk
| which is when someone told me to do git reset --soft HEAD^ | 22:07 |
|
timcharper
| blaenk: has someone pulled it ? | 22:07 |
|
Ilari
| blaenk: That's ok if it wasn't pushed, but it was... | 22:07 |
| ← univate left | 22:08 |
|
blaenk
| after that, git status showed a file was modified (not me) and then I commited it and when I tried to push it gave the non fast worward one | 22:08 |
|
| no one has pulled it I'm the only one on this repos | 22:08 |
| → agile joined | 22:08 |
|
timcharper
| Right, because git reset without a --hard preserves the working directory in the state. | 22:08 |
|
Ilari
| blaenk: Well 'git push -f <remote> <branc> | 22:08 |
| ← shruggar left | 22:08 |
|
Ilari
| ? | 22:08 |
| ← capndiesel left | 22:08 |
|
blaenk
| I can just reclone the repository from the origin (github) and manually revert the changes by editing the file but I figured there would be a fix | 22:08 |
|
| I guess I should just do that, reclone, I don't want to get things messy | 22:08 |
|
timcharper
| blaenk: you can do this: git reset --hard origin/master | 22:08 |
|
blaenk
| http://pastie.org/769404 reflog | 22:08 |
|
Ilari
| blaenk: No, you shouldn't. | 22:09 |
|
timcharper
| that will be kind of the same thing as a reclone | 22:09 |
|
blaenk
| reset --hard origin/master sounds right, should I? | 22:09 |
| → univate joined | 22:09 |
|
timcharper
| yes, | 22:09 |
|
Ilari
| blaenk: 'git reset --soft HEAD@{2}'. | 22:09 |
|
| blaenk: Watch out: reset --hard is _destructive_. | 22:10 |
|
timcharper
| yes, probably best to run a git stash first | 22:10 |
|
blaenk
| okay so I'll do what you say llari then what | 22:10 |
| ← lucsky left | 22:10 |
|
timcharper
| (if you use --hard) | 22:10 |
|
Ilari
| blaenk: Even worse idea. | 22:10 |
|
blaenk
| what? | 22:10 |
|
Ilari
| blaenk: Oh. | 22:11 |
|
| blaenk: After soft reset, presumably 'git rever HEAD'. | 22:11 |
|
| *revert | 22:11 |
|
blaenk
| okay hope this works | 22:11 |
| ← RobertLaptop left | 22:11 |
|
Ilari
| blaenk: Well, except that local changes can come to mess things up... | 22:11 |
| ← rseifert left | 22:11 |
| → anjen1 joined | 22:11 |
| ← name left | 22:12 |
|
blaenk
| okay the revert correctly reverted the tag styling, llari | 22:12 |
|
| (annoying how I can't tell what characters are in your name to tab complete haha) | 22:12 |
|
Ilari
| blaenk: Use serif font. | 22:12 |
|
blaenk
| so should I try to push now llari? | 22:12 |
|
Altreus
| suggest changing fonts | 22:12 |
|
blaenk
| I like this font | 22:12 |
|
Altreus
| It's an i or an l isn't it really | 22:13 |
|
blaenk
| should I try to push now? | 22:13 |
|
Altreus
| Try both | 22:13 |
|
Ilari
| blaenk: Yes. Push should work now. | 22:13 |
| ← jrmuizel left | 22:13 |
| → crazy3k joined | 22:13 |
|
blaenk
| YES IT WORKED! | 22:13 |
|
| you're the best Ilari :) | 22:13 |
|
| did the previous reset you told me help to do this or was it irrelevant | 22:13 |
|
| the one where I did git reset --soft 'commit after HEAD^ in reflog' | 22:13 |
| → sourcemaker joined | 22:14 |
|
Ilari
| blaenk: The proper way would have been either to reset + force-push or revert + push. | 22:14 |
| ← mbroeker left | 22:14 |
|
Ilari
| blaenk: The first way tends to mess others up. | 22:14 |
|
blaenk
| force push sounds messy | 22:14 |
|
anjen1
| newbie question: How often do you do commits? Or better, how often *should one do commits? Looking for "best practice" conept as a newbie | 22:14 |
|
blaenk
| yeah I know the proper way but I mean from what you said | 22:14 |
| → Dr1Horrible joined | 22:14 |
|
blaenk
| thanks Ilari | 22:14 |
|
Dr1Horrible
| I want to ignore everything except a couple of files or directorys, so I have * in gitignore with below that a list of files and directories preceded by a !, still it doesnt unignore my directories | 22:15 |
|
timcharper
| does Emacs have any hooks that you can tie into that get called when the window is focused? | 22:15 |
| ← froschi left | 22:17 |
|
Ilari
| anjen1: Quite often (try to get logical chunks). The staging area is quite useful for that. One can later split/merge/edit commits. | 22:17 |
|
timcharper
| Dr1Horrible: according to the man page for gitignore, ! Overrides any previous pattern | 22:18 |
|
| have you tried #git? They are very helpful folks over there. | 22:18 |
|
Dr1Horrible
| timcharper: It does for files, but not for directories | 22:19 |
|
| Isnt this #git? | 22:19 |
|
Ilari
| timcharper: Err... This is #git. :-) | 22:19 |
|
anjen1
| Ilari, thanks. That's what I had in mind, just wasn't sure if it was considered bad form to have many commits. I figure since I'm kinda new, when I do something right I want to know I can get back there if a fudg womething up later... | 22:19 |
|
| *something | 22:19 |
|
timcharper
| oh, it is? well, em, why yes it is. as you were. | 22:19 |
|
Ilari
| anjen1: I usually don't even compile-test what I make, compiling the final result and backporting fixes. | 22:20 |
|
anjen1
| ooh...did I ask in the wrong forum? | 22:20 |
|
| ilari, understood. | 22:20 |
|
timcharper
| I was wondering why there is so many git questions going on in #Emacs. | 22:20 |
|
| ^is^were | 22:20 |
|
anjen1
| ah...once the conv starts in a forum, it kinda goes until someone resets it, if you kjnow what I mean...off topic banter | 22:21 |
| ← gitte left | 22:21 |
|
Ilari
| anjen1: And besides, commits are fast. | 22:21 |
| ← Guest98310 left | 22:21 |
|
anjen1
| ilari, gotcha. so do you also push them with the same frquency? | 22:22 |
|
| *push them to git that is | 22:22 |
|
Ilari
| anjen1: No. Test first. | 22:22 |
|
anjen1
| ilari...understood...will do. good advise | 22:22 |
|
Ilari
| anjen1: Fixing mistakes before pushing is much easeier than after pushing. | 22:22 |
|
anjen1
| ilari, btw, everryhting gets teted before I commit | 22:22 |
|
| *everything gets tested | 22:23 |
|
Ilari
| anjen1: Yeah. Good to test it before commit (it needs testing before pushing anyway). | 22:23 |
| → jrmuizel joined | 22:23 |
| ← LiamH left | 22:23 |
|
anjen1
| ilari, I'm wondering this: 1. I write/modify code. 2. I make sure it works and doesn't mess things up. 3 commit completed subtask...4 push | 22:24 |
|
| ilari, so is that acceptable method?^ | 22:25 |
|
Ilari
| anjen1: Commits can group into larger groups that are pushed at once. | 22:25 |
| ← crazy3k_ left | 22:25 |
|
Ilari
| anjen1: Such as 'remote helper extensions' for git itself, which was group of 8 commits. | 22:25 |
| ← loincloth left | 22:25 |
|
anjen1
| Ilari, beautiful. the exact answer I was hoping for. I *was wondering if multiple commits would push without showing history, but I suppose that's sillly...wouldn't make sense | 22:26 |
| ← DavidKlein left | 22:26 |
| → Lisimba joined | 22:26 |
|
Dr1Horrible
| Does no one know how to unignore directorys? | 22:26 |
|
wereHamster
| !directory/ | 22:26 |
|
Dr1Horrible
| wereHamster: That doesnt work:S | 22:26 |
|
warthog9
| ShadeHawk: ok I'm starting ti import your changes into my tree for review, sorry this has taken so long | 22:27 |
|
wereHamster
| Dr1Horrible: maybe it's easier to add just '*' to gitignore and explicitely track the few files you want | 22:27 |
| → schmukkk joined | 22:27 |
|
Ilari
| anjen1: Individual branches are updated atomically in push. So fetcher never sees intermediate states for individual refs. | 22:28 |
|
Dr1Horrible
| But it's my ~ amd tjem tjere will be files in there that i dont want tracked | 22:28 |
|
parolang2
| Sorry guys, I'm new to get. I have two repositories that mirror the same data on two machines. I git fetch it from the other machine but it doesn't update the working tree. The git fetch seems to work, but what do I need to do to update the working tree? | 22:28 |
| → makeworkeasy joined | 22:28 |
|
parolang2
| Err, I'm new to *git :) | 22:29 |
|
anjen1
| ilari. Understood. but intermediate *commit history* is sitill recorded, yes? | 22:29 |
| ← orafu left | 22:29 |
|
wereHamster
| parolang2: git merge (or git pull, as pull = fetch+merge) | 22:29 |
|
Ilari
| anjen1: Yes. | 22:29 |
|
anjen1
| ilari ttyy | 22:29 |
| → orafu joined | 22:29 |
|
anjen1
| mt | 22:29 |
|
parolang2
| wereHamster: Okay, thanks | 22:29 |
|
anjen1
| ilari, thanks for the lesson. I finally get it...or at least this part ;) | 22:30 |
|
parolang2
| wereHamster: Hmm...didn't update. I'll try to figure it out. | 22:31 |
|
wereHamster
| parolang2: what exactly did you run? | 22:31 |
|
Ilari
| anjen1: Sometimes groups get grouped as well. I have seen >100 commit "groups" (at least one gets that impression looking at commit timestamps, which span about 7 seconds). | 22:31 |
| ← Ratler left | 22:33 |
| → Ratler joined | 22:33 |
|
parolang2
| wereHamster: I did git pull from my other machine. | 22:33 |
|
wereHamster
| parolang2: no error message? | 22:34 |
|
parolang2
| wereHamster: no | 22:35 |
|
wereHamster
| probably your branch tracking is set up wrong | 22:35 |
|
| git doesn't fetch or merge the correct branch\ | 22:35 |
|
anjen1
| ilari, not sure what a commit group is yet | 22:35 |
|
parolang2
| wereHamster: Okay, that sounds like it could be it. I'm reading the user manual :) | 22:35 |
|
Dr1Horrible
| I now have every directory unignored except the ones with only subdirectorys | 22:36 |
| ← intripoon left | 22:36 |
| ← madewokherd left | 22:36 |
| → _Vi joined | 22:39 |
| ← infoG left | 22:41 |
|
Ilari
| anjen1: Commits that are pushed/sent/committed at once. Not really recorded. | 22:42 |
| → amerine joined | 22:43 |
|
anjen1
| ilari. ok. gotcha. I'll do a few minor commits and push to see for myself. Prolly a good thing to do for experience anyway. | 22:43 |
| ← tedoc2000 left | 22:46 |
| aroben|away → aroben | 22:46 |
|
bentob0x
| is there a way that when you pull a set of patches into master, that instead of having one big merge patch, it goes through all the patches one by one and stops at every conflicts (a bit like a git-rebase for instance) | 22:46 |
| → mmoya joined | 22:46 |
| → tedoc2000 joined | 22:47 |
| ← Dr1Horrible left | 22:48 |
| → drewolson joined | 22:48 |
| → project2501a joined | 22:48 |
| ← notjohn left | 22:48 |
| → Nazcafan joined | 22:50 |
|
Nazcafan
| hello | 22:50 |
|
_Vi
| bentob0x, "git pull --rebase"? | 22:50 |
|
Nazcafan
| I made a copy of my $HOME on an external drive and back | 22:51 |
|
Ilari
| bentob0x: No easy way (but I have done that once). | 22:52 |
|
Nazcafan
| but now when I git status in ~/my_git_local_repo it says: fou@leila:~/publis$ git status | 22:52 |
|
| fatal: Not a git repository (or any of the parent directories): .git | 22:52 |
|
| I don't know what went wrong | 22:52 |
|
_Vi
| Nazcafan, Have you copied the ".git" directory? | 22:53 |
|
Nazcafan
| _Vi, it seems so, I can see it when I ls -a | 22:53 |
|
_Vi
| Nazcafan, Is there "HEAD" inside it? "objects", "refs"? | 22:54 |
|
| Nazcafan, What's in "HEAD"? | 22:54 |
| |Rolenun| → Rolenun | 22:55 |
|
Nazcafan
| _Vi, there is no HEAD | 22:56 |
|
| _Vi, here are the contents: http://paste.debian.net/55842/ | 22:56 |
| ← pantsman left | 22:56 |
| ← __iron left | 22:56 |
|
Nazcafan
| there is a "head" though (small case) | 22:56 |
|
_Vi
| Nazcafan, Rename it to uppercase one. | 22:57 |
| ← priidu left | 22:57 |
|
Nazcafan
| oh? | 22:57 |
|
_Vi
| Nazcafan, Now works? | 22:57 |
| → eletuchy joined | 22:57 |
|
_Vi
| Nazcafan, "mv .git/head .git/HEAD" | 22:57 |
|
| Nazcafan, Is it Windoze? | 22:57 |
|
Nazcafan
| _Vi, worked | 22:58 |
|
| no, it is a debian distro | 22:58 |
| ← hendry left | 22:58 |
|
Nazcafan
| but I used a fat32 harddrive as a mean of backup | 22:58 |
|
teuf
| :win éç | 22:58 |
|
Nazcafan
| _Vi, how come the case was wrong? | 22:58 |
|
_Vi
| Nazcafan, Case-insensitive FAT32. | 22:59 |
| ← maattd left | 23:00 |
|
Nazcafan
| _Vi, however, I have some folders for which the capital case was saved | 23:00 |
|
_Vi
| Nazcafan, I also have all files lowercase on my FAT32. | 23:00 |
|
Nazcafan
| s/saved/preserved | 23:00 |
| → RandalSchwartz joined | 23:00 |
|
_Vi
| Nazcafan, They are >8 characters in filename. | 23:01 |
|
| Nazcafan, So LFN used. | 23:01 |
| ← martiin left | 23:01 |
| → Chillance joined | 23:01 |
|
_Vi
| Nazcafan, There's special extension of FAT to recognize something vs Something vs SOMETHING for short filenames. It may be unimplemented for your vfat driver. | 23:02 |
| ← sockmonk left | 23:02 |
|
Nazcafan
| _Vi, ok | 23:02 |
|
| _Vi, thanks for your help | 23:02 |
|
| there seems to be a problem, though | 23:03 |
| aroben → aroben|meeting | 23:03 |
| ← jrmuizel left | 23:04 |
| → RobertLaptop joined | 23:05 |
| ← TeckniX left | 23:06 |
| → EricInBNE joined | 23:06 |
| ← drizzd left | 23:06 |
|
Nazcafan
| _Vi, git says almost all my files have been modified | 23:07 |
|
| _Vi, which is wrong | 23:07 |
|
_Vi
| Nazcafan, "git reset --hard"? | 23:07 |
| ← lresende left | 23:07 |
|
_Vi
| Nazcafan, Do you have some useful changes? | 23:07 |
|
| Nazcafan, "git diff"? | 23:07 |
|
Nazcafan
| _Vi, wait, some files have Really been modified | 23:07 |
|
_Vi
| Nazcafan, What about "git diff"? | 23:08 |
| ← eletuchy left | 23:09 |
| → WALoeIII joined | 23:09 |
|
Nazcafan
| ahaa | 23:10 |
|
| all the diffs show a mode difference | 23:10 |
|
_Vi
| Nazcafan, +x everywhere? | 23:11 |
|
Nazcafan
| _Vi, you are right | 23:11 |
|
| bloody vfat? | 23:11 |
|
_Vi
| Nazcafan, Just "find . -type f | xargs chmod -x"? | 23:11 |
| ← ixti left | 23:11 |
|
_Vi
| Nazcafan, Now I use vfats only as boot partitions. There are GRUBs and kernel images there. | 23:12 |
|
| Nazcafan, (And also on removable drives) | 23:12 |
| → giallu joined | 23:13 |
|
Nazcafan
| _Vi, it is a removable drive, actually | 23:13 |
|
_Vi
| Nazcafan, Why to you need complete working copy of repository on removable medium? | 23:13 |
| → drizzd joined | 23:14 |
|
Nazcafan
| _Vi, I didn't ask myself that, I just backed up everything in $HOME before installing another operating system | 23:14 |
| nonken → nonken_afk | 23:15 |
| ← corp left | 23:15 |
| ← aresnick left | 23:16 |
| ← mnyon left | 23:16 |
| → tvw joined | 23:17 |
|
GSaldana
| i need some help setting up gitweb. I get "403 forbidden - No projects found" on gitweb's main page | 23:18 |
| ← drewolson left | 23:18 |
| ← mmoya left | 23:20 |
| ← russell_h left | 23:21 |
| ← philips left | 23:21 |
| ← jlilly left | 23:22 |
| ← tedoc2000 left | 23:23 |
| ← corni left | 23:24 |
| → tedoc2000 joined | 23:24 |
| ← magcius left | 23:25 |
| → magcius joined | 23:25 |
| ← stamina left | 23:26 |
|
Nazcafan
| _Vi, thanks for your help, everything seems to be on rails for now | 23:27 |
| → fualo joined | 23:29 |
| → eletuchy joined | 23:35 |
| → spaceonline joined | 23:35 |
| → unreal_ joined | 23:36 |
| ← unreal left | 23:36 |
| ← anno^da left | 23:37 |
|
Nazcafan
| _Vi, thanks again, good night | 23:37 |
| ← Nazcafan left | 23:37 |
| ← ehabkost_ left | 23:39 |
| → rkirti joined | 23:39 |
| → cnk_ joined | 23:39 |
| → cloudhead joined | 23:40 |
|
rtyler
| any tig users around? | 23:40 |
| ← onigiri_ left | 23:41 |
| → corp joined | 23:42 |
|
cnk_
| Is there someplace other the .gitmodules and .git/config that stores references to submodules? I have some differences in submodules on different branches of my code. I don't have any trouble checking out my submodules if I create a tracking branch and switch to it before I do my submodule init/update. But capistrano does a 'git reset --hard $TAG' and then the submodule init. And that method is generating complaints "No submodule mapping found in .gitmodules for | 23:43 |
|
| path..." for one of the submodules I removed | 23:43 |
| ← bantic left | 23:43 |
| → onigiri_ joined | 23:43 |
|
_Vi
| cnk_, There are also commit_ids in trees. | 23:43 |
| unreal_ → unreal | 23:44 |
|
cnk_
| _Vi and how are those related to the submodule init process? | 23:44 |
|
_Vi
| cnk_, The commit id to be checked out is taken from a tree. | 23:45 |
|
cnk_
| Ok. | 23:45 |
| ← drizzd left | 23:45 |
|
cnk_
| Actually what I think I don't understand is the difference between 'git reset --hard' and creating a branch | 23:46 |
| ← orafu left | 23:46 |
|
mugwump
| submodule checkouts don't behave in general like other files when changing branches and resetting | 23:46 |
| → orafu joined | 23:46 |
|
mugwump
| this is a longstanding deficiency in the | 23:46 |
|
| implementation | 23:46 |
|
| patches welcome :) | 23:46 |
|
_Vi
| cnk_, Try to emulate submodule checkout by hand. | 23:46 |
|
cnk_
| mugwump: has there been any recent work on submodules? Trying to figure out if just upgrading my version of git would make it magically disappear | 23:47 |
|
mugwump
| no idea, check the changelog | 23:47 |
|
cnk_
| I can reproduce the Capistrano problem by hand | 23:47 |
| ← altrux left | 23:48 |
|
cnk_
| I guess the most productive thing right now is to dig around in the Capistrano code and see if it would be easy to make it do its branch switching the way I have always done it by hand | 23:48 |
| m-takagi_ → m-takagi | 23:48 |
|
mugwump
| you can fake it with hooks | 23:49 |
|
| there should be both pre-checkout and post-checkout hooks in newer gits | 23:49 |
| → adaran joined | 23:49 |
| → tfarina joined | 23:49 |
|
mugwump
| that's probably better, and then submit your hacks to the list for discussion, maybe it will prompt someone to fix it | 23:49 |
|
adaran
| if there are two proceses trying to access a git repository, one will fail trying to lock it using the index.lock file. is there a way to tell git to wait until the lock becomes available instead of exiting with an error? | 23:50 |
| ← aroben|meeting left | 23:50 |
|
cnk_
| mugwump: would love to but I don't know how to do enough digging to find the source of the confusion. But thanks for the info. I think the correct solution for my current problem is get stuff deployed so that my new code can move to "master" and not trigger the issue. | 23:51 |
| → cedricv joined | 23:51 |
|
_Vi
| adaran, (Hack: make FUSE filesystem which hangs accessing task instead of reporting already existing file) | 23:51 |
| ← cedricv left | 23:52 |
|
adaran
| _Vi, possible, but a lot of work. i'm lazy! | 23:52 |
|
_Vi
| cnk_, Tell you how to do submodule update by hand? | 23:52 |
|
adaran
| _Vi, though i've got no real solution other then the "spin for a bit, retry and hope for the best" approach | 23:53 |
|
cnk_
| git clone; git branch --track bname origin/bname; git checkout bname; git submodule init | 23:53 |
|
| works great | 23:53 |
|
_Vi
| cnk_, It worked? Than OK. (I mean emulating "submodule update" with low-level commands). | 23:53 |
|
cnk_
| I think what is triggering the error is capistrano's use of git reset --hard | 23:54 |
| → Pupeno joined | 23:54 |
|
_Vi
| cnk_, Should "git reset --hard" ever touch submodule's directory? | 23:55 |
|
cnk_
| I don't know | 23:55 |
|
_Vi
| cnk_, I thought it doesn't touch submodules except of with "git submodule" command. | 23:55 |
|
cnk_
| I guess what I should start with is looking into where git submodule init gets its information | 23:55 |
| ← parolang2 left | 23:56 |
| → cedricv joined | 23:56 |
|
_Vi
| cnk_, And AFAIK you need "git submodule update --init" to recheckout a submodule. | 23:56 |
|
cnk_
| I had assumed it just read the .gitmodules file - which in both cases is fine and does not mention the removed submodule | 23:56 |
|
| this is a new clone, so I am not rechecking out anything | 23:56 |
|
_Vi
| cnk_, (and "git submodule update --init" is universal command both for first and subsequent checkouts_ | 23:56 |
|
cnk_
| it is the submodule init that is erroring | 23:57 |
| ← sgh left | 23:57 |
| ← Mezner left | 23:57 |
|
_Vi
| cnk_, Do you still has a problem to experiment with or everything's fine now? | 23:57 |
|
cnk_
| I still have the problem and can reproduce at will | 23:58 |