IRCloggy #git 2010-01-06

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2010-01-06

cbreak and all have their own issues00: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 only00:00
either that, or it won't fit to any platform00: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 file00:02
but it didn't worked00:02
_Vi cbreak, Why "like a crap". It even renders UTF-8 (after configuration).00:02
Fazer2 *didn't work00:02
ideogon left00:02
cbreak yeah. but... it's german00: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 commiting00:04
maybe more00:04
Arafangion: it's not portable because Cocoa is Mac OS X only00: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 different00:06
I don't think there's anything you can do with git that you can't do with git on the CLI00: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 left00:07
mattions left00: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 projects00: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 work00:09
Objective-C is not much without it's framework00:09
And I am not sure how well supported some runtime extensions from apple are00:10
warthog9 left00:10
Arafangion You might indeed have some difficulty with Objective C 2.0 things, with garbage collection and all that.00:11
numberGrey left00:11
anjen1 joined00: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|projectname00:12
xlistener left00:12
killerchicken sitaram: can I use gitolite to allow access to such subdirectories?00:12
numberGrey joined00:13
r11t left00:13
patmaddox joined00:13
Weasel[DK] left00: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| joined00:14
catalis left00:14
Fazer2 so can you suggest how can I solve my problem with push?00:14
_Vi Fazer2, What URL?00:15
sgh left00:16
Fazer2 _Vi: [email@hidden.address]00:16
floppyears hi guys00:16
dgarr joined00: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 good00:17
_Vi floppyears, "git status", "git add"?00:17
chalkbag joined00:17
_Vi floppyears, You also may use your primary editor (for text files).00:17
jmcantrell joined00:17
jerbear joined00:17
floppyears _Vi: no, I mean something kinda of merge or diff tool00:18
Fazer2 _Vi: it doesn't say anything :-/00:18
cbreak git diff does show diffs00:18
git merge does merges00:18
rektide left00:18
Tricon joined00:18
rektide joined00:18
_Vi Fazer2, Does it hang or exit?00:18
cbreak when there are conflicts, you have to resolve them yourself00: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 prompt00:19
jerbear left00:19
_Vi floppyears, After fixing just "git add".00:19
jmcantrell left00: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 want00:19
Fazer2 _Vi: yeah, even with -v00:20
catalis joined00:20
floppyears for example, I think you can use kdiff as a diff program to assis you during three way merge00:20
_Vi Fazer2, 1. Try "ssh -v -v -v [email@hidden.address] 2. Try "ssh -v -v -v [email@hidden.address]00:20
elliottcableASHEEP00:20
ASHEEPNOTREALLY00:20
_Vi Fazer2, E.g. test if your SSH client OK at all.00:21
NOTREALLYelliottcable00:21
Fazer2 _Vi: the first connection says nothing; how can I test my SSH client?00:21
ph^_ left00: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 either00: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: hehe00:24
_Vi Fazer2, Has you tried just reboot Windows?00:24
Fazer2 _Vi: I don't have AV00:24
_Vi s/Faith/Fate/00:24
Fazer2 _Vi: but I have a firewall00:24
_Vi Fazer2, Looks if it block something.00:24
mnyon joined00:25
xlistener joined00: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 worse00:26
floppyears what do you guys use with git-mergetool00: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 firewall00:27
_Vi Fazer2, Is your laptop also on Windows with the same msysgit?00:27
Fazer2 _Vi: I don't have Putty nor Netcat00:27
JakeSays left00: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 joined00: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 now00:28
d2dchat left00: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: ok00:29
r11t joined00:29
InTheWings left00:29
_Vi Fazer2, If Putty will work connecting to SSH, the network&firewall is not the cause.00:30
jumbers joined00: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 upstream00:31
_Vi jumbers, What do you mean by "rollback" and "uncommited"?00:31
jumbers, "git checkout -- path/to/file"?00:31
JakeSays joined00:32
timcharper joined00:32
Fantuz83 joined00:35
Fazer2 _Vi: Putty seems to work00:36
_Vi: for instance, I can connect to [email@hidden.address] and it asks me for password00:36
_Vi Fazer2, Tried updating/reinstalling msysgit?00:37
Fazer2, (You also can migrate to Cygwin/Git).00:37
Twisted_Mentat left00:37
pantsman left00:37
rettub left00:37
Fazer2 _Vi: I'll try it now00:37
Twisted_Mentat joined00:38
smuf left00:39
schacon joined00:40
patmaddox left00:40
smuf joined00:40
rettub joined00:40
hipe left00:40
loinclot_ joined00:41
robinr joined00:43
Fazer2 _Vi: it worked :-D00:43
_Vi Fazer2, Updating or reinstalling?00:43
Fazer2 _Vi: reinstalling00: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 user00:45
_Vi: I don't download pirated apps and so on00:45
_Vi: but maybe I'll make a scan tomorrow, just to be sure00: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 joined00:46
Kelly_zhou joined00:47
Fazer2 _Vi: heh, I don't know what RPC DCOM and NetBios are, as for the rest, I'm using mostly open source apps00:47
project2501a left00:47
Fazer2 _Vi: thanks for the help and good night :)00:48
rektide left00:48
rektide joined00:48
Fazer2 left00:49
altrux left00:50
jelmer joined00:54
jrmuizel left00:54
nitrate_ left00:55
Geralt joined00:59
nadavoid left00:59
catalis left01:01
r11t left01:01
sourcemaker_ joined01:01
Tricon left01:01
keex joined01:02
keex anyone here using git-cola ?01:02
Swimming_Bird left01:02
_Vi keex, I only have it's name in Wikipedia.01:02
keex hmm01:02
too bad... :/01:03
_Vi keex, What's the problem?01:03
Swimming_Bird joined01:03
rchavik joined01:03
mnyon left01: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 left01:05
keex _Vi, not the previous, but 239423 versions before... unfortunately i've never paid attention to the actual version01:05
_Vi keex, It they has broken it, downgrade to the older version and file a bug.01:05
maglos joined01:05
_Vi keex, "git bisect".01:05
keex hehe01:05
jujule2 hi01:05
keex yes, a perfect application for bisect01:05
jujule2, hi01: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 it01: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 cmd01: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 question01:11
RaceCondition left01:11
loincloth joined01:11
_Vi _pointlessjon, Yes, that ("[...]"=?) was a question.01:12
keex got to go01:12
c ya01:12
keex left01: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 joined01: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 urls01: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 check01:15
git version 1.5.6.501:15
numberGrey left01:15
_Vi jujule2, Outdated. Current is 1.6.x.01:16
dreiss left01: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 noise01:17
schierbeck left01:17
jujule2 but still appears as modified in git status in the main repo01:18
_Vi jujule2, What does "git diff" say about it?01:18
eletuchy left01:19
jujule2 -Subproject commit be8d929e17337a51639253f2c2944d430744199201:19
+Subproject commit 8af073a8006ef5e30c17ef2a59abd2f2d9571cdc01:19
_Vi jujule2, 1. Enter subproject directory, 2. "git checkout be8d929e17337a51639253f2c2944d4307441992". Fails?01:19
jujule2 yes01:19
kpreid_ left01:20
_Vi jujule2, 1. Enter subproject directory, 2. "git fetch", 3. "git checkout be8d929e17337a51639253f2c2944d4307441992". Also fails?01:20
kpreid_ joined01: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 one01:21
jinzhu joined01:21
jujule2 git fetch just says nothing01: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 joined01:23
jujule2 i still get the same error and diff01:24
possible to reset the index for a submodule ?01:24
name left01:25
kennethlove left01:25
_Vi jujule2, May be better try to update Git before coping with particular problem?01:25
EricInBNE joined01:26
spvensko left01:27
loinclot_ left01:28
spvensko joined01:29
ereslibre left01:31
defectiv left01:31
numberGrey joined01:34
rgr joined01:34
jrmuizel joined01: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/repo01:36
onigiri_ joined01:36
_pointlessjon left01:36
voxpelli-laptop left01:36
numberGrey left01:37
cenuij left01:37
_Vi rgr, "add" when doing what? When changing the parent project?01:37
Ryback_ left01: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 joined01: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 left01:41
martiin joined01:41
rolfb joined01:42
amerine left01:42
jmcantrell joined01:45
Swimming_Bird joined01:45
Fantuz83 left01:47
ShadeHawk How to download and install JGit and EGit?01:48
_Vi ShadeHawk, EGit - build from sources in Eclipse.01:48
dogmatic69 joined01:48
_Vi ShadeHawk, (EGit) And copy files into Eclipse's dierctory.01:48
dogmatic69 hi all...01:48
ShadeHawk _Vi: thanks01:48
dogmatic69 im running vista and have set my ide to linux line endings and now git is giving warning all the time01: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 left01:50
dogmatic69 and does this for every file i add01: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 can01: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 left01:52
_Vi dogmatic69, Everything is normally LF, but many things in Windows prefer (or can handle only) CRLF.01:52
ideogon joined01: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 left01: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 nice01:54
sitaram: Is that somewhere in the docs? I didn't find it01:54
dogmatic69 _Vi: ye it looks normal just like in my ide01: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 ^M01:55
johnw joined01:56
numberGrey joined01:56
cedricv joined01:56
sitaram killerchicken: I guess I thought it was too obvious :) Just say foo/bar01: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 sure01:57
becuase you asked that only regular chars be used as repo name01:57
_Vi dogmatic69, May be try setting core.autocrlf to false?01:57
killerchicken is officially asking most stupid questions ;)01:57
Alagar left01: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 left01:58
dogmatic69 _Vi: in git, maybe... a while ago01: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 joined01:59
reprore left01:59
dogmatic69 i guess so... now just to figure out how01: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 lf02: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 though02:01
_Vi dogmatic69, something like "find -type f | xargs perl -i -pe 's/\r\n/\n/g'" can do it.02:01
|Inthewings| left02: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 joined02:02
rektide left02: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 errors02:04
thanks :)02:04
not shure about doing it globaly aprat from opening each file now02:04
bentob0x left02:05
djork joined02:06
rektide joined02: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_ joined02: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 joined02:10
pinnacle joined02: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 help02:11
much appreciated :)02:11
_Vi dogmatic69, Yes, but be preparet as it will convert binary files as well.02:11
Bryson left02: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 left02:12
dogmatic69 cool02:13
project2501a joined02:13
djork left02:13
_Vi dogmatic69, Simple thing will be 1. Convert everything (pictures broken). 2. Add and commit only code, 3. Restore pictures.02:13
sumangurung left02:15
killerchicken sitaram: hrm. Something seems to not work with the subdirectories02:15
sitaram hmm?02:15
in what sense?02:15
aah02:15
drogue joined02: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 perms02:15
I cannot clone this repository02:15
djork joined02:16
AAA_awright_ joined02:16
_Vi dogmatic69, BTW reformatting the code can also be (partially) automatized.02:16
sumangurung joined02: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 wargh02:17
thmghtd joined02:18
dogmatic69 thanks for the time _Vi02: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 now02:18
rgr left02:18
killerchicken sitaram: sorry :(02:19
sitaram :)02:19
killerchicken but thanks for the tool. It's working great02:19
sitaram ywyw!02:20
you're welcome!02:20
doxtor joined02: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 HEAD02:22
_Vi doxtor, "git checkout <first_branch> -- path/to/file"02:23
lll left02:23
dogmatic69 left02:23
AAA_awright left02:24
doxtor That doesn't recover the newest version02:26
files won't even appear in "Changes to be committed:" list02:26
_Vi doxtor, Where has you committed the newest version?02:26
doxtor _Vi: I haven't committed02:27
_Vi doxtor, The file is actually unchanged?02:27
doxtor, Not commited? "checkout" should complain.02:27
mithro joined02:27
_Vi doxtor, Has you used general checkout or with file argument?02:27
doxtor with file argument02:27
I wasn't switching branches02:27
_Vi doxtor, So the previous version seems to be just lost.02:28
doxtor yeah02: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 it02:29
m104 left02:29
doxtor funny thing is I have compiled new version still around and no source02:29
_Vi doxtor, How precious is it? How much time the manual restoration can take?02:29
doxtor I guess 2 hours02: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 no02:31
lll joined02:31
_Vi doxtor, (So don't try "git fsck")02:31
doxtor ok, thanks02:31
_Vi doxtor, /* A shoot in a foot */02:31
doxtor, Probably the easiest way will be just change it again.02:32
dreiss joined02:32
WinterWeaver left02:32
upul joined02:33
martiin left02:34
johnw left02:34
smuf left02:38
jlilly joined02:38
remi left02:39
Bryson joined02: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 joined02:46
killerchicken We could of course put all that logic in the hook itself, but that seems bad.02:46
fullTummy hi all02:46
killerchicken Making hooks available via easy-install and then enabling/disabling them via config would be cool.02:47
ShadeHawk left02:47
ilumi what does this error mean?02:47
/usr/bin/ld: cannot find -lexpat02:47
collect2: ld returned 1 exit status02:47
make: *** [git-remote-curl] Error 102:47
fullTummy expat shared library not found02: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 ubuntu02:48
fullTummy get windows 702:48
it comes with it :D02:48
ilumi lol, no02:48
_Vi ilumi, apt-get install libexpat1-dev02: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 joined02:49
Twisted_Mentat_M left02:49
ilumi _Vi: works, thank you02:50
Bryson left02:50
mrpeterpeter joined02:50
WALoeIII left02:51
mrpeterpeter left02:51
VVSiz_ joined02:52
em-dash left02:55
sunaku left02:57
coolcat left03:00
fullTummy left03:01
xlistener left03:01
loincloth left03:01
ken___ joined03:01
AAA_awright_AAA_awright03:02
hummingkid left03:03
djork left03:04
xlistener_ joined03:05
xlistener_xlistener03:05
montylounge joined03:06
upul left03:08
VVSiz left03:09
nadavoid joined03:10
ali1234 joined03: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 accordingly03:12
d2dchat joined03:13
killerchicken sitaram: right, but that would mean updating the hook for everyone whenever I add a new repo ;)03:13
jrmuizel left03: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 pressures03:15
killerchicken sure03:15
ah03: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 here03: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 no03: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 logs03:17
here is a hook that spawns a shell03:17
etc03:17
sitaram killerchicken: there are two ways to look at that03:18
killerchicken I don't want my admins to be able to mess with the log03:18
sitaram killerchicken: good point03:18
killerchicken: you want to separate people who have *shell* access to the server from people who are able to mess with the admin repo03:19
killerchicken that's what I'm doing03:19
hyperair left03:19
hyperair joined03:19
killerchicken none of the admins except myself have shell access.03:19
and I don't use @SHELL03:19
at all03: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 left03:20
cytrinox_ joined03:20
sitaram yes; now that you mention it, I have a feeling that was my original motivation03: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 point03:21
yes please03:22
send me a patch via email if you have time03:22
killerchicken I was going to send a pull request?03:22
sitaram sure03:22
killerchicken :q03:22
ups03: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 left03:23
killerchicken :-)03:23
Travis-42 left03: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 ah03:24
project2501a left03:24
killerchicken hm03:24
damn. nitpicker03: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 :P03:24
sitaram ah yea03:24
whaley left03:25
sunaku joined03:25
chalkbag left03:27
jhelwig_ joined03:28
jhelwig left03:29
zahna did the puppet.conf file even change from 0.24 to 0.25?03:30
jhelwig_jhelwig03:31
jrmuizel joined03:32
maglos left03:32
Tricon joined03:34
jessep joined03:36
tfarina left03:36
cytrinox left03:37
cytrinox_cytrinox03:37
GeertB left03:38
schacon left03:39
spearce left03:43
sunaku left03:45
catalis joined03:45
sunaku joined03:46
cedric_ joined03:46
sunaku left03:51
sunaku joined03:52
cedricv left03:52
thmghtd left03:52
tjafk joined03:52
schambers left03:52
upul joined03:53
tjaway left03:53
schambers joined03:54
hobodave left03:56
j416 joined04:01
spvensko left04:02
jayne ugh. Has anyone gotten gvimdiff to work as a difftool on Win32?04:02
if so, how?04:02
spvensko joined04:04
gno` joined04: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` left04:07
offby1 welcome to Windows04:08
kukks left04:11
spvensko left04:11
jayne offby1: this is very clearly a git problem, not a Windows problem04:11
ken___ left04:11
jayne gvimdiff itself works fine, and if I bypass difftool and do it manually, it works (again) fine04: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 above04:12
offby1 I suspect it's that git doesn't do anything special to pass the arguments properly04:13
jayne the gvim.bat case appears to be caused by sh trying to blindly read the argument as some sort of sh script04:13
scarabx left04:18
anjen1 left04:21
hobodave joined04:23
cenuij joined04:24
hakunin_ left04:25
jayne that's why... echo "$(git config difftool.$merge_tool.cmd || git config mergetool.$merge_tool.cmd)"04:26
warthog9 joined04:26
hakunin joined04:27
hakunin left04:27
hakunin joined04:28
mm_202 joined04:28
erikvold left04: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_ joined04:30
_Vi mm_202, git log <branch> | head -n 104:30
hakunin_ left04:30
_Vi mm_202, You may supply any commit-ish to "cherry-pick"04:30
hakunin_ joined04:30
|Rolenun| joined04: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 left04:31
_Vi mm_202, You may use "git cherry-pick <branch>"04:31
mm_202 Yep, that's what I did.04:31
hakunin__ joined04:32
agib left04:32
aresnick left04: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 all04: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 apply04:33
jayne if ! type $merge_tool_path then die (to paraphrase)04:33
mm_202 sorry, git co = git checkout04:33
doxtor left04:33
hakunin__ left04:34
_Vi mm_202, I think 100% of aliases of "git co" point to "git checkout".04:34
montylounge left04:35
hakunin__ joined04: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 altogether04:35
schambers left04:35
hakuni___ joined04:36
schambers joined04:36
mm_202 _Vi: or am I the only one that uses that 'work flow'?04:36
hakuni___ left04:37
rettub left04:40
Rolenun joined04:40
johnw joined04:40
mmoya joined04:41
nothingHappens left04:43
jayne offby1: yeah, the problem is sh.exe eats all arguments starting with /04:43
loincloth joined04:43
jayne and (I don't get this part) tries to convert them into a filename04:44
rettub joined04:44
jayne so "attrib /s foo" gets turned into "attrib s:/ foo"04:44
cbreak makes sense04:44
windows doesn't have a root file system04:45
but drive letters04:45
offby1 jayne: that sounds crazy ...04:45
jayne offby1: I agree04:45
cbreak so absolute paths starting with / have to be converted04: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 path04:45
tedoc2000 joined04:46
jhelwig left04:46
cbreak yeah. could be a random string that happens to start with it04:46
but not everything that starts with \ is an escape sequence either04:46
hakunin left04:46
cbreak shells seem to assume some things04:47
like * being a glob pattern, or \ an escape sequence start, or / denoting the root volume04:47
in this case04:48
I guess04:48
hakunin_ left04:48
jhelwig joined04:49
|Rolenun| left04:49
d2dchat left04:50
jayne I got it \o/04:50
cmd \\\\/c gvim.bat -your -args -here04: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 left04:52
jhelwig joined04:52
harryxu joined04:52
cbreak openssl sha1?04:52
tab vs spaces?04:52
(-> whitespace)04:53
jmcantrell left04:53
offby1 sounds like core.filemodes or core.crlf04:53
cbreak tried git diff?04:53
harryxu left04:54
harryxu joined04:54
harryxu left04:54
__Joker joined04:54
harryxu joined04:55
hakunin__ left04:55
loincloth left04:55
loincloth joined04:56
jayne the version on each side of git diff has the same sh104:57
JoeConyers left04:57
Ilari jayne: In what section(s) is that file listed as 'modified'?04:58
jayne changed but not updated04:58
Ilari jayne: But not 'to be committed'?04:58
jayne correct04:58
Ilari jayne: And 'git diff -- <file>' lists same hash twice in index line?04:59
jayne no, it's different there04:59
thomaz joined05:00
psankar joined05:00
Ilari jayne: Is there any diff hunks at all in diff output?05:01
cloudhead left05:01
cloudhead joined05:01
cloudhead left05:01
tedoc2000_ joined05:02
jayne seemingly the entire file.05:02
I just reset --hard and the problem seems to be gone though05:02
dgarr left05:03
jessep left05: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 no05:03
Ilari: there were no visible uncommitted changes05: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`` left05:04
Yuuhi`` joined05:04
Rolenun lol, you guys are killing me with the crlf discussion :D05:04
john268 joined05:04
jayne whatever it was, it's gone now05:05
sdboyer_ joined05: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 joined05:07
munichlinux joined05: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" sha105: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. hehe05: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 left05:09
jayne having the two set differently would imply that git should attempt conversion05:09
Rolenun hmmm05:09
tedoc2000_ left05:10
jayne ooo. branch switching is _way_ faster in 1.6.5. nice.05:11
jelmer left05:11
Rolenun ... it's git lol, it's always fast :D05:11
jayne Rolenun: previously on Win32, it was painfully slow05:11
it's always been fast on *nix05:11
Rolenun ohhh, you're using windows :D05:12
Rolenun comforts you.05:12
Rolenun :D05:12
Ilari jayne: The repository line endings are _always_ LF. CR/LF/CRLF is checkout property.05:13
spvensko joined05:13
sdboyer left05:14
|Rolenun| joined05: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 left05:14
Ilari jayne: Yeah, CRLFs get into repo a lot.05:15
Rolenun left05:15
|Rolenun|Rolenun05:15
jfkw left05:15
obscurite joined05: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 joined05: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 + merge05:17
Rolenun pull = fetch + merge05:17
lol05: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 them05:18
but then you'll have to push around 200mb files05: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 nothing05: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 left05: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` left05:21
tedoc2000 joined05: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 server05:21
spielberg left05:21
parolang` joined05:21
obscurite Ilari: so far I added, committed, and pushed on my dev box05:21
bob2 don't push to non-bare repositories05: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 that05:23
then have the non-bare one from the bare one05:24
er "one pull from"05:24
johnw left05:24
|Rolenun| joined05:24
parolang` left05:24
obscurite Ilari: when i do git diff at the base dir of the working copy I get nothing05:24
Ilari: so I think that means no05:24
parolang` joined05:24
Ilari obscurite: On repo you pushed _to_?05:24
obscurite Ilari: yes05:24
jessep joined05:24
Ilari obscurite: Some hook that autoupdates it?05:25
obscurite Ilari: i think it's just up to date05:25
parolang` left05:25
obscurite Ilari: except for my changes05:25
sumangurung left05:25
Ilari obscurite: Does 'git log' list the commits (on that repo)?05:26
obscurite Ilari: yes05:26
Ilari: my last commit is not there05:26
bob2: my idea was that by "pushing" I was making my stuff available to the other repos05: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 copy05: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 commit05:30
Rolenun left05:30
Ilari obscurite: Is the commit to be pushed on master on local side?05:31
obscurite: (git log master)05:31
j416 left05: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 left05:32
pkw joined05: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 URL05: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_ joined05: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 actually05:35
jnl Ilari: ah, yes, it has --pretty, but quoting would break for example05:36
obscurite Ilari: now my main concern is to undo any damage i've done05:36
Ilari: with my stupid push05:36
segher left05:36
obscurite Ilari: unless in this case what I did is OK05: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 repos05:38
tedoc2000 left05: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. heh05: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 joined05: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 svn05: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 left05:47
obscurite Ilari: so on the server, I do "git fetch", which is set by default to pull from the main repos05:47
Ilari: then git log diff, etc? it's all master branch, so not sure what to use for args05:47
Ilari: seems like I shouldn't specific <remote> or <branch> in any case since there are defaults05:48
specify*05:48
catalis joined05: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 server05:49
Ilari: and all branches are master05: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 left05:51
nadavoid_nadavoid05: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 objects05:52
Ilari: plain git log -p doesn't show anything05: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 now05:53
Ilari: in git log ..origin05: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 viewing05: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 remotes05: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 okay05: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 joined05: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 joined06:00
em-dash joined06: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 left06:02
obscurite htns: good question. i'm interested as well.06:02
justin-george joined06:02
Ilari htns: man git-clean ... But thats one of the most dangerous commands.06:03
em-dash left06:03
Gitbot htns: the git-clean manpage can be found at http://git.or.cz/man/git-clean06:03
htns thanks Ilari , i will read now06:03
Ilari htns: IIRC, the only command that has confirmation switch.06:03
obscurite Ilari++06:03
ilumi left06: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 that06:05
Ilari htns: (for future patch applications, of course).06:06
em-dash joined06:09
madewokherd left06:11
em-dash left06:12
em-dash joined06:13
mmoya left06:14
drogue left06:14
spvensko left06:15
priidu joined06:17
tedoc2000 joined06:19
nighthwk1 left06:20
wolog left06:21
obscurite left06:22
jrmuizel left06:24
Arafangion left06: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 -n06:30
RaceCondition left06:30
pklingem2 left06:32
mdelmdel-away06:34
niki left06:35
harryxu left06:36
lresende joined06:36
justinweiss left06:38
agenteo left06:39
johan-s left06:41
tedoc2000 left06:42
sudoer left06:42
ankit9 left06:43
bambule joined06:49
thomaz left06:49
krawek left06:50
cedric_cedricv06:51
cedricv left06:51
cedricv joined06:51
munichlinux left06:52
AkumaStreak left06:55
Haarg joined06:56
loinclot_ joined06:58
jessep left07:00
marc joined07:03
numberGrey left07:03
schmukkk joined07:04
sudoer joined07:05
numberGrey joined07:07
jessep joined07:08
project2501a left07:08
em-dash_ joined07:09
em-dash left07:09
em-dash_em-dash07:09
bambule left07:10
oganso-- joined07:12
jlilly left07:12
oganso-- anyone familiar with easygit?07:13
ntoll joined07:13
sitaram (speaking for myself)) not lately... whats the question?07:13
loincloth left07:14
Adlai left07:14
sis joined07:15
oganso-- sitaram: heck i cant do eg push but i can git push07:19
eg just says that "Error: No recorded commits to show yet"07:19
although git push bla bla works fine07:19
bwwww joined07:22
ph^_ joined07: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 it07:25
(from vague memory)07:25
oganso-- sitaram: oki :D07:26
bwwww_ joined07:27
ideogon left07:27
nadavoid left07:29
sis left07:29
__Joker left07:29
jumoit1 joined07:30
mithro left07:30
jumoit2 joined07:30
jumoit left07:30
catofzen left07:32
munichlinux joined07:33
project2501a joined07:34
dreiss left07:35
laj left07:36
ph^_ left07:36
Tordmor joined07:38
jumoit2 left07:39
jumoit joined07:39
onigiri_ left07:41
priidu left07:42
sudoer left07:43
thiago_home joined07:43
bwwww left07:45
bwwww_bwwww07: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 joined07:46
jumoit left07:47
jumoit1 left07:48
Ilari Mage_Dude: Dangling blobs aren't errors... And what fatal errors?07:48
Mage_Dude Bad tree object07:49
oganso joined07:49
Mage_Dude git upload-pack aborts due to repo corruption on remote side.07:49
oganso backzz07: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 remote07:51
xlistener left07: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 joined07:54
pinnacle left07:54
rseifert joined07:55
Mage_Dude Hmmm I'm using gitosis to manage the remote side. I can't directly access the repository it seems07:55
Chillance left07:55
laj joined07:55
bentob0x joined07:56
d2dchat joined07:57
Mage_Dude Ilari: Is there any way to do it without direct access?07:57
chalkbag joined07:57
dreiss joined07:58
oganso-- left07:58
ixti joined08:01
warthog9 left08:06
em-dash left08:11
ph^_ joined08: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 left08:13
sitaram joined08:13
pantsman joined08: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 commit08:17
wolog joined08:17
em-dash joined08:17
bwwww left08: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 directory08: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 left08:22
JasonWoof left08: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 demultiplexer08:24
bry left08:25
Ilari Mage_Dude: What's the exact could not read message?08:25
Mage_Dude error: Could not read 41cdf7e45e62facdd616c838a969c04b2d91d8ce08:26
drizzd joined08:26
d2dchat left08:26
d0ugal joined08:26
Ilari Mage_Dude: Try 'git cat-file -t 41cdf7e45e62facdd616c838a969c04b2d91d8ce' on local side.08:27
d2dchat joined08:27
Mage_Dude tree?08:27
Ilari Mage_Dude: It should be tree. Just to check if it exists.08:28
Adlai joined08:32
xenoterracide left08:35
xenoterracide joined08:35
yhager_ joined08:36
marcmarc_kdab08:40
JEEB left08:44
chrisr joined08:44
JEEB joined08:44
daaku joined08:44
Twisted_Mentat left08:45
cilly joined08:46
warthog9 joined08:46
jessep left08:47
__bert__ left08:47
__bert__ joined08:47
__bert__ left08:47
dreiss left08:48
Axius joined08:48
yhager left08:48
Axius left08:49
JasonWoof joined08:50
chalkbag left08:50
tekky left08:51
thiago_home left08:55
mmoya joined08:55
eletuchy joined08:56
ankit9 joined08:56
rhett joined08:57
psankar left08:58
oganso- joined08:58
antonfh joined08:58
becomingGuru joined08:58
squarism left08:59
JEEB left09:00
antonfh Hello09:00
VVSiz_VVSiz09:00
Ilari ...09:03
r11t left09:04
numberGrey left09:06
m-takagim-takagi_09:08
oganso left09:11
shruggar joined09:12
Twisted_Mentat joined09:12
nadim joined09:13
anno^da joined09:13
antonfh any discussion on Git today09:14
psankar joined09:14
yhager joined09:15
laj left09:17
OtherJakeSays joined09:18
wereHamster hm.. this is #git, what else would we be talking about here?09:18
gitte joined09:18
lemonchicken left09:19
lemonchicken joined09:19
pantsman left09:20
Scorchin joined09:21
tekky joined09:22
loincloth joined09:23
lucsky joined09:23
JakeSays left09:25
Ilari Crazy idea: Configuration option which would cause upload-pack/receive-pack to redirect requests...09:26
tvw joined09:26
hummingkid joined09:28
mmoya left09:28
Ilari And that would work with just valid configuration file without even having valid repository there.09:29
yhager_ left09:30
aleksei joined09: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__ joined09:32
loincloth left09: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 dcommit09:33
becomingGuru left09:33
becomingGuru joined09:33
simNIX left09:34
aleksei actually master hasn't diverged at all from the branch.. so i suppose that won't cause many problems in svn09:34
Bryson joined09:34
Bryson left09:34
priidu joined09:36
aleksei thanks wereHamster09:37
loinclot_ left09: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 remote09: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 files09: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 files09:40
tetha how should that work, if your server's working copy might have changed?09:41
ToxicFrog left09:41
justin-george left09: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 joined09: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 changed09:43
aleksei left09:43
Ilari antonfh: $faq non-bare09:43
Gitbot antonfh: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare09:43
tetha I for myself usually put up 3 repos in such a situation09:43
tvw left09:43
j416 antonfh: read about the difference between workdir and repository09:43
antonfh ok thanks09:44
j416 your workdir is in a sense just a temporary place to store files you are currently working on09:44
oganso joined09: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 time09: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 yet09:46
Ilari antonfh: AFAIK, the versions in current git master would refuse push to checked out branch by default.09:47
bauruine joined09:47
em-dash left09:47
countd left09:48
hobodave left09: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 them09: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 remote09:50
countd joined09:50
j416 (although you can achieve this, using hooks, but there are other, better ways)09:50
globalkeith joined09:50
j416 antonfh: your repo is pushed, not your workdir09:51
s/repo/repo branch(es)/ even09:51
antonfh ... and out of curiosity what would those better ways be ? .... yes I think my mindset was it pushes files09:51
j416 rsync for example09:51
antonfh lol ... ok so my hack was not that bad ... cause that is exactly what I did yesterday09:52
j416 have a bare repo someplace09:52
then get a fresh copy, and rsync that to where you are going to use it09: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 function09:52
intripoon joined09: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 where09:53
j416 using git push/fetch is more useful in collaboration09:54
not so useful for simple backup09:54
because you will lose things like your reflog09:54
which can be good to have if you need to restore09: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 left09:54
j416 not logs09:55
history of changes09:55
from which you can generate logs, of course09:55
antonfh yes ... just wrong use of term ... meant history09:55
j416 the data (files etc.) will of course also be pushed09:55
that's the whole point.09:56
oganso- left09: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 left09: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 etc10:00
JasonWoof left10:01
gzy joined10:02
ankit9 left10:03
tetha left10:04
v0n joined10:04
tetha joined10:05
nitrate joined10:12
Sonderblade joined10:13
tbf joined10:16
Sky[x] joined10:16
Twisted_Mentat left10:19
cota left10:19
laj joined10:19
globalkeith left10:20
Paraselene_ joined10:20
Guest19622 left10:21
ToxicFrog joined10:21
NET||abuse joined10:23
eletuchy left10:23
divVerent how can I find the fork-point between two branches like git-cherry does?10:24
teuf divVerent: git merge-base maybe10:25
Scorchin left10:25
Scorchin joined10: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 times10: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 :P10:27
but well10: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 joined10: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 joined10:29
divVerent ah, okay10:30
charon as for the "newest" one: yes. read the definition in the manpage10:30
curtana joined10:30
divVerent that absolutely can't happen in my use case10: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 and10:31
B through the parent relationship.10:31
there's no better definition here...10:31
charon man git-merge-base10:31
divVerent but well, "as good as possible" probably describes what I mean10:31
Gitbot charon: the git-merge-base manpage can be found at http://git.or.cz/man/git-merge-base10: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 definition10:31
divVerent actually... to be more specific10:32
I want the merge-base that is in a given branch10:32
if there was a crossing10:32
charon umm10: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 M210:33
no, a commit in git does not have an intrinsic branch membership10:33
divVerent okay10:33
killerchicken_ joined10:33
divVerent then I will just use git-merge-base as is10:33
and assume that this case does not happen :P10: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 commit10:34
divVerent I doubt anything will go wrong in my script anyway if using a "wrong" merge base10:34
as it's still cosistent10: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 left10:35
thiago git name-rev10:35
mbroeker joined10:36
charon divVerent: only in the A...B syntax10:36
which means A B --not $(git merge-base --all A B)10:37
curtana left10:37
hummingkid left10:37
bizhat joined10:38
mbroeker left10:39
divVerent if two commits have no merge base, I assume I get an error10:40
(probably can only happen if something got messed up)10:41
esc joined10:41
charon actually, my copy of git.git has a dozen root commits10:41
bizhat left10:41
charon you'll get a nonzero exit status and no output10:42
wereHamster antonfh: it's better if the two users log in using different accounts, and set up their username in ~/.gitconfig10:42
esc hi, i would like to store the SHA of the HEAD in an environment variable10: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 HEAD10:42
bizhat joined10:42
Kelly_zhou left10:42
esc wereHamster: just what i was looking for :-)10:42
hummingkid joined10:44
bizhat left10:44
oganso-- joined10: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 anyway10:46
nick_ joined10:46
nick_Guest2431610: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 hello10:47
i jsut tried to run "git revert HEAD "10:47
and got "fatal: Dirty index: cannot revert "10:47
divVerent no, not mass10:47
managing a stable tree10: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 commit10:48
EVEN if that commit was from before I started making the stable tree10:48
balint joined10:48
divVerent but well10:48
I don't think I will ever NEED that10:48
just want to be able to track it correctly in case I need to10:48
wereHamster Guest24316: you probably have uncommited changes in your index10:49
Guest24316: also, are you sure that 'git revert' is what you want?10:49
Guest24316 yes10:49
squarism left10:49
squarism joined10:49
Guest24316 as i have to many conflicts and no real work worth keeping10:49
wereHamster Guest24316: so you have already pushed HEAD to a public repo, correct?10:50
Guest24316 i just want to revert my previous commit10:50
eletuchy joined10:50
Guest24316 and found i need to run git revert HEAD10:50
is there another way?10:50
wereHamster if you haven't pushed HEAD yet there is no reason to use git revert10:50
you can just reset HEAD~1 and be done10: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 run10:51
"reset --hard"10:51
and it does what?10:51
wereHamster Guest24316: man git-reset10:51
Gitbot Guest24316: the git-reset manpage can be found at http://git.or.cz/man/git-reset10: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-revert10:53
d0k joined10:55
loincloth joined10:58
oganso left10:58
ph^_ left10:59
nonken joined11:00
ph^_ joined11: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 joined11:06
gma joined11:08
gma left11:08
gma joined11:09
Theravadan left11:11
loinclo__ left11:14
jinzhu left11:15
Guest24316 left11:15
desmond joined11: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 in11:21
modified: log/frontend_dev.log11:21
any help?11:21
stepnem left11:22
pasky hmm11:23
UPC just terminated the agreement to host repo.or.cz11:23
stepnem joined11:24
desmond left11:25
chrisr left11:29
emmanuelogaemmanuel_oga11:31
emmanuel_ogaemmanuel__oga11:32
wereHamster deavid: tracked files are not aftected by gitignore11:32
deavid ?11:33
struberg joined11:33
wereHamster er, sorry11:33
eletuchy left11:33
wereHamster desmond already left -.-11:33
pasky: why? Did they state a reason?11:33
emmanuel__ogaemmanuel___oga11:34
emmanuel___ogaemmanueloga11:34
pasky wereHamster: they probably want to clean up the server room and the server there originally had a different purpose11:38
Pupeno joined11:38
CVertex joined11:42
CVertex left11:42
Sky[x] left11:44
psoo joined11:44
Sky[x] joined11:46
loincloth left11:48
dwmw2_gonedwmw211:48
loincloth joined11:48
bizhat joined11:49
bizhat left11:50
nonkennonken_afk11:51
nonken_afknonken11:51
jord joined11:51
smuf joined11:52
jord left11:52
chrisr joined11:54
ndim left11:55
Sky[x] left11:57
divVerent just doing mad stuff... checking out a 2GB repository through git-cvsserver :P11:57
seems insanely fast, both compared to cvs and svn11:57
ph^_ left11:58
divVerent 4.5MB/sec11: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 copy11:58
capndiesel joined11:59
_Vi divVerent, The manual says it don't support all "commands and options".11:59
David-T left11:59
divVerent sure11:59
I am just trying it "because I can"11:59
ph^_ joined11:59
divVerent and if I am going to use it at all, it'll be for read-only access11:59
actually... I do see one good use case for it11:59
for a read-only repository e.g. on a game server12: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 locally12:00
it would take much less HDD space12:00
Ryback_ joined12:00
divVerent makes qutie a difference if the game data takes up 2GB or 4GB on your dedicated server :P12:00
_Vi divVerent, Binary files in the repository?12:00
divVerent yes12:00
all files of the game are in there12:01
_Vi divVerent, Anti-pattern.12:01
divVerent why?12:01
they need versioning too12:01
like, "when did this file change" and stuff12:01
what's the alternative? :P12: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 that12:02
but that's not possible for e.g. music12:02
or textures made e.g. in photoshop or gimp12:02
squarism left12: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 blobs12:02
like, often code changes and media changes go along with each other12:03
and hell would freeze over if changed independently12:03
like, if you change the name of a tag on a weapon model12:03
or if a new weapon is added, the data files for it need to be immediately there too12:03
mdel-away left12: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 happen12:04
with hell freezing over I mean behaviour that would be reported as bug by users/artists12:04
like, muzzle flashed attached at the wrong position of the gun (due to tag name change)12:05
it wouldn't lead to crashes12:05
just to wrong behaviour12: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 FOSS12:05
but well12:05
the code is really not compatible with the data of the previous release12:06
or rather, if you do that, you get all sorts of missing texture replacement images and such stuff12:06
and colorful diamonds for missing models12:06
_Vi divVerent, Data packs should be versioned. Of course you can't use very outdated data pack.12:06
divVerent well12:06
we release about twice a year12:06
but there is LOTS of development and changes between releases12:07
_Vi divVerent, Early stage of development?12:07
divVerent no12:07
call it active development12:07
many people with many ideas12:07
cbreak git does not die when you feed it binary12:07
divVerent suree12:07
it works fine for me12:07
and even now, the git clone'd repository is smaller than the svn checkout'd one12:08
Zephyrus joined12:08
_Vi divVerent, You also may use "git submodules".12:08
divVerent now that could be more useful12: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 joined12:08
divVerent that may be useful, but the directory structure of the game is really not fit for that12:09
e.g. art files are in multiple subdirs12: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, sounds12:09
gma left12:09
divVerent and code is in one subdir called "qcsrc", but depends on .cfg files in the main directory12: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 pack12:10
windows users12:10
upul left12:10
_Vi divVerent, Main directory is git repository, "sounds", "models" are subrepositories.12:10
divVerent sure12:10
I just mean12:10
we'd need one subrepository for each type of content12:10
that would work then12:10
but probably get out of hand12:10
_Vi divVerent, >"windows users" I wanted to offer using of symlinks...12:10
divVerent _Vi: sure, but symlinks do not work on windows12:11
cbreak windows does have links12:11
divVerent of directories, not of files12:11
cbreak I never got them to work though12: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 project12: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 checkout12:11
jollyroger_ joined12:12
divVerent sure, one could restructure the repository like that, and provide a simple .sh file that creates symlinks to merge the trees correctly12:12
just, that won't help on windows12: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 files12:12
wqe have users who'd change the copies, and not the originals, then :P12:12
cbreak git can manage symlinks I think12:13
divVerent even on windows?12:13
cbreak as long as you're on an OS that has them12: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 that12:13
cbreak (-> any OS besides windows I guess :)12:13
divVerent making "data" the root would be fine12:13
_Vi: and how to make the GAME recognize the symlinks? :P12:13
_Vi divVerent, Cygwin/git creates cygwin symlinks that work with cygwin.12:13
divVerent but the game does not work with cygwinb12:13
stamina_ joined12:14
divVerent it's compiled with mingw12:14
and it's absolutely not desired to make it depend on cygwin1.dll12: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 left12:15
divVerent there comes the security issue :P12:15
tek joined12:15
divVerent the game FS code refuses to access anything outside the data root12:15
_Vi divVerent, Also, cygwin's symlinks are actually Windows shortcuts.12:15
divVerent now THAT is good to know12:15
the game FS code allows symlinks in zip files actually12:15
but these then only reqwrite the path relative to the root12:15
ehabkost joined12:15
divVerent and don'T allow stuff like .. in them12:15
so the "data" directory can't be left by that12:15
well, one workaround would be putting the configs and other small text files to the QC source12: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 them12:16
nobody would open that pk3 and edit the configs there12: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 configuration12:16
user configuration already is in the user dir12:16
but there are also cfg files to CREATE the configurable variables for the user config12:17
and that give them defaults and descriptions12: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 can12:17
still, some of the config values are media dependent12:17
most are code dependent though12:17
mmw joined12:17
_Vi divVerent, By using packed files you can not bother with filesystem issues.12:17
divVerent sure12: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 change12:18
creating that pk3 takes quite a while12:18
_Vi: not possible in the quake engine12: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 code12:18
or rather, code CAN create them, but only once executed12:19
as long as the menu is shown, the server code is not run yet12:19
and on a dedicated server, the menu code never runs12:19
_Vi: sure, that would work12:19
just see no advantage to keeping it all in one repository12:19
separately checked out code is useless12: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 exactly12:20
or funny bugs happen12:20
actually12:20
exactly is saying too much12: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_username12:20
divVerent but we often enough ALREADY get bug reports from people doing "svn update" only in the code directory12:20
nitrate left12: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 started12:21
_Vi: we have these messages12:21
jollyroger_ but I just dont see why, here is my (short) ssh-config: http://pastie.org/76868312:21
divVerent they are red and yellow12:21
nobody notices them12: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 servers12: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 noticed12:23
niki_work left12: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 diamond12: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: sure12:23
we just ALREADY have a high "user error" rate in bug reports12: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 consistent12:24
even if it often doesn't need to be12:24
but still, submodules may work for that12:24
segher joined12:25
SockPants left12:25
_Vi divVerent, Just require users to run additional command (like "git submodule update").12:25
divVerent and when committing/pushing12:25
what if I e.g. add a texture, and make code use it at the same time12: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 texture12:26
"checkout the commit specified in the index of the containing repository"12:26
basically, my question is12:26
how to set that commit12:26
_Vi divVerent, s/prevent/provide good warning/12:26
divVerent, Do you know how to work with Git submodules?12:27
divVerent not yet12:27
just have the manpage12:27
_Vi divVerent, Main repository stores: 1. Commit SHA1 of submodule, 2. URL to know where to download it.12:27
nonkennonken_afk12:28
divVerent right12:28
git submodule add creates 212: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 right12: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, okay12: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 directory12:29
niki_work joined12:29
nitrate joined12: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 sure12:30
_Vi divVerent, (Yes, you may use "git" commands in makefiles)12:30
divVerent of course12:30
can e.g. make a "make update" command for our svn users12:30
cbreak submodules seem to create lots of detached heads for me12:30
divVerent that does git pull, git submodule update12:30
tstclair joined12:30
cbreak so I am not sure how well that works with people who want to commit things12:30
if you commit something to a detached head, you'll lose it sooner or later12:31
niki_work left12:31
bjornbjorn joined12:32
__bert__ joined12:32
_Vi divVerent, Yes, committers need to be careful. They need more commands to execute.12:32
martins left12:32
_Vi (going offline)12:32
divVerent not sure if I want that though12:32
but well12:32
the only files that are in the svn as "regeneratable binaries", the usual antipattern, are the bsp files of the maps12:32
I hate doing that12:32
but, recompiling them takes a day per map12:32
Geralt joined12: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 archive12:33
_Vi left12:33
balint left12:33
broonie bjornbjorn: You can only fetch the full repository.12:33
nonken_afknonken12:35
divVerent hehe, exactly the problem why submodules would be better if possible12: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 see12:35
broonie You probably want to use submodules here.12:35
kmartiin joined12:36
bjornbjorn *checking*12:36
killerchicken_ bjornbjorn: what you want is narrow clone support, but that's not there yet12:36
divVerent LOL, just had to think of a funny way to abuse svn externals... as TAGS :P12:36
of course, git doesn't need that, as it has real tags12:37
niki joined12:37
bjornbjorn k, thanks for the input guys12:37
RaceCondition joined12:39
schierbeck joined12:40
RobertLaptop left12:40
Axius joined12:40
bibinou joined12:40
Axius left12:41
ndim joined12:41
djszapi_ joined12:42
djszapi_ left12:42
kamen joined12: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 joined12: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 left12:44
tek left12:44
divVerent possibly by calling git mergetool program again?12:44
tekky joined12:44
divVerent oh wait, sorry12: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 drivers12:45
[Po]lentino joined12:45
artagnon joined12:45
divVerent yes, just noticed these are different12: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 left12:46
vmiklos kamen: use --tree-filter12:46
cbreak write a script that removes them from the whole working directory12:46
and put that script into a tree-filter12: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 left12: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 joined12:48
artagnon divVerent: Any non-POSIX platforms?12:48
divVerent artagnon: sure, which?12:48
Paraselene_ left12:48
divVerent there are sh.exe for windows that support /dev/null internally, I think12: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 independent12:49
marc_kdab left12:49
divVerent by using a OS distinction to use the right null device12: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 fine12:50
without all the cygwin layer stuff12:50
BigMack83 joined12:50
divVerent artagnon: there is none?12:50
maybe the networking :P12:50
artagnon looks12:50
divVerent that differs between windows and unix12:50
of course12:50
parasti joined12: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 left12:51
artagnon Hm. Yes.12:51
divVerent http://en.kioskea.net/faq/sujet-499-git-for-windows12:51
tehbaut joined12:51
malumalu joined12:51
divVerent actually, this is a windows native build :P12:51
charon artagnon: if you really want to help speed up "more native" implementations, google for libgit2 and contribute code there12:52
or just help with msysgit, they also chronically lack developers12:52
artagnon charon: Ah, thanks for the pointer!12:52
divVerent msysgit should be "almost like native" in the operations that already use an executable12:52
and probably still slow in the shell script stuff12: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 off12:53
nonkennonken_afk12:53
gdaa left12:53
gdaa joined12:53
artagnon Again, thanks for the information. I'll get back to writing some "janitor code" to get started.12:54
pielgrzym left12:55
kamen is it an expected behaviour of it or do I dod something wrong ?12:55
pielgrzym joined12: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 it13:01
Geralt left13:01
divVerent can I later truncate it to be a shallow clone again?13:01
j416 left13:02
anno^da left13:02
hendry joined13: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 joined13:04
maleknet joined13:05
artagnon divVerent: See http://git.or.cz/gitwiki/SoC2009Ideas#Lazyclone.2BAC8remotealternates13:05
divVerent: ... and finally this ofcourse: http://git.or.cz/gitwiki/SoC2009Ideas#narrowclone13:06
wallunit left13:06
Geralt joined13:07
divVerent do yes13:07
already followed the link to that13:07
don't worry... I don't TOTALLY like the idea of using git-cvsserver for read-only repository copies yet :P13:08
dennda left13: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 --hard13:08
ankit9 joined13:09
wallunit joined13:10
tstclair left13:11
divVerent yes, narrowclone would be exactly what I need13:13
jmpc joined13:13
malumalu left13:13
artagnon Hm. It'll probably come up as an SoC '10 project again13:13
jmpc left13:16
divVerent how well does tortoisegit work?13:17
I don't have windows so I can't try13:17
Geralt left13:17
divVerent is anyone here using it?13:18
killerchicken_ hendry: HTML::FromANSI (perl module) might help?13:18
hummingkid left13:20
hummingkid joined13:20
tstclair joined13:21
hendry killerchicken_: thanks, will look into it13:21
remi joined13:22
catalis left13:22
kmartiin joined13:23
girishr joined13:23
ankit9 left13:23
LiamH joined13:26
Guest12364 joined13:26
auslander joined13:26
akahn joined13:27
Guest12364Laraaa13:27
gambler joined13:28
tek joined13:28
tekky left13:28
Laraaa hi?13:30
Laraaa left13:32
kraymer joined13:32
divVerent ah, finally found an apparent bug in git-cvsserver13:32
cvs update -dPC (cvs equivalent to git reset --hard) downloads every single file13:33
rgr joined13:33
hummingkid left13:33
divVerent it SHOULD know better, as cvs shows the only modified files as "M" in cvs update13:33
and deleting these and cvs update yields the result I want13:33
jlilly joined13:33
divVerent well, not surprised13:33
given what an ugly hack git-cvsserver is :P13: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 joined13:40
countd left13:41
DavidKlein joined13:44
maattd_ joined13:45
maleknet left13:45
krawek joined13:45
artagnon left13:48
Lisimba left13:48
RobertLaptop joined13:48
_waseem joined13:48
kesor joined13:49
kesor hi folks, is there a way to invert git grep in "git log --grep" ?13:49
GeertB joined13: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_afknonken13:52
hummingkid joined13:52
kmartiin left13:52
kssddy joined13:54
divVerent how to list unversioned files?13:56
kmartiin joined13:58
divVerent basically, like git-status, but machine readable13:58
ixti left13:58
Ilari divVerent: 'git ls-files -o --exclude-standard'?13:59
snearch joined14:00
whaley joined14:01
mosno joined14:01
kumbayo joined14:02
project2501a left14:02
Bass10 joined14:04
jlilly left14:07
maattd left14:07
maattd_maattd14:07
pinnacle joined14:08
jlilly joined14:08
simNIX joined14:08
anno^da joined14:10
divVerent thanks14:10
r11t joined14:11
hummingkid left14:12
rgr left14:12
aresnick joined14:12
justinweiss joined14:16
kristian42_ joined14:17
brodyberg joined14:17
kristian42 left14:18
nonkennonken_afk14:21
nonken_afknonken14:22
jlilly left14:23
schierbeck left14:23
ereslibre joined14:24
_waseem left14:25
Geralt joined14:25
reprore joined14:27
TeckniX joined14:27
nothingHappens joined14:27
ronny joined14:28
ronny hi14:28
Simoyd joined14: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 joined14:28
Lisimba joined14:28
nonkennonken_afk14:29
ronny wereHamster: anything necessary to deal with 2-way interaction with hg/bzr14:29
wereHamster ronny: I'd add a line similar to git-svn-id to the bottom of the commit message14:29
jfkw joined14:30
kamen left14:30
ronny wereHamster: well, i dont want to crap stuff into git log14:30
Aldwuin left14: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 situation14:30
kmartiin left14:32
ronny git notes looks interesting14:32
wereHamster Simoyd: why don't you use rebase?14:32
ronny i wish there was more documentation14: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_afknonken14:33
Simoyd can I "rebase" somehow in 1 step?14:33
wereHamster Simoyd: merge --squash?14:33
Simoyd cool14:34
I think that's exactly what I want =D14:34
thanks =D14:34
ronny hmm, whats the first git version to ship notes14:35
kristian42_ left14:36
ctusar joined14:36
wereHamster looks like v1.6.214:36
ronny i have 1.6.4 and no notes command14:37
rchavik left14:37
wereHamster then it is v1.6.614:37
malumalu joined14:37
spearce joined14: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 left14:38
ronny notes are more like text messages tho14: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 notes14:39
ronny hmk14:39
and how do i get it away from the user?14:39
the data is only usefull for the tools14:39
disappearedng_ joined14:40
wereHamster you could create your own 'notes' and store the data somewhere inside .git/..14:40
tom joined14:40
aziz joined14: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-bare14:41
Gitbot disappearedng_: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare14: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 joined14:41
wereHamster tom: 'git branch -a' to show which branches you have14:41
tom: if the branch begins with 'origin/' then use 'git checkout -t origin/foo'14:42
BigMack83 left14:42
tom wereHamster: thanks, that was it14:43
fcuk112 joined14:43
girishr left14: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 left14: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: no14:46
disappearedng_: man githooks14:46
Gitbot disappearedng_: the githooks manpage can be found at http://git.or.cz/man/githooks14: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 left14:47
disappearedng_ I can't find git hook14:47
wereHamster it's not a command14:47
disappearedng_ oh ok14:47
wereHamster hooks are automatically run by certain git commands14:47
jrmuizel joined14: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 joined14: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-bare14:51
Gitbot kifkif: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare14: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 left14:52
ereslibre_laptop left14:52
kifkif wereHamster, ok, thanks a lot (and sorry for the basic question...)14:52
Adlai joined14:52
Tordmor left14:54
mnyon joined14:55
Mezner joined14:55
Scorchin_ joined14: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 left14: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 hmm14:58
bantic joined14:58
mithro left14:58
parasti left14:59
rkirti joined14:59
Simoyd well I can't find anything in the documentation saying it *wont* work.... so that obviously means it will work15:00
disappearedng_ so just a quick question,15:00
chrisr left15:01
Scorchin_ left15:02
Axius joined15:02
antonfh left15:02
ehabkost_ joined15:03
LiamH left15:04
rgr joined15: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 repo15: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 from15: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 left15:08
jlilly joined15:08
__bert__ left15:08
Axius left15:08
cbreak rkirti: don't use reset if anyone else uses your repository15:08
jlilly left15:09
cbreak if they already pulled from it, and you force push the reset, they will just push it again next time they push15:09
jlilly joined15:09
zoniq joined15: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 fuss15:11
madewokherd joined15: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 revert15:11
if you want to reset15:12
EVERY other developper that already pulled that commit has to reset it away as well15:12
Axius joined15:13
ph^_ left15:14
rkirti PerlJam: yes. The code has been moved around and sphagetti-sed15: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 left15: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 left15:17
ehabkost left15:17
kukks joined15:18
johan-s left15:18
rkirti PerlJam: ok, thanks15:19
akar joined15:19
robinr left15:20
snearch left15:20
jollyroger_ left15:22
Turias joined15:22
LiamH joined15:22
hobodave joined15:23
Axius left15:23
akar left15:24
Thumper_ left15:24
Adlai left15:25
Adlai joined15:25
Swimming_Bird joined15:25
crankharder left15:26
cwillu_at_work joined15:27
Thumper_ joined15: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 former15:28
cwillu_at_work is coddled by his distro's defaults15: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 left15:31
rkirti joined15:31
cbreak cwillu_at_work: maybe it's because git log | less passes the data to less via standard input15:32
vals_ joined15:32
cwillu_at_work cbreak, as opposed to?15:32
cbreak so it won't get the mouse wheel commands that also get passed there15:32
mosno cwillu_at_work, your distro sets git environ vars?15:32
cwillu_at_work mosno, nope15:32
cbreak as opposed to any other FD15:32
cbreak is guessing15:32
tango_ left15: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 keyboard15:33
cbreak standard input?15:33
I have no idea how it works in detail15:33
JoeConyers joined15:33
madewokherd left15:34
hobodave left15:34
robinr joined15: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 movie15:34
aroben joined15:34
cbreak or, other theory15:35
aroben left15:35
cwillu_at_work hmm, gnome-terminal magic15:35
cbreak git log | less passes the scrolling to git15:35
aroben joined15:35
cbreak git log passes them to less, exec'ed by git log15:35
maybe.15:35
cwillu_at_work turning off the "use keystrokes to scroll on alternate screen" option disables scrolling on | less15:35
madewokherd joined15:35
cwillu_at_work so gnome needs to think that git is a screen'ish thing15:36
loincloth left15:36
cwillu_at_work okay, I'll leave you guys alone now :p15:37
cbreak it's all different on OS X's terminal :)15:37
rseifert left15:37
cwillu_at_work hacks in a bash alias15: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 joined15:40
divVerent in a bare git-svn managed repository15:40
am I allowed to change the HEAD?15:40
hagger:/srv/gitosis# less repositories/nexuiz.git/HEAD15:41
ref: refs/heads/master15:41
Simoyd git ls-files -u!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 I found it15:41
divVerent I basically want gitweb to show another branch by default15:41
tchan left15:41
jelmer left15:42
divVerent just am not sure if hell breaks loose once I touch that15:42
Travis-42 joined15:42
ronny left15:43
becomingGuru left15:44
esc in the context of 'git log' what exactly does '--diff-filter=M' mean15:44
mosno aww, jc.png is cute15:44
jrmuizel joined15:45
jelmer joined15:45
Modius joined15: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 joined15: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 matter15:48
pinnacle left15:48
charon esc: the diff shown with 'git log' is always w.r.t. the commit's parent(s)15:48
divVerent charon: okay15:48
charon er, shown with the -p option to git-log, i should say15:48
divVerent git checkout -t -b div0-stable origin/div0-stable - and is there a shorthand for this?15:49
jrmuizel_ joined15:49
wereHamster divVerent: in 1.6.6 you cna just do checkout origin/foo15:49
divVerent ah, good, thanks15:49
stamina_ left15:50
divVerent hm... can I make another branch than master default for checking out in a bare repository?15:50
tchan joined15:50
divVerent or did I just do that by changing HEAD?15:50
altrux joined15:50
charon divVerent: there are some protocol-related caveats but yes, HEAD determines the branch checked out after a clone of the repo15:51
jrmuizel left15:51
jrmuizel_jrmuizel15:51
divVerent good15:51
esc charon: i see here that --diff-filer=M excludes for example merge commits.15:52
reprore left15:53
d0ugal left15:53
reprore joined15:53
tedoc2000 joined15:54
bauruine left15:54
Tureba left15:55
spvensko joined15:55
ruediger joined15:55
irc2samus joined15:56
ereslibre joined15:59
stamina joined15:59
charon hmm, i find that counterintuitive16: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 merge16:00
munichlinux left16:01
munichlinux joined16:01
sdboyer_sdboyer16:01
ereslibre_laptop joined16:02
LiamH left16:03
LiamH1 joined16:03
LiamH1LiamH16:03
tvw joined16:03
nonkennonken_afk16:04
nonken_afknonken16:04
niki left16:07
kesor left16:08
psoo left16:08
keystr0k joined16:09
dreiss joined16:09
mwlang joined16:09
loincloth joined16: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 left16: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 joined16:12
PerlJam mwlang: git rm --cached <folder> # IIRC16:12
mwlang: you haven't done a commit yet?16:12
jschoolcraft joined16: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 svn16: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 left16:18
Yuuhi``` joined16:18
aziz left16:19
PerlJam divVerent: why do you want this?16:19
divVerent find all unmerged feature branches16:19
so they don't get "forgotten"16:19
Sky[x] joined16:20
divVerent or is there a better way to track that?16:20
tchan left16:20
ladyinwhite joined16:21
smckinney joined16:21
jrmuizel left16:21
jrmuizel joined16:22
patrikf i usually delete merged feature branches16:22
ladyinwhite left16:22
divVerent patrikf: okay, that works too :P16:22
Yuuhi`` left16:24
bcardarella joined16:25
munichlinux left16:25
wereHamster divVerent: git branch --merge16:25
divVerent ah, thanks, found that16:26
mosno left16:26
tbf left16:26
mattions joined16:27
divVerent assume I have a bare git-svn checkout, and make a receive hook that git-svn dcommits all changes16: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 dcommit16:31
divVerent it looks like we can't convert everyone in the project to git16:31
because apparently there is no good way to use git on Windows16:31
as they say16:31
so basically, we at least need a read-only svn mirror of the git repository16:32
wereHamster have you tried msysgit? tortoisegit?16:32
divVerent msysgit? no16:32
they refuse to use commandline16:32
tortoisegit? the guy says it can't be installed together with tortoisesvn on Windows 716:32
wereHamster: but I can't git-svn rebase if I have a bare repository, right?16:33
tchan joined16:33
wereHamster no, you can't16:33
mwlang left16:33
MacGyverNL joined16:33
wereHamster I'm not even sure if you can dcommit without a working tree16:33
divVerent well... once we HAVE a read-only svn mirror16:34
we always can make a simple "emergency path" to commit16: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+push16:34
wereHamster ugh..16:35
divVerent of course, if tortoisegit WOULD work for these guys, that wouldn't be an issue16:36
still, IS there a way to make a read-only svn mirror?16:37
guest_007 joined16:37
divVerent git-cvsserver makes a "sort of working" read-only cvs mirror, which still would be better than nothing for these users16:38
but well, I tested it for a short while and already found stuff that does not work :P16:38
jschoolcraft left16: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 hack16: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 :P16:39
wereHamster and are you sure your windows users would be willing to run 'svn diff | curl' but not git on the commandline16:39
daaku left16:39
divVerent wereHamster: that's the smallest problem, for this one can make a simple batch file16:39
guest_007 wereHamster: the problem - i did not do initial commit :) so no HEAD and can't reset16:40
wereHamster guest_007: git rm --cached <file>16:40
divVerent: how many windows/unix developrs are there?16:40
cedric_ joined16:40
divVerent about 60% unix, 40% windows16:40
cedric_ left16:41
guest_007 +1 unix16:41
wereHamster so maybe it would make sense to keep all code in a svn repo and use git-svn on unix16:41
divVerent but then we still need to be able to commit to svn from git16:41
which is basically the same problem16:41
also, I do want to be able to create topic branches16:41
wereHamster and share them with your windows developers?16:42
divVerent that is not entirely needed16:42
but if not, there must be a simple way to commit them to the svn trunk16:42
like one can merge them into master in git16:42
wereHamster you can keep your topic branches in a git repo, but when the topic is ready you dcommit it into svn16: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? :P16:43
basically, in one that's called whenever pushing to master16:43
wereHamster I just think it's a bad idea to run svn dcommit from a script, that's all16:43
wolog left16: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 setup16:44
ph^_ joined16:44
divVerent as one wrong command causes weird stuff16:44
wereHamster heh?16:44
divVerent like, git svn fetch in such a working copy, and then pushing, may annoy the server16:44
as it would run its own git svn fetch16:44
basically, I don't want clients to deal BOTH with git and with svn16:45
wereHamster yeah, deal only with svn16:45
divVerent and having a very complicated setup that works neither like git nor like svn16:45
but I want topic branches :P16:45
I basically want to have git workflow, but there's svn users too16:46
jumoit joined16:46
hobodave joined16:46
hobodave left16: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 me16:46
hobodave joined16:46
wereHamster you probably don't care about the history in svn all that much anyway16:46
cedricv left16:46
divVerent exactly16:47
just don't want stuff to bounce back and forth16:47
i.e. if I commit to svn16:47
and git-svn then fetches16:47
it shouldn't consider the just added commit as new16:47
as that'd cause the changes to be applied twice, which probably causes conflicts16:47
I do see the caveats for set-tree though :P16:48
looks like a race condition between fetch and set-tree16:48
well...16:48
even better would be getting that tortoisegit problem solved16:48
then the windows users can use git16:48
kmartiin joined16:48
wereHamster well, git svn runs rebase after dcommit to get rid of those duplicated commits16:48
ereslibre_laptop left16:49
godsflaw left16:49
divVerent actually, commit-diff looks fine for me too16:49
but well16:49
top solution would still be getting a git GUI working on windows16:49
wereHamster you did report the issure with tortoisegit, right?16:50
kukks left16:50
divVerent I don't have the issue16:50
so I can't report it16:50
some guy in the team has it16:50
and all he can say is that "it does not work"16:50
wereHamster did he?16:50
divVerent no16:51
wereHamster if not, it likely won't get fixed16:51
divVerent sure16:51
maybe there is no issue even16:51
and he did something wrong when installing16:51
cedricv joined16:51
wereHamster get him to submit a ticked to the tortoisegit team16:51
cedricv left16:51
bryanl joined16:52
wereHamster lol, you're going through all that trouble just because he can't install that little piece of software..16:52
divVerent well16:52
MacGyverNL_ left16:52
krawek left16:52
kukks joined16:52
divVerent supposedly it cannot be installed together with tortoisesvn16:52
I cannot check that16: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't16: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 did16:54
here is what happens: http://gist.github.com/27040616:55
wereHamster and that 'git remote update' didn't help?16:55
bryanl nope16:55
tazle_ left16:56
wereHamster are you fetching through http?16:56
tchan left16:56
bryanl no over ssh16:57
maattd left16:57
tazle_ joined16:57
cedricv joined16:58
alley_cat joined16:58
munichlinux joined16:58
arobenaroben|lunch16:59
tek left17:00
tekky joined17:00
amerine joined17:01
disappearedng_ what is the easiest way to solve non-bare repository ? Like when someone push while I am editing.17:01
cedric_ joined17:02
sudoer joined17:02
wereHamster disappearedng_: don't push into non-bare repos.. ?17:02
livid joined17:02
wereHamster bryanl: sorry, no idea17:02
rkirti left17:02
rkirti joined17:03
killerchicken_ bryan1: did you try git fetch sneezy17:03
tchan joined17:03
cedric__ joined17: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 great17:05
vbgunz left17:05
wereHamster livid: git is generally not so good at managing binary files17:05
cedricv left17:05
wereHamster compression does suffer a lot17: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 well17: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 joined17:06
wereHamster svn sounds good for that type of files17:06
tchan left17:06
wallunit left17: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 joined17: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 -- file17:08
killerchicken_ efphe: git checkout -- <file>17:08
efphe oh17:09
good17:09
kristian42 joined17:09
efphe thank You killerchicken_, sorry for the really basic question17:09
killerchicken_ efphe: no worries17:09
let me explain a little what it does17:09
efphe sure17: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 commit17:10
ereslibre_laptop joined17:11
wereHamster killerchicken_: s/HEAD/index/17:11
cedric_ left17:11
cedric__ left17:11
efphe thank you again17:11
killerchicken_ wereHamster: hah.17:11
efphe i was surprised when `rm file` caused a deletion on the repository17:12
jessep joined17:13
kifkif left17:13
killerchicken_ efphe: hm?17:13
EricInBNE left17:13
efphe if I remove a file in a git repo17:13
it wants to delete it also on the repository17:14
wereHamster no, that's not true17:14
(unless you use git add -A or commit -a)17:14
killerchicken_ only if you git rm it17:14
nadavoid joined17:14
killerchicken_ or git add... right.17:14
efphe yes17:14
but in fact this is different from svn and initially i was a littel bit confused17:15
ok17: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 left17:15
wereHamster 'rm *; git commit' fails with 'nothing to commit'17:15
efphe now i know how to restore files with checout17: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 repo17:15
cedricv left17:15
ereslibre_laptop wereHamster: rm *; git ci -a, should remove all files though ;)17:16
wereHamster yes17:16
kmartiin left17: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 gitolite17:20
sourcemaker_ efphe: now... I will use git as local repository17: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: ok17: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 joined17:25
ereslibre_laptop sorry17: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 left17:25
d0ugal joined17:26
patmaddox joined17:26
ereslibre_laptop sourcemaker_: "git co HEAD^^^" is equivalent to "git co HEAD~3". which is: please, move 3 revisions back in history17:27
dreiss left17:27
wereHamster and detach HEAD17: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 joined17:29
schierbeck joined17: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, year17:30
oganso-- left17:31
munichlinux left17:31
rseifert joined17:32
rgr joined17:33
tchan joined17:33
rgr left17:33
rgr joined17:34
aroben|luncharoben17:35
sdboyer left17:35
wolog joined17:36
sourcemaker_ ereslibre_laptop: thanks... you right :-)17:39
Axius joined17:39
efphe cu and ta again17:40
efphe left17:40
bryanl joined17:40
maattd joined17:42
tbuehlmann joined17:42
rgr left17:43
ixti joined17:43
irc2samus left17:45
bibinou joined17: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 .kde17:52
sourcemaker_: but yes, that is the idea17:52
sourcemaker_ ereslibre_laptop: and how can I revert in some days...17:53
rgr joined17:53
tek joined17:53
tekky left17:53
ereslibre sourcemaker_: you can use git revert17: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 joined17:56
Mezner left17:56
Alagar joined17:57
Mezner joined17:57
Adlai joined17:58
chalkbag joined17:58
Mezner left17:59
Mezner joined17:59
BigMack83 joined17: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 again18:00
justin-george joined18:00
sourcemaker_ ereslibre_laptop: ok thanks for helping me... :-)18:00
ereslibre_laptop: I will activate the script now :-)18:00
squentin left18:01
drizzd_ joined18: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
nonkennonken_afk18:05
OtherJakeSaysJakeSays18:05
parolang joined18:05
ToxicFrog left18:09
nonken_afknonken18:09
brodyberg left18:09
Aku left18:09
silas joined18: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 joined18:11
anno^da left18:11
bryanl left18:11
m104 joined18:12
drizzd left18:12
shruggar left18: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 joined18:14
sourcemaker_ ereslibre_laptop: thanks18:14
ereslibre_laptop sourcemaker_: np18:15
Kipras__ joined18:15
jrmuizel left18:16
nonkennonken_afk18:16
nonken_afknonken18:16
kipras_ joined18:19
Kipras__ left18:19
ShadeHawk joined18:19
nonkennonken_afk18:19
amerine left18:20
madewokherd left18: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 joined18: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_afknonken18:22
madewokherd joined18:24
mattions left18:24
jumoit1 joined18:25
jumoit1 left18:26
dreiss joined18:27
jumoit left18:28
gitte left18:29
_Vi joined18:30
d0ugal left18:31
Axius_ joined18:32
bry joined18:32
dacqueries joined18:33
Simoyd ok sorry for spam, but it's easier than explaining and noone is really talking18:33
c:\dp\Projects\fakerepo>git status18:33
# On branch blah718: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.txt18:33
# modified: three.txt18:33
# modified: two.txt18:33
#18:33
c:\dp\Projects\fakerepo>git diff --name-only18: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 everything18:33
oh18:33
that would have been a good idea sorry18:33
next time I'll use that sorry18: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 nothing18:34
patrikf Simoyd: git diff = diff between index and working tree18:34
thiago_home joined18: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 tree18:35
Simoyd: or maybe you want git diff --cached = diff between HEAD and index18: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 =D18:36
was really confused there hehe18:36
krawek joined18:36
Axius left18:37
rgr left18:37
aspotashev joined18:37
ixti left18:39
Adlai left18:39
ixti joined18:39
pklingem2 joined18:39
Simoyd I love this channel, you guys always solve all my problems18:40
numberGrey joined18:40
_Vi Simoyd, When I was starting to use git, the channel was solving all my problems as well.18:41
Adlai joined18:41
_Vi s/to use/using/18:41
NET||abuse left18:44
snearch_ joined18:44
_Vi Can I enable push over HTTP for everyone, but with denyDeletes denyNonFastForwards for anonymous users? Like in Wiki.18:45
mmoya joined18:45
warthog9 ShadeHawk: yeah, I've been on vacation and trying to get the stuff I missed dealt with18: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 denyDeletes18:46
_Vi spearce, Yes, I mean with http-backend. I've just tried it.18:46
jrmuizel joined18:47
dfr|work joined18:47
jrmuizel left18:47
spearce yea, http-backend should honor hooks just like ssh does, underneath they both are running git-receive-pack.18:47
froschi joined18: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 hook18:48
_Vi spearce, (Oh, forgot that it's just an environment variable in CGI)18:48
rgr joined18: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
lividalex_m18: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_ joined18: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 repo18: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 Dropbox18:53
wereHamster Simoyd: git knows that you attempted a merge commid, you don't have to tell that18:53
Simoyd yea, but I want to know :S18:54
:(18:54
is there any way to tell?18:54
wereHamster if .git/MERGE_HEAD exists AFAIK18: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 server18:54
wereHamster don't know if there is an easier way18: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 use18:55
corni joined18:55
Simoyd gitGUI is still way too complicated for them18:55
David-T joined18:55
ShadeHawk Simoyd: what OS18:55
wereHamster for unix or windows?18:55
Simoyd windows18:55
rkirti left18:55
Simoyd c# wpf18: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 =D18: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 commit18:57
_Vi spearce, (And it's not handy that I can't do "stage seleted lineS" (multiple lines))18:57
zoniq left18:58
Simoyd tbh I dont understand why people find it so hard to understand git18:58
it's easy and intuitive18:58
_Vi spearce, Sometimes "stage hunk" stages too lot, but there too many "stage line" for that.18:58
cwillu_at_work left18:59
[1]intripoon joined18: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 better19:01
intripoon left19:01
Simoyd but I'm really good at git now =D (thanks to this channel)19:01
[2]intripoon joined19:01
[2]intripoonintripoon19:02
wereHamster oh, clearcase :( I hope you dont have any permanent damage from using it :P19:02
__iron left19: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 joined19:02
froschi1 left19:02
Pupeno left19:03
drizzd_ don't get me started on clearcase19:03
samgranieri joined19:03
_Vi drizzd_, "git-cc clone $URL"?19:04
mbroeker joined19:04
snearch_ left19:04
[1]intripoon left19:05
seanh_ left19:05
jrmuizel joined19:06
samgranieri left19:06
samgranieri joined19:07
jrmuizel left19:08
jessep left19: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 submodule19: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 remember19:13
_Vi rgr, You should "git add path/to/subm" to stage the new version of submodule.19:13
mikem23 joined19:13
divVerent I read something interesting... and wonder if git has support for that19:14
this is regarding clearcase and other commercial systems :P19:14
many support "locking" files19:14
mostly to avoid having two people work on the same, e.g., image file19: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 unmergable19: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 there19:15
but are there already any frontends doing that?19:15
_Vi divVerent, Locking with DVCS?19:15
divVerent well19:15
it'd be useful in commercial environments19:16
otherwise probably not19:16
but well, not talking about enforced lockas19:16
as that would simply make no sense19:16
certainly I wouldn't recommend e.g. locking C source files before editing19:16
_Vi divVerent, May be just use something not tied to Git?19:16
divVerent that would inhibit work19:16
madewokherd left19:16
divVerent _Vi: well, in the Nexuiz development, we currently use IRC topics for that purpose19:17
like, "<nickname> is currently working on <thing>, do not touch" :P19: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 yes19:17
that's the idea19:17
could e.g. be tied to many text editors as file-open hook or macro19:17
drizzd_ _Vi: clearcase does not have atomic commits, a meaningful export to git is impossible19:17
divVerent and to image editors too probably19:17
_Vi drizzd_, "git-cc" was on the rights of joke.19:18
divVerent just asking if such a system already exists19:18
_Vi divVerent, How Git should help such lockings?19:18
divVerent drizzd_: well... cvs doesn't have that either19:18
cedricv joined19:18
divVerent _Vi: git metadata could be used to find the lock server19:18
_Vi divVerent, Git only will tell about locking failures (merge conflict in binary file).19:18
divVerent otherwise, probably not much19:18
jrmuizel joined19: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 this19:19
while most VCSes don't need that19: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: well19:19
if we both are working on e.g. an image file19:19
one of the person will lose his work in the end, or have to redo it19:19
broonie Any distributed VCS is going to need some external system if you want locks.19:19
divVerent but well19:20
I am clearly against locking mergable files19:20
it'd be just better handling for unmergable stuff19:20
to avoid duplicate work19:20
cedric_ joined19:20
divVerent svn apparently provides a locking facility, but I never tried it19:20
cvs has one, but I hate it :P19: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: well19: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 locked19: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 problem19:21
you could commit it first, then someone else locks the file, before you push19:21
kain joined19:21
divVerent so you basically would, as user, have to make sure that you only remove the lock after pushing19:22
certainly wouldn't be trivial19: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 fails19:22
*files19:22
kain hi there. how can I join two commits to figure as one before pushing?19:22
[Po]lentino left19:22
cedric__ joined19:22
divVerent and git-push could remove the lock on any file that was already committed19:22
broonie: exactly what I am thinking of19:22
just asking whether it already exists19:23
currently I don't need it19: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 repository19:23
it's more about integration with the git commands19: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 user19: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 transparent19:24
cedricv left19:24
divVerent client would basically only need a little script to send the lock commit19: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 too19: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 then19:25
as a "lock" tool would make the file writable19: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 annoying19:26
locks should be advisory, and only be asked for on certain file types19:26
locking e.g. C source is nonsense19: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 notiifed19:26
_Vi: mostly19:26
but the challenge would be making it non-annoying :P19:26
_Vi divVerent, We need special script to make this not annoying.19:27
tek left19:27
divVerent is it possible to set file permissions to 444 on certain file types in the working copy?19:27
tekky joined19:27
_Vi divVerent, Using a hook, yes.19:28
divVerent, (hooks in all user's repositories)19:28
divVerent oh19:28
sourcemaker_ left19:28
divVerent that sounds like an additional required action after initial clone19:28
tekkytek19:28
_Vi divVerent, Yes.19:28
divVerent well, could be e.g. an initialization script inside the repository19:28
_Vi divVerent, (For example, submodules also require additional actions after clone)19:29
Lisimba left19:29
divVerent well, when I have time, I'll code that19:29
just wonder if it will be any more useful than what I already have19:29
which is using IRC topics to "lock" :P19:29
_Vi divVerent, First it needs to be well-designed.19:29
divVerent well, I see that the design works now19:29
_Vi divVerent, (Thinking about GOOD design).19:29
divVerent of course19:30
Twisted_Mentat joined19:30
divVerent before I'd start implementing it, I'd actually write the design down, and look for problems19: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 cleanly19:30
_Vi: not entirely :P19:30
but funny hack to avoid a server process19:30
mw44118-1ork joined19:30
_Vi divVerent, E.g. using push to lock something. Already bad?19:30
schierbeck left19:30
divVerent no19:31
dacqueries left19:31
divVerent or well19:31
yes, as it requires a commit first19:31
unless you do something really weird with push19:31
_Vi divVerent, Always-rejected push. Already bad?19:31
divVerent like attempting to create a special branch name19:31
kumbayo left19:31
divVerent always-rejected push sounds bad to me19:31
_Vi divVerent, Special branches...19:31
divVerent but better than extra server process19:31
teloscientist joined19:31
teloscientist newbie question for git19:31
_Vi divVerent, BTW you may have branches with competely different layout.19:32
divVerent sure19: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 joined19:32
_Vi teloscientist, What's URL?19:32
divVerent well, branches with different layout is bad design too :P19:32
teloscientist Do I ask them to generate a keypair, then input the keypair into my process19:32
divVerent are you using gitosis?19:32
teloscientist unfuddle.com19:33
cedric__ left19: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 puttygen19:33
and you'd add it there19: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... A19:33
divVerent _Vi: that'd be VERY irritating in gitweb :P19:33
teloscientist so they send me their keypair, and I input it19:33
?19:33
divVerent teloscientist: basically yes, this is how it works for ssh19:34
you never create ssh keys for someone else19:34
teloscientist great19:34
divVerent but they create it, and you add their public key19: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 key19:34
in case of openssh, you want the id_rsa.pub, not the id_rsa19: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 key19:34
the correct file is one line long and starts with ssh-rsa or ssh-dsa19:34
if it has -----STUFF---- in it it probably is wrong19:35
teloscientist I should as for their .pub not .rsa19:35
Geralt left19:35
Travis-42 left19:35
divVerent _Vi: refs/locks, looks like we're getting somewhere19:35
_Vi divVerent, 1. After every update some hook starts at user side and assigns "-r" to all binary files.19:36
tek left19: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 name19:37
radii joined19:37
_Vi divVerent, 3. The script does "git push origin <some_my_commit>:refs/locks/hash_of_file_pathname"19:37
mmoya left19:37
divVerent now comes an idea... a push fails if that head already exists but cannot be fastforwarded to the rev you specify19: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 exactly19:38
but how to make it always non-fast-forward?19:38
mstrl joined19:38
divVerent if the lock already exists that is19:38
_Vi divVerent, 4b. The push succeeds. Scripts makes "+w".19:38
divVerent, 5. Users edits the file19:38
divVerent stupid workaround: create an initial parent commit, and lots of child commits, one for each user ID19:38
and always push the "user ID commit" :P19:38
that ensures fastforward is not possible19: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 parent19:39
then push-clear the branch19:40
that'd be race condition free too19:40
_Vi divVerent, BTW this scheme requires almost no changes on the server side.19:40
divVerent right19:40
for the ensuring that no fast forward can happen, it'd require some dummy commits at initialization19: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 head19:40
right19:40
samgranieri left19: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 that19:41
mw44118-work left19:41
divVerent adding users to that system is simple too19:41
cedric_ left19:41
_Vi divVerent, The main idea is requiring fast-forward pushes (the default), lock==branch_existence and using hashes of pathnames.19:41
divVerent right19:42
although I may rather url-escape the pathname19:42
_Vi divVerent, Each user is some commit that we may push to refs/locks.19:42
divVerent so the branch names are human readable19:42
cedricv left19:42
divVerent right19:42
teloscientist left19:42
divVerent and to get lock-removing atomic... I just noticed we don't NEED that :P19: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 lock19:43
of course, all this assumes centralized workflow19:43
loinclothoff_19:43
off_loincloth19: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 part19: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 svn19:44
_Vi divVerent, Internally it has storage for file mode, but it is not used.19:45
r11t left19:45
mattions joined19:46
alley_cat left19: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 sure19:47
would be annoying in many use cases otherwise19:47
like everyone once has had with cvs :P19:48
madewokherd joined19: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 fast19:48
tg left19:48
tg joined19:49
divVerent I now REALLY use it for my dedicated game server19:49
_Vi divVerent, <joke>Don't say the word "CVS" on #git!</joke>19:49
divVerent to save the HD space for the history19:49
_Vi: heeh19:49
charon left19:49
divVerent I still wonder HOW that git-cvsserver thing can work at all19:49
and there's many things I won't even think about, like pushing using it19: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 joined19:50
divVerent also, I wonder why it was made at all19:50
why didn't the same people make a git-svnserver instead?19:50
cvs is practically dead today19:50
_Vi: well19:50
in this specific case19:50
I never touch any of the checked out files19:50
but just pull19:50
alley_cat joined19:50
divVerent I know I could just as well use rsync and excluding the .git directory to keep it current19:51
charon joined19:51
divVerent but I still am amazed how fast this cvsserver thing is19:51
takes 7 minutes for what git checks out in 16 minutes, and svn does in 3019: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 joined19:52
_Vi divVerent, (You may write your script instead of "git submodule update")19:52
divVerent cvs can't do it19:52
so how can cvsserver? :P19: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 reposiotryname19:53
and19:53
cvs update -r1.2.3.4 filename19:53
but cvs has per-file revisions19:53
and nonatomic commits19: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 consistency19: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=summary19:54
this contains a command19:54
ignorabimus nonatomic commits? oh, I'm spoiled obvousely.19:54
divVerent except that I typo'd it19:54
put the checkout between the two -d options :P19:54
_Vi What is "div0-stable"?19:54
jas4711 left19:54
divVerent a stable tree of the darkplaces engine19:54
sockmonk joined19:54
divVerent which itself is hosted in a svn19:54
it's the branch name, basically19:54
_Vi divVerent, Can't it be like "e1d673c476de7c52da87275c3e9403abb5f42c92"?19:55
divVerent oh, never tried that19:55
but if that works, one has to always do a full new checkout19:55
hehe... I see it actually works... "sort of"19:55
git-cvsserver creates a new database for that "branch name" :P19:55
_Vi divVerent, You have have special "CVS-helper-branch" in the repo.19:55
divVerent _Vi: yes19:56
the repo was originally cvs19:56
then converted to svn19:56
and this is a git mirror of it19:56
with an added branch19:56
robinr left19:56
_Vi divVerent, <joke>Then it'll go reach nirvana</joke>19:56
s/go //19:56
divVerent hehe19:56
well19:56
up to now it was always possible to preserve history :P19:56
so when switching to git, we'll probably preserve history again19:57
_Vi divVerent, "git-svn".19:57
divVerent but, git allows to delete these stupid branches without bad side effects :P19:57
Aldwuin joined19:57
divVerent sure, this is a git-svn19:57
bcardarella left19:57
divVerent a bare repo that a cron job "git-svn fetch"es into19:57
but that cannot commit to svn19:57
Axius_ left19:57
divVerent all pushes go into the non-svn branches19:57
like the div0-stable19:57
_Vi divVerent, ? "git svn dcommit"?19:57
jrmuizel left19:58
divVerent _Vi: what will happen if I put that in the cronjob? :P19:58
well, currently it's an unidirectional mirror19:58
_Vi divVerent, It will commit on the schedule.19:58
divVerent although I would like to make it bidirectional19:58
xlistener joined19:58
_Vi divVerent, Let it commit to the special "from-git" branch.19:58
jrmuizel joined19: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 that19:59
first, I think we'll work on the git, but only in newly created branches19:59
Paraselene_ joined19:59
divVerent and use dcommit on the clients to commit to svn19:59
then, we eliminate the svn once everyone can do that19:59
disadvantage of that is the stupid dcommit on the client20:00
which I would indeed prefer on the server20:00
what is this "from-git" branch?20:00
anno^da joined20: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 one20:00
robinr joined20:01
divVerent what use is it to commit to a new branch in svn?20:01
mattions left20:01
divVerent then people checking out svn trunk won't get it20: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 yes20:02
that will then create a new branch on svn side too20:02
_Vi divVerent, It will create new branch at svn side. May be also some on git side.20:03
chalkbag_ joined20:03
_Vi divVerent, It will do like "svn copy http://qqq/trunk/ http://qqq/branches/from-git/".20:04
ignorabimus left20:04
divVerent sure20:04
I just don't see the use of that20:04
then svn users commit into trunk20:04
and I git-svn fetch, then git pull, and will eventually get it20: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 branch20:04
then the svn users working on trunk won't get my changes20:04
_Vi divVerent, Who merges? Who resolves conflicts between Git users and SVN users?20:05
divVerent ah, that is what i was missing20:05
okay20:05
so basically, we'd have to svn merge on the other side20:05
we can't, the svn server does not support mergeinfo20: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 done20:06
then git will see this as a new changeset20:06
and apply it again20:06
wouldn't that cause conflicts?20:06
chalkbag left20: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 resolution20:07
_Vi divVerent, To the trunk? What if conflict?20:07
divVerent if conflict, show some sort of error20:07
is what I would prefer20:07
so the user has to wait for the next git-svn fetch, fix the conflicts, and push again20:07
just... not sure how this can be accomplished20:08
as the change is already committed, just not pushed yet20: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 it20:08
yes20:08
for me it'd suffice if svn can be maitnained as a read-only copy of git for a while20:08
many people want to check out20:08
_Vi divVerent, Because of "git svn" is "rebase-rebase-rebase-rebase".20:08
divVerent but not that many need to commit20:09
_Vi: funnily not in my git-svn mirror :P20:09
but well20:09
it only fetches, works on a bare repository20:09
kain left20:09
_Vi divVerent, Bare == No merges.20:09
divVerent sure, it's the published repo from that website20:09
_Vi divVerent, (except of fast forward)20:09
divVerent still works fine for me20:10
rudi_s joined20: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 better20:10
is how I see it20: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 VM20:11
and installed tortoisesvn20:11
and now tortoisegit20:11
let's see how it breaks, if it breaks20:11
too many tortoises make the system slow?20:11
Tricon joined20:11
_Vi divVerent, Because of tortoise sounds similar to "turtle".20:12
martiin joined20:12
divVerent doesn't it even mean the same?20:13
okay, one conflict between tortoisesvn and tortoisegit I see: both associate with .diff20:13
brodyberg joined20:13
tetha from what I know, on likes to be around and on land, while the other prefers the deep ocean20:14
divVerent does not sound serious to me20:14
tetha but I can't rembember which ones which20:14
ifvoid zeker ls je ook nog wat van oss moet weten20:14
divVerent well, I am German, and I am pretty sure both are "Schildkröte" :P20:14
ifvoid oeps20: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 type20: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 turtles20:15
*meet20:15
Adlai left20:15
divVerent turtle is on sea, tortoise is on land, says dict.leo.org20:15
Adlai` joined20:16
tetha hehe20:16
buyt they might have met, as leonardo travelled to south america20:16
;)20:16
divVerent actually...20:17
_Vi </offtopic>20:17
divVerent given how much they are on land and on water20: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 left20:18
loinclot_ joined20:18
divVerent hm...hm...20:18
sh-3.2$ git push20:18
To ssh://gitosis@141.2.16.23/darkplaces.git20:18
smuf left20:18
divVerent ! [rejected] master -> master (non-fast forward)20:18
I never touched anything in master20:18
but master got advanced on remote20:18
_Vi divVerent, Just update.20:18
divVerent is that normal?20:18
sure, did that and it worked20:18
just, I never touched master in my checkout20:18
_Vi divVerent, Somebody else has touched?20:19
divVerent and never will20:19
nope20:19
it got touched on remote20: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 command20:19
_Vi divVerent, Somebody else has pushed, hasn't?20:19
divVerent as the default seems to try to push everything20:19
yes20:19
johnw joined20:19
divVerent someone else has20:19
but that is fine by me20:19
but I also pulled20:20
just, div0-stable was the active branch when I pulled20:20
and not master20:20
so I did git checkout master, git pull, git checkout div0-stable, git push20:20
then it was fine20:20
just... do I _have_ to do that?20:20
I don't work in master20:20
"for every head that exists on the local side" blabla20:21
is the default of git push20: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 type20:21
Fissure you can set push.default to change the behavior20:21
wereHamster divVerent: maybe you should set push.default to tracking20:21
or something else than the default20:21
divVerent ah, that sounds good20:22
Fissure left20: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 joined20:23
loinclot_loincloth_20:24
wereHamster divVerent: man git-config to see what values you can set push.default to and what they mean20:24
kkoehne_ joined20:24
divVerent ah, good20:24
hyperair left20:24
hyperair joined20:25
Gitbot divVerent: the git-config manpage can be found at http://git.or.cz/man/git-config20:25
robin joined20: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 left20:25
divVerent why do I want to git-fetch and merge separately20:25
instead of doing pull?20:25
robinGuest9831020:25
rudi_s_ left20:26
divVerent that is, what is the difference20:26
_Vi divVerent, Do be sure what will it actually do.20:26
thiago_home divVerent: git pull = fetch + merge20:26
so there isn't a difference20:26
thm joined20:26
divVerent thiago_home: well, the fetch part probably is the default20:27
ruediger_ joined20:27
divVerent and the merge part is probably origin/branchname20: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 left20: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_ joined20:29
ruediger left20: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 left20:30
divVerent but well, in my specific use case I often don't need to merge anyway20:30
as I am the only committer in div0-stable, and I only read from mastere20: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 yep20:32
wereHamster _Vi: when you run 'git fetch origni foo' git doesn't store the branch in origin/foo but in FETCH_HEAD20: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 joined20: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 joined20: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 left20:36
_Vi s/^_Vi/wereHamster/20:36
sudoer left20:36
schmukkk left20:37
ruediger_ruediger20: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 joined20:41
kkoehne left20: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 for20:43
Scorchin joined20:44
wereHamster ctpaterson: any comments in the key are irrelevant. What counts is that you can authenticate with the key20: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 left20: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 keys20: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 left20:47
ctpaterson _Vi: checksums match20:48
_Vi ctpaterson, Then use "ssh -v -v -v" to see messages.20:48
loincloth_ left20: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: no20:51
alley_cat left20:51
wereHamster ctpaterson: git uses ssh, and running ssh directly is a way to diaglose authenetication problems20: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.local20:52
no20:52
ssh -l admin20: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 that20:53
_Vi: thanks20: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' header20:54
keex joined20:54
nothingHappens left20:54
keystr0k charon: okay... and the commit info should be ignored too?20:54
charon indeed, but that also happens transparently20:54
keystr0k perfect! thanks charon20:55
charon keystr0k: extended git features like renames, binary patches and such cause problems20:55
but these aren't on by default20:55
keystr0k git diff --relative signup/signup.module20:55
sgh joined20:55
alley_cat joined20:55
keystr0k looks pretty straightforward... cool beans20:55
ifvoid left20:56
kristian42 joined20:56
Adlai`Adlai20:57
ctpaterson Have I run up against a wall on this?20:59
ToxicFrog joined21:00
jas4711 joined21:00
jumoit joined21:00
mugwump ctpaterson: run sshd -d on the server21:01
then connect to it21:01
that should tell you why the key is being rejected21:01
_Vi ctpaterson, Are permissions of "authorized_keys" and parents OK?21:01
ctpaterson _Vi: 644 for the admin account for the keys21:02
jas4711 left21:03
ctpaterson wugwump: sshd is running under root...is there a log I can look at under its current exec?21:03
jas4711 joined21: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.log21:05
ctpaterson, Where has you stored your pubkey on server?21:05
squarism left21:05
GeertB left21:06
kraymer left21:06
_Vi ctpaterson, Put your pubkey into ~/.ssh/authorized_keys21: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 joined21:08
jrmuizel left21:09
jrmuizel joined21:09
ctpaterson _Vi: sshd_config has %h/.ssh/authorized_keys21:10
_Vi ctpaterson, Mine too.21:10
ctpaterson, So put your pubkey into $HOME/.ssh/authorized_keys21:10
ctpaterson, (Pubkey of the _connecting_ part, not server's one).21:11
nonkennonken_afk21:11
drizzd joined21: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 left21:16
nonken_afknonken21: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 help21:18
shruggar joined21:18
mjf joined21:18
belak joined21: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 you21: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 pull21:20
sorry21:20
git fetch21: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/master21: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_ left21:22
ianmcorvidae belak: what do you want as a return value from this command?21:23
loincloth__ left21:23
belak It's for an update script for the kernel21:23
ianmcorvidae that does not answer either question21:23
answer the questions we ask or we cannot and will not help you21:23
belak I want it to do a git pull and then run the make only if the commit id has changed21:23
I was typing.21:24
Sorry21:24
ianmcorvidae 'git rev-parse <revision>' will give you the sha1 of that revision21: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 changed21:25
what Vi suggests would work as well21: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/HEAD21:26
if you, like me, think grepping the pull is a bit of a hack :)21:27
belak Yeah21:27
mmoya left21:27
belak I'm gonna go with ianmcorvidae's idea... comparing the 2 variables21:27
Thanks21:27
_Vi Why there's no "git pull --porcelain"?21:27
schierbeck joined21:28
ctpaterson left21:28
_Vi (going offline)21:28
_Vi left21:29
Oxf13 left21:30
pklingem2 left21:30
psoo joined21: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 left21:31
blaenk joined21:32
blaenk hey guys is there a quick way to revert to a previous commit (the immediate previous one)21:32
GeertB left21: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-reset21:33
Gitbot blaenk: the git-reset manpage can be found at http://git.or.cz/man/git-reset21:33
blaenk I was specifically looking for a shortcut, I forgot the shortcut for the previous commit21:33
Jaxoreth To undo a commit, `git reset --soft HEAD^`21:33
blaenk it's something like HEAD^ or something21:33
thank you Jaxoreth21:33
just a quickie, ^ is one back I believe so I can do ^^ for two back, I forgot what ~ is?21:34
johnw left21:34
loincloth joined21:34
Jaxoreth commit~3 is commit^^^21:34
ntoll left21:34
blaenk oh I see so it's like a shortcut, thanks Jaxoreth21:34
ShadeHawk left21:35
Oxf13 joined21:36
orafu left21:36
belak left21:36
mstrl left21:37
kipras_ left21:37
agenteo joined21:37
alley_cat left21:37
orafu joined21:37
corp joined21:39
krynnotaur left21:40
corp hello. i'm trying to get a git post-receive hook to work21:40
i have a shell script that just contains: echo $321:40
$3 in theory should contain the ref21:40
maattd left21:40
corp but it's just blank21:40
maattd joined21:41
cedric_ joined21:41
malumalu left21:41
kpreid_ left21:42
GeertB joined21:42
kpreid_ joined21: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 push21:43
gives the rewind error21:43
non-fastforward21:43
niki joined21:43
auslander left21:44
cedricv joined21:45
arobenaroben|away21: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 left21: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 apply21:48
khmarbaise left21:48
timcharper joined21:48
psoo left21:48
cedric_ left21:49
Jaxoreth blaenk: You have two options: either rewrite history, or revert on top of the bad commit21:49
bambule joined21: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 commit21:51
mw44118-1ork left21: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 me21: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 modified21:53
and I didn't edit anything in the file21: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 HEAD21:54
Ilari blaenk: There should be line for reset in reflog, right?21:54
blaenk well there's21:55
HEAD^: Updating HEAD21:55
Ilari blaenk: One before that HEAD^: Updating HEAD line.21:55
blaenk nope21:55
nothing shows up regarding any reset21:55
the one before that is my own commit21:55
keystr0k left21:55
infoG joined21:55
botanicus_ joined21:55
Ilari blaenk: That 'HEAD^: Updating HEAD' is the line the reset caused.21:56
infoG hi21:56
blaenk right that's what I figured21:56
but you say there's another line I should look for?21:56
rgr left21:57
Ilari blaenk: The one immediately after that 'HEAD^: Updating HEAD' line.21:57
blaenk: (its like for your commit).21:57
blaenk ohhh right21:57
right21:57
the message for it is 'removing previous changes' so yeah21:57
so I should get the sha for that one21:57
cilly left21: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-reset21:58
Ilari infoG: (and one needs the commits locally, for that presumably 'git remote update').21:59
infoG ok thanks21: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 around22:00
so they're not needed any more22: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 left22:02
Ilari blaenk: After that reset, you presumably want to do 'git revert HEAD' to undo what the last commit did.22:02
blaenk okay22:02
Tuomas left22:02
blaenk after the reset, reflog didn't change, this is normal right22:02
Ilari blaenk: That reset should have added new entry to reflog.22:02
Tuomas joined22: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 now22:03
cedricv left22:03
blaenk look watch22:03
the weird thing is that22:03
now the original commit is not there, the commit that I wanted to revert22: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 log22:04
Ilari blaenk: Reflog entries don't disappear automatically except by expiring (and the expiry time is quite long).22:04
parolang2 joined22:04
onigiri_ joined22:05
blaenk no i mean git log22:05
it's no longer in git log22:05
so what im saying is, my end now looks fine it's just that i cant push22:05
gitte joined22:05
Ilari blaenk: Push will be broken until one gets it back there.22:05
blaenk I kind of feel like just re-cloning22:05
oh okay so I should just reclone22:06
Ilari blaenk: Can you pastebin the reflog output so I can look?22:06
blaenk and then do the changes manually22:06
sure thing22:06
hyperair groans. the kernel sure has a lot of objects22: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 know22: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 that22:07
krynnotaur joined22:07
BigMack83 left22: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 left22: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 one22:08
no one has pulled it I'm the only one on this repos22:08
agile joined22: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 left22:08
Ilari ?22:08
capndiesel left22: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 fix22:08
I guess I should just do that, reclone, I don't want to get things messy22:08
timcharper blaenk: you can do this: git reset --hard origin/master22:08
blaenk http://pastie.org/769404 reflog22:08
Ilari blaenk: No, you shouldn't.22:09
timcharper that will be kind of the same thing as a reclone22:09
blaenk reset --hard origin/master sounds right, should I?22:09
univate joined22: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 first22:10
blaenk okay so I'll do what you say llari then what22:10
lucsky left22: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
*revert22:11
blaenk okay hope this works22:11
RobertLaptop left22:11
Ilari blaenk: Well, except that local changes can come to mess things up...22:11
rseifert left22:11
anjen1 joined22:11
name left22:12
blaenk okay the revert correctly reverted the tag styling, llari22: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 fonts22:12
blaenk I like this font22:12
Altreus It's an i or an l isn't it really22:13
blaenk should I try to push now?22:13
Altreus Try both22:13
Ilari blaenk: Yes. Push should work now.22:13
jrmuizel left22:13
crazy3k joined22: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 irrelevant22:13
the one where I did git reset --soft 'commit after HEAD^ in reflog'22:13
sourcemaker joined22:14
Ilari blaenk: The proper way would have been either to reset + force-push or revert + push.22:14
mbroeker left22:14
Ilari blaenk: The first way tends to mess others up.22:14
blaenk force push sounds messy22: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 newbie22:14
blaenk yeah I know the proper way but I mean from what you said22:14
Dr1Horrible joined22:14
blaenk thanks Ilari22: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 directories22:15
timcharper does Emacs have any hooks that you can tie into that get called when the window is focused?22:15
froschi left22: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 pattern22:18
have you tried #git? They are very helpful folks over there.22:18
Dr1Horrible timcharper: It does for files, but not for directories22: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
*something22: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^were22: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 banter22:21
gitte left22:21
Ilari anjen1: And besides, commits are fast.22:21
Guest98310 left22:21
anjen1 ilari, gotcha. so do you also push them with the same frquency?22:22
*push them to git that is22:22
Ilari anjen1: No. Test first.22:22
anjen1 ilari...understood...will do. good advise22:22
Ilari anjen1: Fixing mistakes before pushing is much easeier than after pushing.22:22
anjen1 ilari, btw, everryhting gets teted before I commit22:22
*everything gets tested22:23
Ilari anjen1: Yeah. Good to test it before commit (it needs testing before pushing anyway).22:23
jrmuizel joined22:23
LiamH left22: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 push22: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_ left22:25
Ilari anjen1: Such as 'remote helper extensions' for git itself, which was group of 8 commits.22:25
loincloth left22: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 sense22:26
DavidKlein left22:26
Lisimba joined22:26
Dr1Horrible Does no one know how to unignore directorys?22:26
wereHamster !directory/22:26
Dr1Horrible wereHamster: That doesnt work:S22:26
warthog9 ShadeHawk: ok I'm starting ti import your changes into my tree for review, sorry this has taken so long22:27
wereHamster Dr1Horrible: maybe it's easier to add just '*' to gitignore and explicitely track the few files you want22:27
schmukkk joined22: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 tracked22: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 joined22:28
parolang2 Err, I'm new to *git :)22:29
anjen1 ilari. Understood. but intermediate *commit history* is sitill recorded, yes?22:29
orafu left22:29
wereHamster parolang2: git merge (or git pull, as pull = fetch+merge)22:29
Ilari anjen1: Yes.22:29
anjen1 ilari ttyy22:29
orafu joined22:29
anjen1 mt22:29
parolang2 wereHamster: Okay, thanks22: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 left22:33
Ratler joined22:33
parolang2 wereHamster: I did git pull from my other machine.22:33
wereHamster parolang2: no error message?22:34
parolang2 wereHamster: no22:35
wereHamster probably your branch tracking is set up wrong22:35
git doesn't fetch or merge the correct branch\22:35
anjen1 ilari, not sure what a commit group is yet22: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 subdirectorys22:36
intripoon left22:36
madewokherd left22:36
_Vi joined22:39
infoG left22:41
Ilari anjen1: Commits that are pushed/sent/committed at once. Not really recorded.22:42
amerine joined22: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 left22:46
aroben|awayaroben22: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 joined22:46
tedoc2000 joined22:47
Dr1Horrible left22:48
drewolson joined22:48
project2501a joined22:48
notjohn left22:48
Nazcafan joined22:50
Nazcafan hello22:50
_Vi bentob0x, "git pull --rebase"?22:50
Nazcafan I made a copy of my $HOME on an external drive and back22: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 status22:52
fatal: Not a git repository (or any of the parent directories): .git22:52
I don't know what went wrong22:52
_Vi Nazcafan, Have you copied the ".git" directory?22:53
Nazcafan _Vi, it seems so, I can see it when I ls -a22:53
_Vi Nazcafan, Is there "HEAD" inside it? "objects", "refs"?22:54
Nazcafan, What's in "HEAD"?22:54
|Rolenun|Rolenun22:55
Nazcafan _Vi, there is no HEAD22:56
_Vi, here are the contents: http://paste.debian.net/55842/22:56
pantsman left22:56
__iron left22:56
Nazcafan there is a "head" though (small case)22:56
_Vi Nazcafan, Rename it to uppercase one.22:57
priidu left22:57
Nazcafan oh?22:57
_Vi Nazcafan, Now works?22:57
eletuchy joined22:57
_Vi Nazcafan, "mv .git/head .git/HEAD"22:57
Nazcafan, Is it Windoze?22:57
Nazcafan _Vi, worked22:58
no, it is a debian distro22:58
hendry left22:58
Nazcafan but I used a fat32 harddrive as a mean of backup22:58
teuf :win éç22:58
Nazcafan _Vi, how come the case was wrong?22:58
_Vi Nazcafan, Case-insensitive FAT32.22:59
maattd left23:00
Nazcafan _Vi, however, I have some folders for which the capital case was saved23:00
_Vi Nazcafan, I also have all files lowercase on my FAT32.23:00
Nazcafan s/saved/preserved23:00
RandalSchwartz joined23:00
_Vi Nazcafan, They are >8 characters in filename.23:01
Nazcafan, So LFN used.23:01
martiin left23:01
Chillance joined23: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 left23:02
Nazcafan _Vi, ok23:02
_Vi, thanks for your help23:02
there seems to be a problem, though23:03
arobenaroben|meeting23:03
jrmuizel left23:04
RobertLaptop joined23:05
TeckniX left23:06
EricInBNE joined23:06
drizzd left23:06
Nazcafan _Vi, git says almost all my files have been modified23:07
_Vi, which is wrong23:07
_Vi Nazcafan, "git reset --hard"?23:07
lresende left23:07
_Vi Nazcafan, Do you have some useful changes?23:07
Nazcafan, "git diff"?23:07
Nazcafan _Vi, wait, some files have Really been modified23:07
_Vi Nazcafan, What about "git diff"?23:08
eletuchy left23:09
WALoeIII joined23:09
Nazcafan ahaa23:10
all the diffs show a mode difference23:10
_Vi Nazcafan, +x everywhere?23:11
Nazcafan _Vi, you are right23:11
bloody vfat?23:11
_Vi Nazcafan, Just "find . -type f | xargs chmod -x"?23:11
ixti left23: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 joined23:13
Nazcafan _Vi, it is a removable drive, actually23:13
_Vi Nazcafan, Why to you need complete working copy of repository on removable medium?23:13
drizzd joined23:14
Nazcafan _Vi, I didn't ask myself that, I just backed up everything in $HOME before installing another operating system23:14
nonkennonken_afk23:15
corp left23:15
aresnick left23:16
mnyon left23:16
tvw joined23:17
GSaldana i need some help setting up gitweb. I get "403 forbidden - No projects found" on gitweb's main page23:18
drewolson left23:18
mmoya left23:20
russell_h left23:21
philips left23:21
jlilly left23:22
tedoc2000 left23:23
corni left23:24
tedoc2000 joined23:24
magcius left23:25
magcius joined23:25
stamina left23:26
Nazcafan _Vi, thanks for your help, everything seems to be on rails for now23:27
fualo joined23:29
eletuchy joined23:35
spaceonline joined23:35
unreal_ joined23:36
unreal left23:36
anno^da left23:37
Nazcafan _Vi, thanks again, good night23:37
Nazcafan left23:37
ehabkost_ left23:39
rkirti joined23:39
cnk_ joined23:39
cloudhead joined23:40
rtyler any tig users around?23:40
onigiri_ left23:41
corp joined23: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 for23:43
path..." for one of the submodules I removed23:43
bantic left23:43
onigiri_ joined23:43
_Vi cnk_, There are also commit_ids in trees.23:43
unreal_unreal23: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 left23:45
cnk_ Actually what I think I don't understand is the difference between 'git reset --hard' and creating a branch23:46
orafu left23:46
mugwump submodule checkouts don't behave in general like other files when changing branches and resetting23:46
orafu joined23:46
mugwump this is a longstanding deficiency in the23:46
implementation23: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 disappear23:47
mugwump no idea, check the changelog23:47
cnk_ I can reproduce the Capistrano problem by hand23:47
altrux left23: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 hand23:48
m-takagi_m-takagi23:48
mugwump you can fake it with hooks23:49
there should be both pre-checkout and post-checkout hooks in newer gits23:49
adaran joined23:49
tfarina joined23:49
mugwump that's probably better, and then submit your hacks to the list for discussion, maybe it will prompt someone to fix it23: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 left23: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 joined23:51
_Vi adaran, (Hack: make FUSE filesystem which hangs accessing task instead of reporting already existing file)23:51
cedricv left23: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" approach23:53
cnk_ git clone; git branch --track bname origin/bname; git checkout bname; git submodule init23:53
works great23: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 --hard23:54
Pupeno joined23:54
_Vi cnk_, Should "git reset --hard" ever touch submodule's directory?23:55
cnk_ I don't know23: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 information23:55
parolang2 left23:56
cedricv joined23: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 submodule23:56
this is a new clone, so I am not rechecking out anything23: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 erroring23:57
sgh left23:57
Mezner left23: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 will23:58

Logs Search ←Prev date Next date→ Channels Documentation