IRCloggy #git 2009-11-26

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.

2009-11-26

doener EugenMayer: once you do "git add file", the modified version gets into the index00:00
EugenMayer: the changes are still uncommitted at that point, but "staged"00:00
EugenMayer is that file then "stashed" ? as its not commited?00:00
doener EugenMayer: i.e. the next commit will have those changes00:00
EugenMayer staged = stashed or "in the stash" ?00:00
cbreak stashed files will not become committed00:00
they are stashed away00:00
if you do git add, they are in the index/staging area00:00
ajonat left00:00
doener EugenMayer: staged != stashed00:00
cbreak staged maybe00:00
EugenMayer ok, got that. So we have "unstaged -> staged -> committed00:01
doener EugenMayer: right00:01
EugenMayer doener: thanks a lot00:01
cbreak if you do git commit -a, it goes directly to committed00:01
à la svn00:01
EugenMayer cbreak: only if its not a new file :)00:01
cbreak yes00:01
details! :)00:01
doener like svn00:01
lunks left00:01
EugenMayer don't use that dirty name to often! :)00:02
doener EugenMayer: a useful thing that uses "staging" and "stashing":00:02
EugenMayer: you work on some stuff, and accidently start working on something else00:02
EugenMayer: now, of course those two things should go into two different commits00:02
cortana` left00:02
flazz left00:02
loincloth joined00:03
EugenMayer is reading interested00:03
doener EugenMayer: for simplicity, let's assume that change 1 affects fileA and fileB, while change 2 affect fileX and fileY00:03
bcardarella left00:03
EugenMayer checked00:03
erlehmann_ joined00:03
doener EugenMayer: then you'd do "git add fileA fileB" to "stage" those two files (adding them to the index as they are in the working tree)00:04
erlehmann left00:04
doener EugenMayer: then you could immediately do "git commit" to get a commit that changes those two files. But that would mean that you never actually tested that version (because your working tree has fileX and fileY modified, too)00:04
EugenMayer: you git offers "git stash save --keep-index"00:04
EugenMayer ah!00:05
flazz_ left00:05
doener EugenMayer: the --keep-index options makes it drop only changes that you didn't add to the index yet00:05
jeffxl joined00:05
EugenMayer so I stash away the changes, test and if I like it00:05
I "remove" the stash and work on the fileX / fileY project / task00:05
how to get it back from stash00:05
doener EugenMayer: so after that command, the changes to fileA and fileB remain, but those to fileX and fileY have been stashed away00:05
EugenMayer: then you can test, and if it works, commit00:05
EugenMayer: and then you can restore the changes to fileX and fileY using "git stash apply"00:06
erlehmann_erlehmann00:06
EugenMayer great. wait, just the order00:06
doener EugenMayer: and if you don't need the stash entry anymore, you can do "git stash drop <stash-entry>" to remove it (you can get a list of stash entries with "git stash list")00:07
EugenMayer: as a shorthand, there's also "git stash pop", which applies the stash entry and deletes it at the same time00:07
EugenMayer "git add fileA fileB" "git commit -am 'this and that'" "git stash --keep-index" TESTING00:07
then I get the stash back by "git stash apply"00:07
flazz joined00:08
EugenMayer ok I got it! Thank you a lot00:08
the principle is clear00:08
doener EugenMayer: no. "git add fileA fileB; git stash --keep-index; *test*; git commit; git stash pop"00:08
loincloth left00:08
EugenMayer ah!00:08
dfr|work left00:08
doener EugenMayer: you want to test _before_ you commit00:08
EugenMayer clear, first test - then commit00:08
doener EugenMayer: in fact, the -a you used with "git commit" would have added fileX and fileY to the commit, too00:09
EugenMayer yeah, that's too00:09
"clear"00:10
doener: thank you a lot00:11
doener you're welcome00:11
cbreak git commit --amend is nice if you make as many spelling mistakes as I do00:13
wagle_ joined00:14
wagle left00:14
jrmuizel left00:15
cubuanic joined00:16
ybit_ybit00:16
tfarina left00:16
Paraselene__ left00:16
ded left00:17
cubuanic hello guys00:19
m-takagim-takagi_00:19
cubuanic how i can delete last commit locally, and then push this change to my remote?00:19
yaotti_aw joined00:20
yaotti_awyaotti00:20
EugenMayer how to list the files in a bare repo?00:24
cbreak cubuanic: you can delete commits locally with git reset00:25
mugwump EugenMayer: see 'plumbing' commands in man git00:25
EugenMayer thanks00:25
cbreak but if you pushed them to a remote, that won't work00:25
mugwump you'll probably want 'git ls-tree'00:25
cubuanic why ?00:25
Ryback_ left00:25
cbreak because git reset just removes a commit from local00:26
among other things it can00:26
then remote is just this commit ahead00:26
if you want to undo it, you can use revert. you get a commit that removes the changes of an other commit00:26
cubuanic ok thanks00:26
cbreak I guess you can do something with force pushes, but I wouldn't dare to tell you what because it's probably dangerous00:26
and if someone else pulled already, it'll be chaos00:27
Analias left00:27
jeffxl left00:28
EugenMayer can I let git run "git update-server-info" on every checkin?00:28
cbreak you mean push?00:28
EugenMayer yes, in that case, as its "bare", its would be a push from a client00:28
its needed because I use git over dav00:29
cbreak there's a post-update hook00:29
EugenMayer ok, I will have a look into it00:29
Thank you00:29
hipe joined00:31
tetha left00:31
tetha joined00:32
Yuuhi` left00:32
imajes left00:32
Yuuhi` joined00:32
tamm0r left00:33
rettub_ joined00:33
EugenMayer http://paste.debian.net/5243100:34
I cloned a bare repo, changed something and now trying to push it back..getting this "error". What did I do wrong?00:34
milli left00:35
milli joined00:35
wereHamster EugenMayer: was the remote repository empty when you cloned it?00:35
EugenMayer no00:36
it had ~400 files00:36
wrench joined00:37
fualo left00:38
mikepence joined00:38
EugenMayer I don't get why the "master" seems not in that list00:39
dominikh1 left00:39
wrench left00:41
ereslibre joined00:41
javatexan left00:42
skyl left00:42
EugenMayer wereHamster: no idea?00:43
flaguy48 joined00:43
EugenMayer # Your branch is ahead of 'origin/master' by 2 commits.00:44
that's what I get on the local clone00:44
wereHamster EugenMayer: try git push origin master00:44
rettub left00:45
EugenMayer wereHamster: that worked. Could you explain it shortly?00:45
I mean, I was on the master branch, there are no branches at all00:45
wereHamster EugenMayer: no idea00:46
Jinzhu joined00:49
wagle_ left00:50
Sonderblade_ left00:51
Sonderblade_ joined00:51
godsflaw left00:52
pantsman left00:52
__iron left00:52
__iron joined00:53
Keiya_ joined00:54
chuck joined00:54
chuck Do you guys know what this notice means in "git-status"?00:54
flazz left00:54
chuck # Your branch is ahead of 'origin/master' by 3 commits.00:54
It said that my index file was corrupted, so I did "rm .git/index && git reset" and then that message started showing up00:54
thenetduck left00:54
wereHamster your local branch has three more commits than the branch origin/master00:54
chuck this is git-push: http://gist.github.com/24314100:54
wereHamster: how do I fix that though? I can't push00:55
EugenMayer I just merged a branch and would like to revert. Is this possible?00:55
mjf left00:55
wereHamster chuck: git fsck --full00:55
EugenMayer: git reset --hard HEAD@{1}00:56
chuck fatal: object f1787fa06498501ae39535d062c522a299e1f97e is corrupted00:56
wereHamster I'm sure there is a faq entry what to do about corruption00:56
EugenMayer whis switch from git brach foo to git branch bar, I get a "git could not unlink XYZ .. it's a directory"00:57
how could I fix that, stop him making hard / softlinks?00:57
kpreid_ left00:57
Keiya left00:58
parasti left00:58
alex87 joined00:59
jrmuizel joined00:59
alex87 left00:59
loincloth joined01:00
doener EugenMayer: git version?01:00
EugenMayer 1.6.501:00
those dirs he can't reset are clones of other reps created by braid01:00
sdboyer left01:01
alanhaggai joined01:01
alanhaggaiGuest5301701:02
doener EugenMayer: hm, I thought there was a "fix", but the log suggests there wasn't01:02
EugenMayer: in the bare repo, you probably have a file called packed-refs01:02
EugenMayer this is not a bare right now01:02
doener EugenMayer: that's a file that has refs, well, packed into one file, instead of multiple files in refs/01:03
jaysern joined01:03
doener EugenMayer: and the http transport doesn't really support that AFAIK, so I guess that's why you got the confusing message from "git push"01:03
EugenMayer: (I'm actually one problem behind ;-))01:03
EugenMayer what does HTTP transport not support?01:04
doener EugenMayer: the packed-refs file01:04
EugenMayer (iam a bit confused now, sorry)01:04
ok, ok01:04
sounds like http push / pull isn't the "recommened" way at all, or?01:06
doener EugenMayer: i.e. I (tried to) explain why this happened: http://paste.debian.net/5243101:06
EugenMayer in my case, I use it because of my customers mostly have a proxy running, and then I can't reach the repo01:06
freenode joined01:06
freenodeGuest7363101:07
doener EugenMayer: http dav push is basically like "aarrghh" AFAIK. http fetch works, but is a dumb protocol (can just transfer given packs, not custom packs tailored to the needs of the client that does the fetch)01:07
EugenMayer ok so basically dav is shite?01:08
(for git=01:08
doener EugenMayer: there's some work being done about a smart http transport, but I don't know its status. And it seems that there's also some recent work on http push, but I have no idea about that either. (I even build git without http support here, as I'm not an enterprise ;-))01:08
Determinist left01:09
EugenMayer are there alternatives if I need: authing on every repo, multible users ( would be great if I would be able to use read / write control, but that's opt)01:09
as the client won't need push, I actually could use the alternative for me01:10
I guess that would be "git over ssh", or?01:10
doener EugenMayer: Basically: ssh. gitosis/gitolite are currently the most popular solutions to that, offering ACLs using a single unix user accout + ssh public keys01:10
tedoc2000 left01:11
jaysern left01:12
EugenMayer gitosis sounds good, is gitolite any better?01:13
doener EugenMayer: perl instead of python, supposed to be easier to setup, AFAIK more fine-grained ACLs (branch level instead of repo level)01:14
EugenMayer: sitaram will probably be happy to tell more (he's the author of gitolite)01:14
pklingem1 joined01:14
EugenMayer doener: that's sounds _awesome_!01:15
You made my day01:16
doener EugenMayer: if I'm not mistaken, he should be online again in about two or three hours (he's in India)01:16
mikepence left01:16
EugenMayer so I will use gitolite for anything "push/pull" related on my side, will use http pull if the customer has a proxy01:16
squentin left01:19
loincloth left01:19
cao left01:19
\ask left01:20
zjason left01:21
zjason joined01:21
sitaram EugenMayer: http://github.com/sitaramc/gitolite/blob/pu/README.mkd for the readme01:22
doener sitaram: hey, you're too early!01:22
EugenMayer sitaram: I have read it, installing now01:22
doener ;-)01:22
sitaram EugenMayer: http://github.com/sitaramc/gitolite/blob/pu/doc/3-faq-tips-etc.mkd#diff for detailed differences/extras from gitosis01:22
EugenMayer sitaram: as iam a foswiki dev, I should go with perl anyway :)01:22
sitaram: I buyed your project anyway01:22
sitaram doener: :)01:22
EugenMayer at least because of the huge "find a security bug" award!01:23
;-)01:23
sitaram doener: I'm late; it's 6:53am now, and I'm still groggy (not been well lately... tonsilitis, at my age!)01:23
agib left01:23
cao joined01:23
joel_ left01:24
doener sitaram: hm, 4.5 hours offset from here? I thought it was just 2.5 hours, but that was actually just my gut feeling, and you can probably guess how well I can judge the time of the day01:24
it's about "not at all"01:24
ia left01:24
sitaram EugenMayer: :) It's in production at work, in environments that need that security/auditability01:24
doener: UTC+0530, no summer changes; so I guess 4.5 from DE01:25
doener: however, I will be logging off soon to get dressed, go to work, etc., so you're right abuot me coming in in another 2 hours :)01:25
alanhaggai joined01:25
doener heh, at least something :-)01:25
EugenMayer doener: your german. I have written up some tutorials for submodule / braid / git dav / gitoriuos on http://wiki.impressive-media.de01:25
schmukkk joined01:26
EugenMayer doener: should I link them somewhere?01:26
Yuuhi` left01:26
sitaram EugenMayer: what TZ are you in? and will you still be up in about 1.5-2 hrs from now? I'll be back around then if you need anything01:26
EugenMayer sitaram: DE, 2:30 here. So I will be of in sometime.01:27
sitaram: I will try to set it up. Can't be harder then the bloody gitoriuos (hell what a bloody edge it is..)01:27
doener: http://wiki.impressive-media.de/searchplus/results/taxonomy%3A138%2C41801:28
doener: that are basically or public article01:28
sitaram EugenMayer: I make the ssh piece a pre-requisite so it becomes very easy to install :)01:28
ia joined01:28
sitaram EugenMayer: gotta go; catch ya later. Session will be on so if anything comes up post or pm even if you aren't on by the time I get back01:28
Guest53017 left01:28
EugenMayer great. Thanks01:29
rettub_ left01:29
EugenMayer man, why people are so kind in here?01:29
Keiya_ left01:29
sitaram (email to [email@hidden.address] is fine too, your choice)01:29
jfkw left01:29
rettub_ joined01:29
Keiya joined01:30
doener EugenMayer: there might be some page in the wiki that has links to external resources like that, but honestly, I have no idea. Already too much brain power/time needing for this channel, I mostly leave the web for others01:30
EugenMayer sure, where is the wiki at all?01:30
cubuanic left01:30
doener http://git.or.cz/gitwiki/01:30
EugenMayer: http://git.or.cz/gitwiki/GitDocumentation -- The "Non-english Language Documentation" section might fit01:31
me22 joined01:33
phoolishsan joined01:34
Guest73631 left01:35
Keiya_ joined01:36
phoolishsan left01:38
m104 left01:38
hgimenez left01:39
Keiya_ left01:39
Keiya left01:39
blakemizerany left01:39
WALoeIII left01:40
ph^ left01:40
Keiya joined01:41
lamont left01:41
EugenMayer doener: thanks, I updated that wiki01:42
lamont joined01:42
psynaptic left01:44
AAA_awright_ joined01:44
hgimenez joined01:44
kpreid_ joined01:45
AAA_awright left01:45
AAA_awright_AAA_awright01:45
lunks_ left01:48
alanhaggai left01:48
Sonderblade_ left01:52
ia left01:53
EugenMayer doener: any idea how to choose the ssh port for the easy install in gitosis?01:55
doener EugenMayer: gitolite you mean?01:56
EugenMayer found it ( yes )01:56
ia joined01:58
doener calls it a day01:58
EugenMayer n801:59
jrmuizel left02:00
jrmuizel joined02:01
bentob0x left02:03
d1b_d1b02:04
d1b left02:04
d1b joined02:04
shuffle2 left02:09
WALoeIII joined02:10
WALoeIII left02:11
EugenMayer sitaram: some docu probs: To administer gitolite, make changes to the config file02:11
(config/gitolite.conf)02:11
sitaram: on my installation, there is only a conf/ directory, there is no gitolite.conf, only that example ones. That docu is in gl-easy-install02:12
sitaram: and/or the pubkeys (in subdirectory 'keydir') in any clone, then git add, git commit, and git push.02:13
sh1mmer joined02:13
EugenMayer same place ( gl-easy-install tail ): its very unclear whether to create the directory under conf/keydir or /keydir02:13
shuffle2 joined02:14
pcc1 I am attempting to rebase a subtree which includes manual merge conflict resolution onto a linear history. would I be correct in saying that "git rebase" does not take account of the conflict resolution, and if so is it possible to use this information (I am needing to resolve manually essentially the same conflicts as when the tree was originally created)?02:17
RaceCondition joined02:17
RaceCondition why does git "fatal: cannot handle STATUS internally" when git STATUS is called? :P02:18
jrmuizel left02:18
wereHamster strange, I get this instead: git: 'STATUS' is not a git-command. See 'git --help'.02:19
rektide status not STATUS02:20
jackylee joined02:20
offby1 RaceCondition: pleased to make your acquaintance. Mr Fencepost will be along shortly02:20
RaceCondition offby1: :)02:21
tedoc2000 joined02:24
VVSiz_ joined02:24
orafu left02:24
RaceCondition left02:25
orafu joined02:25
RaceCondition joined02:25
RaceCondition left02:26
objorn warning: remote HEAD refers to nonexistent ref, unable to checkout.02:30
how can i fix that?02:30
EugenMayer sitaram: well sorry, it was not clear to me, that the admin repo is on the client, not on the server actually02:30
objorn i own the remote git repo02:32
i can do anything that needs to be done to it02:32
purpleidea joined02:32
jrmuizel joined02:33
purpleidea could anyone tell me how to list which files are being tracked by git? eg git status --someflag ?02:34
FunkeeMonk left02:34
sh1mmer left02:35
cedricv joined02:36
wereHamster objorn: is the remote repo empty?02:38
objorn wereHamster: no, it has 2 files and one directory02:40
Sake left02:40
aziz left02:40
mithro left02:40
linkinus left02:40
xenoterracide left02:41
lfranchi left02:41
xenoterracide joined02:41
lfranchi joined02:41
ereslibre left02:42
VVSiz left02:42
jspiros left02:42
Thralas left02:42
madduck left02:42
up_the_irons left02:42
impulze left02:42
yatiohi left02:42
vkroll left02:42
dirker left02:42
dkr21 left02:42
guerrilla left02:42
shd left02:42
corecode left02:42
knittl left02:42
jettero left02:42
stick left02:42
tychoish left02:42
hansent|away left02:42
halfline left02:42
mikem23 left02:42
fpcfan-away left02:42
osfameron left02:42
hatseflats left02:42
eMBee left02:42
ijuma left02:42
charon left02:42
tg left02:42
f00li5h left02:42
chty left02:42
barrym left02:42
wereHamster objorn: can you pastebin 'git ls-remote origin' ?02:42
guerrilla joined02:43
dkr21 joined02:43
sunil joined02:44
objorn wereHamster: it shows nothing when i do that, it just goes to the next command line prompt02:44
chty joined02:44
objorn and it didn't pull in the files from the repo02:45
wereHamster git --version?02:45
SunilThaha left02:45
objorn git version 1.5.6.502:45
wereHamster oh boy, you should upgrade02:45
alus git should auto-upgrade02:46
like firefox02:46
tedoc2000 left02:47
stuffcorpse left02:47
stuffcorpse joined02:47
tedoc2000 joined02:48
jlilly joined02:49
EugenMayer sitaram: you should create the directory, the repos are in with "-r", as if the parentdir is also missing, it fails the complete install02:50
hgimenez left02:52
objorn okay, git version 1.6.5.302:55
m-takagi_m-takagi02:56
kpreid_ left02:56
objorn fatal: http://helpme.net/please/info/refs not found: did you run git update-server-info on the server?02:57
zjason left02:57
purpleidea how do you list which files are being tracked by git? eg: git status --show-tracked ?02:57
wereHamster purpleidea: git ls-files02:58
ebneter left02:58
wereHamster objorn: did you?02:58
objorn wereHamster: yes02:58
purpleidea wereHamster: thanks!02:58
wereHamster does info/refs exist?02:59
objorn wereHamster: i was suppoed to run git "update-server-info" right?02:59
wereHamster git update-server-info02:59
objorn yes, that's what i did02:59
with the "git" included03:00
wereHamster and, did it create info/refs?03:00
andrewa2 joined03:00
objorn yes03:01
cat refs03:01
3cb10a15046190623b45d9d78b9cdbfd35d40706refs/heads/master03:01
Fissure should that not be /please/.git/info/refs?03:03
i'm not sure http clone will auto-find .git like smart protocols03:03
objorn Fissure: that is /please/.git/info/refs03:04
Fissure i mean, you should be trying to clone /please/.git, not /please03:05
worth trying, anyway03:05
objorn same error03:05
oh wait03:06
that worked!03:06
Fissure yay lucky guesses03:06
(central repos should probably be bare anyway....)03:06
jrmuizel left03:10
sitaram EugenMayer: still there?03:15
jspiros joined03:15
yatiohi joined03:15
fpcfan-away joined03:15
hatseflats joined03:15
tg joined03:15
ijuma joined03:15
impulze joined03:15
hansent|away joined03:15
mikem23 joined03:15
barrym joined03:15
corecode joined03:15
Thralas joined03:15
eMBee joined03:15
stick joined03:15
osfameron joined03:15
f00li5h joined03:15
dirker joined03:15
up_the_irons joined03:15
tychoish joined03:15
halfline joined03:15
charon joined03:15
madduck joined03:15
vkroll joined03:15
jettero joined03:15
knittl joined03:15
shd joined03:15
sitaram just got in to work03:15
rchavik joined03:16
pklingem1 left03:16
EugenMayer sitaram: yes03:16
sitaram: I have some suggestions03:17
sitaram EugenMayer: sorry about that config/ instead of conf/ -- thanks for finding it; fixed03:17
EugenMayer first of, your tool is _great_03:17
sitaram EugenMayer: can you elaborate on the "-r" bit?03:17
EugenMayer well, lets say, we want to create a dir /tmp/foo03:18
"mkdir /tmp/foo"03:18
it would work, as /tmp is already created03:18
if we create03:18
mkdir "nothereyet/foo"03:18
it will fail03:18
PataTwo left03:18
EugenMayer oh, its should not be "-r" but -p03:19
sitaram EugenMayer: I meant, within gitolite... because if you attempt to create a repo using the config file, (like "repo a/b/c") it does indeed create the missing directories03:19
EugenMayer yes, but it would not work, if the parent directories are not there yet03:19
it will fail03:19
you need the -p switch for mkdir03:19
andrewa2 left03:19
andrewa2 joined03:19
sitaram EugenMayer: so I guess I'll rephrase my question: how exactly did you get that error, like what steps were you running?03:20
EugenMayer I installed gitolite03:20
schambers joined03:20
EugenMayer my repo was set to /home/git/repos03:20
jrmuizel joined03:20
ajonat joined03:20
EugenMayer neither /home/git03:20
cytrinox_ joined03:21
ben_h joined03:21
EugenMayer nor /home/git/repos was existing before03:21
zjason joined03:21
EugenMayer during the installtion, the "mkdir /home/git/repos" failed03:21
djgera joined03:21
sitaram EugenMayer: you mean you set $REPO_BASE to /home/git/repos?03:21
EugenMayer as it was not a "mdir -p /home/git/repos"03:21
yes03:21
cytrinox left03:21
cytrinox_cytrinox03:21
EugenMayer you need to "create all parents on the path"03:22
sitaram hmm.. I thought you meant at the next level...03:22
when creating repos *within* REPO_BASE03:22
EugenMayer no, before. Installation process, not repo init03:22
sitaram ok; I'll add that in -- sounds harmless and it's one time; thanks03:22
kpreid_ joined03:22
nevyn_ joined03:22
EugenMayer if your tools proves to do what it describes03:23
I might want to write a GUI I would share03:23
ah yes, I have a suggestion but I guess it will be harder to deal with03:23
it would be cool, if I could provide a list of repos with a prefix03:23
like03:23
sitaram EugenMayer: ok wait -- back to this directory thing; let me think about it a little more. I find that currently I'm using perl's internal mkdir, and I hate loading extra modules so I'd have to use "mkdir -p". Will do that later03:24
EugenMayer @modules(basic/) = foo bar03:24
Keiya left03:24
EugenMayer this would result in basic/foo and basic/bar03:24
sitaram: will it is not critical, you should simply warn the user.03:24
Keiya joined03:25
EugenMayer that "please create the directoy"..or use a regexp to split up the path03:25
and create each level03:25
cbreak just put slashes into your folder names03:25
done.03:25
sitaram EugenMayer: I didn't understand this: 08:55:08 < EugenMayer> that "please create the directoy"..or use a regexp to split up the path03:26
EugenMayer sitaram: well if you can't use mkdir -p, you could split up "/home/git/repos" into "/home" "/home/git" "/home/git/repos"03:27
and run a mkdir for every03:27
sitaram EugenMayer: too much work for a one-time thing; I'll just use mkdir -p after thinking about any potential security issues (and putting in disclaimers, and using the list form of course!)03:28
EugenMayer its really cool that the list form is able to deal with subdirs03:29
exygen left03:29
EugenMayer by the way, using the git repo for the config procedure - genius!03:30
(with that hook)03:30
sitaram EugenMayer: gitosis-inspired03:30
EugenMayer: aka, someone else's genius :)03:30
andrewa2 left03:30
kpreid_ left03:31
EugenMayer anyway, that I can set read and write rights, this is close to perfect03:31
I have a DAV running run, next to gitolite03:31
kpreid_ joined03:31
sitaram has never used DAV and has very little idea what it is except it needs Apache :)03:31
EugenMayer well, it needs only apache03:32
and the only reason I use it are my customers03:32
ab3 left03:32
EugenMayer which most probably are firewalled and therefor can't access the repo using the shell, only http port 8003:32
because browsing is most probably allowed03:33
jrmuizel left03:35
EugenMayer now I need to rebase all those repos...hell of a work :/03:36
djgera left03:36
malesca left03:37
EugenMayer sitaram: can I use lists in lists?03:38
@foo = @bar foo @SomeList03:38
sitaram EugenMayer: yes but not recursively03:38
EugenMayer yeah, sure03:38
sitaram EugenMayer: at that point, bar and somelist must already be defined03:38
it's one-pass parsing03:38
EugenMayer yeah, that's clear03:38
substitution03:39
bdowning left03:39
plopix left03:39
dwmw2 left03:39
bauruine left03:39
unreal left03:39
crab left03:39
pilif|away left03:39
bs left03:39
pfote left03:39
Natch| left03:39
jpieper left03:39
mstormo left03:39
zomg left03:39
teuf left03:39
russell_h left03:39
ReinH left03:39
exitstate left03:39
metze left03:39
tic left03:39
spb left03:39
tk left03:39
exg left03:39
merlin83 left03:39
Soliton left03:39
wanders left03:39
Tronic left03:39
dsop left03:39
laj_ left03:39
siprbaum left03:39
emias left03:39
pcc1 left03:39
felipe left03:39
^Einstein left03:39
zjason left03:39
schambers left03:39
stuffcorpse left03:39
AAA_awright left03:39
tetha left03:39
eno__ left03:39
Shyke left03:39
Twisted_Mentat left03:39
Rh0nda left03:39
peper left03:39
d1b left03:39
WebDragon|away left03:39
mutex left03:39
tmz left03:39
uau left03:39
RurouniJones left03:39
jstemmer left03:39
Haarg left03:39
yashi left03:39
JEEB left03:39
kusma_ left03:39
karihre left03:39
amirite left03:39
stamina left03:39
jujule2_ left03:39
cYmen left03:39
dbrock left03:39
john268 left03:39
shabble left03:39
Cesario left03:39
neldoreth left03:39
x-demon left03:39
maxb left03:39
segher left03:39
mikkom_ left03:39
jjore left03:39
bgerber left03:39
imarcusthis left03:39
wereHamster left03:39
ferdy left03:39
jrockway left03:39
agile left03:39
mapreduce left03:39
pippijn left03:39
wagle_home left03:39
Strogg left03:39
NetHawk left03:39
jacobat left03:39
_ikke_ left03:39
GodEater left03:39
ruphy left03:39
ahf left03:39
LotR left03:39
VVSiz_ left03:39
Woody2143 left03:39
torben_ left03:39
unixtippse left03:39
simonb__ left03:39
Thralas left03:39
madduck left03:39
impulze left03:39
up_the_irons left03:39
jspiros left03:39
vkroll left03:39
dirker left03:39
shd left03:39
corecode left03:39
jettero left03:39
stick left03:39
tychoish left03:39
hansent|away left03:39
halfline left03:39
mikem23 left03:39
fpcfan-away left03:39
osfameron left03:39
hatseflats left03:39
eMBee left03:39
yatiohi left03:39
ijuma left03:39
charon left03:39
tg left03:39
f00li5h left03:39
knittl left03:39
barrym left03:39
Keiya left03:39
chty left03:39
dkr21 left03:39
jackylee left03:39
lamont left03:39
flaguy48 left03:39
Lisimba left03:39
gaveen_ left03:39
UncleCJ_ left03:39
s0ber left03:39
Fullmoon left03:39
kristian42 left03:39
bigmack83 left03:39
pom_ left03:39
ybit left03:39
Fatal_ left03:39
JackWinter2 left03:39
ToxicFrog left03:39
Nafai left03:39
_rane_ left03:39
vital_ left03:39
jas4711 left03:39
juan_arandaalvar left03:39
Aikawa_ left03:39
edenc left03:39
dominikh left03:39
nevyn left03:39
doener left03:39
jds left03:39
sneakret_ left03:39
trodrigues left03:39
jnl left03:39
sbob left03:39
arooni__ left03:39
David-T left03:39
eshear left03:39
awx left03:39
LoRe left03:39
kadoban_ left03:39
mgoetz[home] left03:39
tjaway left03:39
drfree left03:39
kmap left03:39
spacebat_ left03:39
rotty left03:39
thijso left03:39
schlortoo left03:39
aptituz left03:39
hegge left03:39
bartman left03:39
PerlJam left03:39
flex left03:39
rtyler left03:39
Tuomas left03:39
doki_pen left03:39
[dmp] left03:39
jkp left03:39
aussiegee left03:39
gernot left03:39
tha left03:39
piroko left03:39
teknotus left03:39
morfic left03:39
pigeon left03:39
Ratler left03:39
madmoose left03:39
pdusen left03:39
ianmcorvidae left03:39
frsk left03:39
reaVer left03:39
Whtiger left03:39
rektide left03:39
Ingmar left03:39
__bert__ left03:39
jast left03:39
m0 left03:39
argonel left03:39
Tommy[D] left03:39
voker57_ left03:39
Bass10 left03:39
nick_fn left03:39
dermoth left03:39
tapple left03:39
troyt left03:39
bremner left03:39
levifig left03:39
warthog9 left03:39
tomaw__ left03:39
sitaram EugenMayer: there's a wee little gotcha here... since list additions accumulate, you can add to @bar *later* but by then @foo has already been set03:39
t0rc_ left03:39
Keiya joined03:40
zjason joined03:40
schambers joined03:40
shd joined03:40
knittl joined03:40
jettero joined03:40
vkroll joined03:40
madduck joined03:40
charon joined03:40
halfline joined03:40
tychoish joined03:40
up_the_irons joined03:40
dirker joined03:40
f00li5h joined03:40
osfameron joined03:40
stick joined03:40
eMBee joined03:40
Thralas joined03:40
corecode joined03:40
barrym joined03:40
mikem23 joined03:40
hansent|away joined03:40
impulze joined03:40
ijuma joined03:40
tg joined03:40
hatseflats joined03:40
fpcfan-away joined03:40
yatiohi joined03:40
jspiros joined03:40
stuffcorpse joined03:40
chty joined03:40
dkr21 joined03:40
VVSiz_ joined03:40
jackylee joined03:40
d1b joined03:40
AAA_awright joined03:40
lamont joined03:40
flaguy48 joined03:40
tetha joined03:40
Lisimba joined03:40
gaveen_ joined03:40
bauruine joined03:40
UncleCJ_ joined03:40
eno__ joined03:40
voker57_ joined03:40
Shyke joined03:40
s0ber joined03:40
Fullmoon joined03:40
kristian42 joined03:40
Twisted_Mentat joined03:40
bigmack83 joined03:40
peper joined03:40
Rh0nda joined03:40
pom_ joined03:40
ybit joined03:40
Fatal_ joined03:40
JackWinter2 joined03:40
mutex joined03:40
tmz joined03:40
uau joined03:40
RurouniJones joined03:40
ToxicFrog joined03:40
Nafai joined03:40
unreal joined03:40
_rane_ joined03:40
vital_ joined03:40
jstemmer joined03:40
jas4711 joined03:40
juan_arandaalvar joined03:40
Aikawa_ joined03:40
edenc joined03:40
Haarg joined03:40
yashi joined03:40
dominikh joined03:40
Bass10 joined03:40
doener joined03:40
JEEB joined03:40
laj_ joined03:40
mgoetz[home] joined03:40
jds joined03:40
siprbaum joined03:40
hegge joined03:40
LoRe joined03:40
sneakret_ joined03:40
Tuomas joined03:40
frsk joined03:40
trodrigues joined03:40
PerlJam joined03:40
doki_pen joined03:40
drfree joined03:40
gernot joined03:40
jnl joined03:40
bartman joined03:40
piroko joined03:40
madmoose joined03:40
aussiegee joined03:40
flex joined03:40
reaVer joined03:40
aptituz joined03:40
ianmcorvidae joined03:40
Ratler joined03:40
morfic joined03:40
kmap joined03:40
Whtiger joined03:40
rektide joined03:40
kadoban_ joined03:40
tha joined03:40
sbob joined03:40
arooni__ joined03:40
David-T joined03:40
teknotus joined03:40
Ingmar joined03:40
rtyler joined03:40
pigeon joined03:40
spacebat_ joined03:40
eshear joined03:40
[dmp] joined03:40
rotty joined03:40
pdusen joined03:40
jkp joined03:40
thijso joined03:40
schlortoo joined03:40
awx joined03:40
tjaway joined03:40
dbrock joined03:40
jpieper joined03:40
Natch| joined03:40
karihre joined03:40
merlin83 joined03:40
stamina joined03:40
segher joined03:40
simonb__ joined03:40
LotR joined03:40
m0 joined03:40
Tommy[D] joined03:40
NetHawk joined03:40
ReinH joined03:40
tic joined03:40
zomg joined03:40
teuf joined03:40
bs joined03:40
mstormo joined03:40
pfote joined03:40
spb joined03:40
plopix joined03:40
russell_h joined03:40
exitstate joined03:40
bdowning joined03:40
metze joined03:40
pilif|away joined03:40
crab joined03:40
dwmw2 joined03:40
dsop joined03:40
Tronic joined03:40
Soliton joined03:40
tk joined03:40
wanders joined03:40
exg joined03:40
mapreduce joined03:40
ferdy joined03:40
john268 joined03:40
jast joined03:40
torben_ joined03:40
ahf joined03:40
Strogg joined03:40
^Einstein joined03:40
felipe joined03:40
emias joined03:40
unixtippse joined03:40
Woody2143 joined03:40
pcc1 joined03:40
amirite joined03:40
wagle_home joined03:40
pippijn joined03:40
jacobat joined03:40
jujule2_ joined03:40
ruphy joined03:40
tapple joined03:40
imarcusthis joined03:40
bremner joined03:40
maxb joined03:40
GodEater joined03:40
wereHamster joined03:40
x-demon joined03:40
shabble joined03:40
cYmen joined03:40
Cesario joined03:40
jrockway joined03:40
jjore joined03:40
neldoreth joined03:40
mikkom_ joined03:40
bgerber joined03:40
agile joined03:40
kusma_ joined03:40
_ikke_ joined03:40
argonel joined03:40
nick_fn joined03:40
__bert__ joined03:40
dermoth joined03:40
troyt joined03:40
warthog9 joined03:40
tomaw__ joined03:40
levifig joined03:40
Sake joined03:40
EugenMayer it would be cool if you would support direcotries and wildcards, but that's quite something03:40
ryoma left03:40
EugenMayer @c1 = company1/*03:40
@c2 = company2/*03:40
jrmuizel joined03:41
EugenMayer but I guess there are several problems that way ( not able to init the git repo in the hook and so on )03:41
sitaram EugenMayer: where company1/foo and company1/bar already exist?03:41
JasonWoof left03:41
EugenMayer sitaram: well, actually that should be "every repo in company1/" and respectivly "company2/"03:42
I expect this to be hard to complete03:42
the configuration right now is really easy to understand and use. This is great03:42
sitaram EugenMayer: let me rephrase: do you mean "autocomplete to every repo that currently exists in company1/" or a pure wildcard that stays as a wildcard?03:43
EugenMayer it stays a wildcard03:43
so user can craete any repo under company1/ if the would have rw for @c103:43
nevyn_nevyn03:44
sitaram EugenMayer: the former is doable; the latter not so much. And it doesn't affect the 2 programs I need to protect from bloat (gl-auth-command and hooks/update)03:45
jschoolcraft left03:45
EugenMayer sitaram: yeah. I think its yet really got for what 95% need03:45
sitaram: just for the docs, how is a username mapped. The filename of the key?03:46
sitaram user foo in conf/gitolite.conf maps to keydir/foo.pub03:46
EugenMayer ok, so it's the filename03:46
ymanton left03:46
sitaram actually, keydir/foo@anything.pub -- any number of those03:46
like I have keydir/sitaram@laptop.pub and keydir/sitaram@desktop.pub03:46
both keys map to "sitaram" in the access config file03:47
(its the part before the "@" that is considered username)03:47
EugenMayer well wait, so its about the key comment inside or the filename of the key?03:47
sitaram key comment inside is meaningless to ssh and to gitolite; it's the filename03:47
jrmuizel left03:47
EugenMayer ok03:47
sitaram so I take my key file from my laptop, and copy it here as "keydir/sitaram@laptop.pub" etc03:48
EugenMayer is gitweb any good actually?03:48
sitaram doesnt use it; the work environment here doesnt encourage unauthenticated *read* even03:48
mithro joined03:48
EugenMayer hell03:48
jrmuizel joined03:49
sitaram (well I take that back; I did have gitolite itself up on gitweb for some time but no one looked at it, ever!)03:49
EugenMayer: not hell, just that we work for multiple customers and our customers want to know that their stuff isn't being accidentally leaked to a different customer03:49
EugenMayer just for my infos, you only use hooks from gitolite-admin You don't insert hooks into every other repo, don't you?03:50
sitaram EugenMayer: any IT services company would (or should) have the same restrictions03:50
EugenMayer: yes I do -- you cant get branch-level restrictions otherwise03:50
EugenMayer sitaram: this is EXACTLY what iam doing :)03:50
so every repo gets hooks03:50
?03:50
sitaram EugenMayer: yes. without an "update" hook in *every* repo, I can't control who writes to what branch in that repo03:50
EugenMayer :q03:50
hm, that's quite unhandy, because I simply moved in my bare repos03:51
sitaram EugenMayer: do an dummy install once03:51
EugenMayer and did not "create" them with gitolite03:51
sitaram s/an/a03:51
EugenMayer: wait03:51
Sake left03:52
sitaram EugenMayer: name each repo in the config file, give *some* user access to it (even if it is just yourself), and push the config. Then repeat the easy install once03:52
tjafk joined03:52
EugenMayer oh ok. You just locked me out of my server03:52
sitaram EugenMayer: assuming your repos are all *bare* repos, and each repo is called "foo.git" where "foo" is what you put in the config, it'll work03:52
EugenMayer I guess you are changing the shell for the "installtion" user to be the git shell :/03:53
well, I used root03:53
sitaram EugenMayer: playing as root? wow... you're a brave man. I wrote gitolite for the opposite case -- where people who do not have root need this03:53
EugenMayer you should really state this in the config more clearly, that this shell user becomes unavailable for the shell03:54
sitaram it doesn't become unavailable03:54
EugenMayer I can't login anymore..03:54
don't you change the default-shell ?03:54
sitaram can you tell me the *exact* command you used to do the easy install?03:55
EugenMayer ./gl-easy-install root XXXXXX.de 2201 EugenMayer03:55
the domain is obfuscated03:56
sitaram can you look in ~/.ssh (on your workstation) and tell me how many ".pub" files there are, and if they have corresponding private keys?03:56
EugenMayer sitaram: iam not new to ssh :)03:56
sitaram humour me03:56
EugenMayer I can't use my root priv key to get on the server.03:56
I get the git shell telling me, what access I have on repos03:57
sitaram please humour me03:57
and tell me how many pub keys there are03:57
EugenMayer wait03:57
Sake joined03:57
EugenMayer 103:57
for my user03:57
all the others are priv only03:57
Sake left03:57
sitaram that's weird03:58
EugenMayer so there is only a EugenMayer.pub03:58
I CAN reach the server, that's not the point03:58
sitaram easy install could not have run with just that key...03:58
EugenMayer it just I don't get my zsh shell03:58
sitaram wait -- did you have that key available *before* you ran easy install?03:59
Twisted_Mentat left03:59
EugenMayer yes.03:59
sitaram and that was your only key?03:59
EugenMayer yes03:59
for that server, yes03:59
sitaram you didnt have the usual "id_rsa" or something?03:59
EugenMayer no03:59
sitaram oh damn!03:59
wait04:00
EugenMayer it seems like you trigger something in the shell04:00
it is NOT that the server does discard my connetion04:00
I get to the servers shell, but then it becomes that gitolite shell04:00
sitaram http://sitaramc.github.com/0-installing/9-gitolite-basics.html04:01
you can recover, here's how:04:01
sitaram should refuse to do anything as root -- if arg1 is root I will not just fail04:02
sitaram cd ~/gitolite-admin04:02
EugenMayer: wait let me write it up and pastebin it; may be easier04:02
EugenMayer just go on04:02
EugenMayer fine04:03
sitaram http://pastebin.com/m11fed5b504:04
stamina left04:05
vbgunz left04:06
EugenMayer on the server?04:06
no that's the workstation04:06
but actually I don't get what you are doning04:06
sitaram letme explain04:06
EugenMayer you regen the key which is working04:06
sitaram wait04:06
EugenMayer but that's NOT the key iam using for root04:07
EugenMayer reading04:07
sitaram you previously had access to root@host using EugenMayer and EugenMayer.pub right?04:07
EugenMayer no.04:07
sitaram hmm then I'm confused04:08
EugenMayer my root priv key has never been touched04:08
hmm now I see04:08
command="/root/.gitolite/src/gl-auth-command EugenMayer"04:08
sitaram yes04:09
EugenMayer that's what you add in the authorized_keys04:09
sitaram yes04:09
tjaway left04:09
berkes left04:09
sitaram that's how gitolite works (and gitosis too, which was sort of the inspiration)04:09
EugenMayer that's fine04:09
schambers left04:09
EugenMayer I have 2 keys in authorized_keys on the server04:09
sitaram what gitolite does is prepends that command= stuff then writes out the pubkey file *as is*04:10
EugenMayer the second one has been installed by gitolite04:10
berkes joined04:10
ttelford joined04:10
sitaram EugenMayer: what is the first key? does it have the "command=" stuff in it?04:10
EugenMayer no.04:10
troyt left04:10
sitaram then you should be able to login using that... no?04:10
EugenMayer that's my server pub key.04:10
that's what I would suggest04:10
but is somehow thinks, iam EugenMayer04:11
sitaram ssh-add -l04:11
cloudhead joined04:11
sitaram by the way how did you know there were 2 keys in authkeys file? do you have a login session on another xterm perhaps?04:12
EugenMayer yes04:12
I still have a term open04:12
sitaram alright then ignore my pastebin, look in server side ~/.ssh and replace the authkeys file with the backup that gitolite creates04:13
and please dont use root for this04:13
I will now disable that forthwith :)04:13
EugenMayer ok, fine04:13
mikepence joined04:13
EugenMayer that's yet the only thing I ever have installed with root :)04:13
sitaram: you should really go for a .deb packages04:13
objorn after deleting a directory of files, how can you sync with the current git commit(?) (not sure what to do call that) on the server you originally cloned?04:14
sitaram EugenMayer: someone is working on it, I dont use debian myself so I dont really care04:14
EugenMayer: dont forget my target is *any* unix -- and I have installed on Solaris 9s also04:14
EugenMayer yeahm si get04:14
ok04:14
sitaram $DAYJOB has more Solaris and HP-UX than Linux, I think04:15
http://sitaramc.github.com/0-installing/9-gitolite-basics.html and http://github.com/sitaramc/gitolite/blob/pu/doc/6-ssh-troubleshooting.mkd -- would be useful to understand what's happening behind the scenes04:16
EugenMayer: ^04:16
I will also try and see how to prevent this sort of thing from happening -- but it's not easy. I've never encountered your situation where there was only one key and that name was chosen; but a warning message at a certain point in the install is easy04:17
nitrate joined04:17
nitrate left04:17
sitaram EugenMayer: thanks for catching a corner case; my apologies if it caused you some worry (though you *did* run as root!)04:17
EugenMayer well04:18
its a ESXi VM box :)04:18
its the only application there04:18
so it nearly does not matter what user :)04:18
it is yet only a test run04:18
Keiya_ joined04:19
sitaram regardless; I will be putting in a warning in the code where the pubkey is already found to exist, asking "using already existing pubkey blah; are you sure this key is not your only access to the server?"04:19
EugenMayer: so... thanks for that!04:19
EugenMayer and thank you!04:20
zgold joined04:20
sitaram you're welcome!04:20
zgold Hi! Really quick, im reading the man page and perhaps im just missing it but is there a way for format-patch to output a single patch file for a range of commits (instead of 0001, 0002 etc.) without actually squishing them all with rebase?04:21
offby1 good question.04:21
zgold hmm... I guess I could just branch, rebase, format-patch then kill the branch04:22
EugenMayer sitaram: another thing, please don't create a old_autkeys04:22
sitaram: if its present. Because if it's the second install..you will overwrite04:22
after removing the key, login works04:22
its seem slike those "command" is valid for the whole authorized_keys, no matter what key I used04:23
offby1 zgold: I wonder if "git diff" might do it.04:23
sitaram EugenMayer: the old-authkeys backup is meant more for debugging than re-gaining access (it cant be used for that anyway). Blocking root and that warning message are much better in terms of preventing what happened here04:24
objorn anyone?04:24
EugenMayer yeah, right04:24
paltman joined04:25
offby1 objorn: don't understand your question. Perhaps you can provide a transcript04:25
Keiya_ left04:25
Keiya_ joined04:25
sitaram EugenMayer: not really; but if you're using ssh-agent there is a quirk. If "ssh-add -l" shows any keys, then regardless of what key you specify using "ssh -i" it will only offer one of the listed keys04:25
EugenMayer well then that's my problem04:26
anyway iam installing with a different user now04:26
objorn offby1: the question is that i would like to delete some files and then have git to automatically recognize that i am missing files that the git master repository has and fetch them for me04:26
how do i do that?04:26
can you do that?04:26
fynn joined04:27
zgold left04:27
Ilari objorn: Only commits can be transferred between repositories. Not files.04:27
fynn I have a file, foo.js, that was changed recently in commit 123. How do I return it to the state it was before commit 123, but permanently?04:28
(i.e. I'd like to commit it in that state)04:28
Ilari objorn: To resurrect a file, 'git checkout <revision> -- <file>' (leave <revision> out to use staged version).04:28
fynn it would seem git revert is the most appropriate, but it doesn't look like I can revert paths, only full commits.04:28
objorn thank you Ilari04:29
Ilari objorn: To take multiple at one go, just list each filename after '--' (as separate arguments)04:29
Keiya_ left04:30
ab3 joined04:31
Keiya_ joined04:31
munichlinux joined04:33
exitstate left04:33
munichpython joined04:36
Fissure fynn: git checkout 123^ -- foo.js04:36
sitaram EugenMayer: http://pastebin.com/md6ebd0604:36
Keiya left04:37
EugenMayer sitaram: you have an additional error. you need to chmod u+w authenticated_keys before you try to add one04:37
on the server04:37
fynn Fissure: interesting; I though I should use checkout here since I want to commit it back.04:37
Ilari EugenMayer: Ugh. What creates that file but doesn't give u+w to it?04:37
EugenMayer me?04:38
kukks left04:41
hyperair joined04:42
pilif|away left04:43
sitaram EugenMayer: I dont mess with permissions; that is why I create the new content and cat > to the old file04:43
EugenMayer: I had an argument about this with someone once who insisted I should "write" the file; I refuse04:43
EugenMayer hmm04:44
sitaram EugenMayer: so the permissions are as you had them...04:44
munichlinux left04:44
sitaram and I assume you meant authorized_keys not authenticated_keys04:44
EugenMayer sure, typo04:44
sitaram np04:44
EugenMayer the installation does NOT work04:44
if ~/.ssh/authorized_keys has 400 on the server04:45
sitaram EugenMayer: sorry, can't help it... I will not change permissions!04:45
on security sensitive files04:45
EugenMayer change and change back04:45
sitaram I wont even *create* it if it doesnt exist04:45
EugenMayer soo 600, write, 40004:46
sitaram EugenMayer: that's like :w! instead of :w on vi, (loosely speaking). I don't think it's upto me to do this; I'll look at detecting it and bailing out though04:46
pilif joined04:47
EugenMayer ok, fine04:47
nevyn EugenMayer: the ssh daemon needs to be able to read it..04:47
pilifpilif|away04:47
EugenMayer but when you add the pubkey..04:47
nevyn mmm...04:47
it's pub keys.04:47
Ilari nevyn: Does it? SSH daemon has CAP_DAC_READ_OVERRIDE (or what was it).04:47
nevyn it does?04:47
sitaram EugenMayer: sorry I dont mean to be like that... I hope you understand!04:47
nevyn Ilari: it'll complain about permissions if it's group or world readable04:48
EugenMayer Sure, I actually don't care about this. It up to you. :)04:48
sitaram EugenMayer: well not entirely -- I always try to satisfy my users!04:48
EugenMayer: but when I can't, I'll try and explain why as well as I can... (it's rare)04:49
Ilari nevyn: Or maybe it does require user readability (because it switches to that user before reading). I don't know exactly.04:49
roop joined04:49
sitaram EugenMayer: I dont regard this as me doing you a favour so you take it or leave it :)04:49
purpleidea left04:49
EugenMayer sure04:49
Fissure wtf, somehow my jvm installation broke horribly in the last 2 hours04:50
sitaram EugenMayer: does http://pastebin.com/md6ebd06 look ok? (if you have time)04:51
EugenMayer sitaram: don't talk about the key, talk about the user04:52
this should be the warning04:52
ah "command line shell"04:52
Fissure nvm, it's because /tmp is full >_<04:52
PN joined04:53
Keiya joined04:53
cedricv left05:00
EugenMayer sitaram: when I conntect to the server using the gitolite user, I need to let the repos own by that user, or?05:00
rlan_ left05:01
EugenMayer left05:01
mederEsite left05:01
vmiklos left05:02
madewokherd left05:03
vmiklos joined05:05
rlan_ joined05:06
rlan_ left05:07
vmiklos left05:08
exygen joined05:08
\ask joined05:09
Keiya_ left05:10
vmiklos joined05:10
rlan_ joined05:11
schmukkk left05:12
sitaram yes05:12
girishr joined05:14
fynn left05:15
JSLint joined05:16
JSLint left05:16
munichpython left05:16
rettub_ left05:17
rettub_ joined05:18
mithro left05:18
agile left05:19
objorn if you create another branch "b", then you create a file, and finally switch back to the original branch ("a") make a change to some other file and commit the changes, is the file from branch b commited as well?05:19
segher left05:20
Fissure objorn: depends if you committed while on b or not05:20
objorn what happens if you do or don't commite while in b?05:21
alanhaggai joined05:22
alanhaggaiGuest3445305:23
Fissure uncommitted changes are carried with you when switching branches05:24
__iron left05:24
wolog_ left05:24
schmukkk joined05:27
comps left05:28
objorn thanks Fissure, wouldn't it make sense to create two directories where one holds the latest changes and the other directory is your modifications05:28
Fissure i'm not seeing the difference between "latest changes" and "your modifications"05:29
objorn let's assume i have a branch, how would i make this branch publicly available to others if it wasn't the master branch05:29
Fissure the same way you make master available05:30
objorn substitute 'latest' for 'official'05:30
Fissure put it in some place that is publicly readable05:30
do you need to separately test the official version frequently without your changes?05:31
i suppose it may make some sense in that situation, but not in general05:31
rchavik left05:31
objorn i guess i don't need it with what git offers the user in reverting changes05:33
thank you for the clarification Fissure, could you also point me to some documentation where what we have discussed is mentioned?05:34
sis joined05:35
dalekurt left05:35
Fissure i suppose the "uncommitted changes are carried with you" bit is in man git-checkout05:36
Gitbot Fissure: the git-checkout manpage can be found at http://git.or.cz/man/git-checkout05:36
mithro joined05:36
agenteo joined05:41
Haarg left05:43
scarabx left05:44
jceb joined05:45
rchavik joined05:48
ryoma joined05:50
level09 joined05:51
wolog joined05:52
Rolenun left05:52
Twisted_Mentat joined05:52
flask- joined05:55
comps joined05:56
Sake joined05:59
krawek_ joined06:00
krawek left06:00
nicklepede joined06:02
eletuchy_ left06:05
giallu left06:07
jrmuizel left06:08
flask- left06:19
Theravadan left06:19
dakota joined06:23
dakota Morning06:23
I have finally convinced my boss to switch over to git06:23
We do php based web development.06:23
Does any git experts have any hints/tips on setting up a nice environment?06:24
Also, how would one handle using databases?06:24
cloudhead left06:25
ablemike joined06:26
nicklepede left06:27
Darkas joined06:27
patmaddox left06:28
jceb left06:29
rchavik points to sitaram's gitolite06:29
savant joined06:29
jackylee left06:29
jceb joined06:29
dakota Looks interesting. Although, being a small company with only 4 php devs per-branch permissions aren't really an issue06:30
patmaddox joined06:31
savant what looks interesting?06:31
dakota I'm more looking for things on how to setup/configure a 'central' repository, etc.06:31
savant: "rchavik points to sitaram's gitolite"06:31
savant: For your sake:06:31
Morning I have finally convinced my boss to switch over to git We do php based web development. Does any git experts have any hints/tips on setting up a nice environment? Also, how would one handle using databases?06:31
savant oh i remember seeing that before...06:31
karmi joined06:32
savant Databases can be done using migrations. You can handle them with pre-commit hooks06:32
jjuran left06:32
dakota How would you handle different schemas for different branches? Probably with hooks?06:33
level09 n00b question .. why git is not keeping track of my deleted files ?06:33
savant As for git, if you are a small team and everyone is respectful, you might be able to get away with just any old installation. Larger teams, probably shouldnt be handling the stuff yourself. I personally have hosting with CodebaseHQ, although I may go to something different if I find it.06:33
level09 or . . how do I keep track of my deleted files ?06:33
savant level09: add them to the git index?06:34
level09 got it06:34
okay so first of all I use add .06:34
then I do changes etc..06:34
then commit ?06:34
I used to do changes .. then add ., then comit06:34
savant dakota: as for different branches, still, hooks are the answer. All you need to do is use a migration system, and that will take care of things for you.06:34
dakota level09: you need to use git rm (filename)06:34
savant level09: you need to rm the specific filename06:35
level09 does that remove the file physcically /06:35
*physically06:35
savant no06:35
git rm path/to/filename06:35
level09 savant: I want to remove the file physically06:35
savant that does not remove06:35
cehteh yes it does06:35
level09 but still be able to get it later06:35
savant if you ALSO need to remove it, just "rm filename"06:35
cehteh: oh right, i'm thinking —cached06:36
level09 :D06:36
so rm filename will remove the file ?06:36
cehteh well think more quiet!06:36
savant level09: as long as it was once committed, then you can grab it from history06:36
dakota savant: Awesome.06:36
level09 great06:36
savant: so git cant keep track of the file if deleted from the file system06:36
savant level09: git wont track anything thats never been committed06:37
dakota savant: Any suggestions for git repo web interfaces? Something like code.cakephp.org06:37
savant level09: but if has been committed at one point, that history is there. so you can grab the file at whatever point in time you recorded it.06:37
level09 savant: I think I comitted it, but still cant restore it06:38
maybe i'm wrong06:38
let me try06:38
thanks for the advice06:38
savant dakota: github.com codebasehq.com bitbucket.org (is there a git-hg thing out there?) et al.06:38
daifuku joined06:38
rchavik dakota: indefero.. but haven't tried it myself06:39
dakota savant: Looking for one we can host on our own servers - boss doesn't want to outsource that - mainly because SA bandwidth is so damn expensive06:39
jkestr joined06:39
rchavik managed to install the app, but haven't actually used it to manage git repos06:39
savant I never could get indefero to play nice with nginx...06:39
dakota: redmine is a beauty if you can handle ruby on rails apps :)06:40
dakota: trac has support as well for git (not sure if it is still experimental)06:41
bigmack83_ left06:41
dakota savant: Well, we are planning on setting up a new, fresh server for our git repos. So whatever works :)06:41
bigmack83 left06:41
imajes joined06:41
malesca joined06:42
roop_ joined06:43
roop left06:43
roop_roop06:43
sieni left06:48
gordonh left06:49
agenteo left06:51
Darkas left06:51
savant left06:53
jjuran joined06:54
roop_ joined06:55
roopGuest6448106:55
roop_roop06:55
level09 in order to use git for deployment I have to install git on my remote machine as well ?06:56
karmi left06:56
Ilari level09: Yes.06:57
mikepence left06:57
vbgunz joined07:00
fpcfan-awayfpcfan07:02
mikepence joined07:05
bigmack83 joined07:06
level09 Ilari: any guides on how to work with git on local/remote environment ? my local git is on windows, remote is centOS07:06
khmarbaise joined07:09
Bass10 left07:09
Guest64481 left07:11
sde_antrix1 joined07:11
yashi left07:12
Ilari level09: If you want to use git for deployment, you need to put hooks in remote side.07:12
level09: Because push doesn't update working copy nor staging area!07:13
level09 Ilari: I'm sorry .. a little new here :D .. how do I put hooks :D07:13
Ilari level09: man githooks07:13
Gitbot level09: the githooks manpage can be found at http://git.or.cz/man/githooks07:13
level09 thnx07:14
tobago joined07:15
yhager joined07:15
drizzd joined07:17
Ilari level09: One thing to note when writing hooks: Hooks on remote side execute with GIT_DIR set to '.' and git does not second-guess GIT_DIR, even if the value doesn't point to anything valid.07:17
level09 thnx i'll read on that07:17
Shyke left07:18
VVSiz_VVSiz07:18
rchavik is there docs that explains the 'how' of gitosis or gitolite?07:18
ankit9|zzzankit907:19
Ilari rchavik: IIRC, gitolite documentation includes such thing.07:19
thiago_home joined07:20
bcardarella joined07:20
rchavik Ilari: i'm trying to understand of how gitolite interact with ssh and git.. cause thinking of something similar in php..07:21
patcito left07:21
opcode left07:22
rchavik (if that is even possible)07:22
Ilari rchavik: Essentially, each SSH key sets forced command with executable set to special command and argument being username. The command then executes, reads SSH_ORIGINAL_COMMAND and username given as argument. Then if access is authorized, it runs git server executable.07:23
rchavik: Why would you want to reimplement it in PHP? Isn't PHP normally used with webservers?07:24
Sake left07:26
rchavik Ilari: i need something like github.. that allows 'forking' and <username>/project.git structure, and possibly some ticket tracking.07:27
Ilari: for that app, i'll be using php. and i'm thinking wether it's possible to do the git management/integration with the same language07:28
_rane_ forget about php for a second maybe07:28
_rane__rane07:28
mithro left07:29
ffrank joined07:32
krawek_ left07:32
rchavik so, gitolite manages the authorized_keys file, adds the forced commands, and also implement hooks for access control.. is my understanding correct?07:32
ludde joined07:32
godsflaw joined07:32
priidu joined07:33
daifuku rchavik: maybe look at http://repo.or.cz/w/girocco.git07:36
rchavik: it's the software used to run repo.or.cz07:37
rchavik daifuku: thanks.. i'll have a good read on this..07:38
yann|work left07:38
jkestr left07:38
yann|work joined07:38
bigmack83_ joined07:41
JasonWoof joined07:41
schmukkk left07:41
munichlinux joined07:42
schmukkk joined07:42
bentob0x joined07:42
daifuku rchavik: no prob. i've also heard of cgit... not sure if it does what you're looking for, but might be worth checking out: http://hjemli.net/git/cgit/07:42
hyperair imo cgit > gitweb07:44
mikepence left07:44
hyperair it has a much nicer looking interface07:44
psoo joined07:44
jceb left07:44
mdm_git joined07:47
maattd joined07:47
psankar joined07:48
ntoll joined07:48
elmex left07:48
opcode joined07:51
mdm_git is it a bug or a feature that git cherry-pick thinks a file has local changes when its timestamp is different than the index? (e.g. touch file; git cherry-pick -x ... fails)07:51
tedoc2000 left07:53
sitaram rchavik: http://sitaramc.github.com/0-installing/9-gitolite-basics.html07:55
rchavik: all about how ssh interacts with gitosis/gitolite07:56
rchavik: also http://github.com/sitaramc/gitolite/blob/pu/doc/6-ssh-troubleshooting.mkd07:56
ablemike left07:56
nighthwk1 left07:56
sitaram rchavik: to your last statement but one: yes your understanding is correct07:57
rchavik: how access control is implemented is described in detail in a section called "two levels of access rights checking" in http://github.com/sitaramc/gitolite/blob/pu/doc/3-faq-tips-etc.mkd07:58
giallu joined07:58
rchavik sitaram: thanks for those links.. i'm currently already using gitolite, it's a nice system.. i might simply have the app manipulate the gitolite-admin repo for configuring access control, and rely on gitolite for the actual git 'hosting'08:00
ixti joined08:01
rchavik btw, is it possible to have something like <username>/project.git with gitolite? i believe this are different than personal branch feature of gitolite?08:02
s/this are/this is/ ;)08:02
r11t_ joined08:03
iT|Free left08:03
jjuran left08:03
Rh0ndaRhonda08:03
evl joined08:05
sitaram rchavik: first, re the app manipulating the gitolite-admin repo, you may be better off simply doing what I recommend for gitweb (though i dont use it myself) -- see the section "easier to specify gitweb "description" and gitweb/daemon access" in the same document linked above (faq, tips, etc)08:05
statim joined08:05
sitaram rchavik: the idea is that all the access control is already pre-parsed and placed in a nice perl hash -- php may even be able to read it with some tweaking08:05
ajonat left08:05
sitaram rchavik: using this protects you from changes I make to the config file format08:06
evl left08:06
Adlai left08:06
sitaram rchavik: re your second point, not currently possible but as long as it doesn't affect two criticial programs (gl-auth-command and hokos/update) I'm open to ideas -- can you describe it a little more?08:07
statim if i add a file to .gitignore and then add -f it i can commit it. but after that it seems to stop being ignored. i guess i was thinking it would not show up if its in ignores even if its changed unless i add -f it. is that not how it works?08:07
tango__tango_08:08
sitaram statim: gitignore only ignores untracked files08:09
mastro joined08:10
sitaram statim: but see the very first para of man git-ignore for something that may work for you08:10
rchavik basically, something like github 'fork' feature. allowing a project to reside on your subdirectory.08:10
statim sitaram: ok thanks08:10
hummingkid left08:11
rchavik sitaram: say i have a repo of a CMS software.. the software itself is already stable. i'd like to designers to fork the repo into a new repo in his directory, that will be used to develop a new website/client08:11
hummingkid joined08:11
sitaram rchavik: I think that might be stretching it a little... let me think about it. This morning someone wanted another feature: create a group that automatically includes every repo inside some directory (basically he wants me to autoexpand "@g1 = group/*")08:12
rchavik: both of these involve situations where a repo is *created* without gitolite's knowledge, which means there's no way I can put in the second hook08:12
johan-s joined08:13
rchavik sitaram: by designer's 'subdirectory' here, i don't mean under his own /home/designer/repo, but possibly under /home/git/repositories/<designer>/subproject.git08:13
where as the normal project resides in /home/git/repositories08:14
sitaram rchavik: so even if I say "ok, incoming user is dave, and he's asking for repo dave/bar.git [I'd prefer personal/dave/bar.git though], so lets allow it", the problem is how do we determine other people's access to it if the actual "personal/dave/bar" is not mentioned anywhere in the config file08:14
Ilari Wouldn't doing that just require wildcards with repository names?08:14
opcode left08:15
lucsky joined08:15
r11t left08:15
sitaram Ilari: yes; sort of... I have to think this through. Someone once asked for wildcards and I implemented it but he never came back and it went to bitrot (on a project that is basically 3 months old!)08:15
younger left08:16
sitaram rchavik: I'll work it out in my head and try and come up with an elegant way to support wildcarded repos but it may not be pretty -- I hope this is not urgent :)08:16
Ilari rchavik: There's also smart HTTP, but it requires 1.6.6 and authentication support is poor.08:17
heliostech joined08:17
heliostech hi GIT folks !08:17
I'm wondering something, how good we can work with git-svn08:17
rchavik sitaram: not really.. for now i can manually copy the CMS project to a new one, then let my designer pull/push to the new repo.08:18
galderz joined08:18
heliostech I would like to fork an svn project08:19
leave it into a branch08:19
svn update that branch when necessary08:19
and merge with my own branch08:19
Ilari heliostech: You ever need to commit changes back?08:20
heliostech I will with patch :-)08:20
but no just pull changes08:20
Also additionally since it's an old svn, I would like to know if I can compress svn history08:21
like having only the last 20 commit details, and the rest in a huge patch (like initial import)08:21
Ilari heliostech: Probably not a good idea.08:21
daifuku left08:22
heliostech Ilari: can I rebase it unstead of merging to my branch ?08:22
drry left08:22
drry_ joined08:22
rachman joined08:22
heliostech I'm not even sure of what it means :-)08:22
zonque joined08:22
heliostech I guess create a huge commit into an empty branch,08:23
ffrank thumbs up on the rebase idea. but it will probably be your branch you will be rebasing08:24
karmi joined08:24
rachman sorry, was disconnected.08:24
rchavik left08:24
rachmanrchavik08:24
Ilari heliostech: Note that rebase and push/fetch do not mix well.08:24
Sho_ joined08:24
Stravy joined08:25
psoo left08:26
exygen left08:27
tasslehoff joined08:27
mastro help please: i got this while dcommitting: RA layer request failed: Server sent unexpected return value (502 Bad Gateway) in response to COPY request for '/repos/open/!svn/bc/1419/ISPintranet/trunk/ext/ext-impl/src/portal-ext.properties.template' at /usr/lib/git-core/git-svn line 55808:27
and now if I do git svn dcommit again I get: Cannot dcommit with a dirty index. Commit your changes first, or stash them with `git stash'.08:27
I lost my local commit08:27
can you help me getting them back?08:27
icwiener joined08:28
tasslehoff Anyone using emacs and magit? I'm trying to find out if magit can use ediff for diffing.08:28
india7145 joined08:29
ikrabbe joined08:29
mastro ok .. I think I did it with git reflog + cherry-pick08:30
ben_h left08:33
ikrabbe hi, I'm trying to svn clone a svn repository with some tags and branches and provide a public git repository to clone from, making it possible afterwards to fetch from the svn base too. I cloned the svn repository with --stdlayout and it fetched me all the tags and branches.08:33
bcardarella left08:34
thiago_home left08:35
karmi left08:35
ikrabbe After cloning the git clone again I tried to get the svn information again by copying the [svn-remote] section from .git/config, copying the packed-refs too (I ran gc before)08:35
jjuran joined08:35
ikrabbe but that restored only the trunk revision and the top branch08:35
any tags where lost08:35
and other branches too08:36
what do I miss here?08:36
ph^ joined08:39
kssddy joined08:40
khali joined08:40
Stravy left08:40
tbuehlmann joined08:41
Stravy joined08:42
bigmack83_ left08:42
khali hi folks08:42
if there a way to force git to push local changes to a remote branch?08:42
when I try "git push -f <remote repo>" it replies "Everything up-to-date"08:43
jjuran khali: If it's up to date, what is it that you want to happen?08:43
ikrabbe khali you don't push changes but commits, you have to commit to your local branch before you can push that08:43
khali ahhh08:44
apparently I had to create the remote branch first08:44
I expected push to create it for me08:44
sorry for the stupid question...08:44
zoniq_ joined08:45
Ilari khali: 'git push <remote> <branch>'08:45
khali Ilari: that would have created the branch for me?08:46
Ilari khali: Yes.08:46
fpcfan left08:47
khali Ilari: OK, thanks for the info... I'll try to remember for next time!08:47
petrux joined08:50
urbanmonk left08:55
hemmecke joined08:55
p_masho joined08:56
p_masho newbie (to linux and git) probem. I;ve messed up. Iwas trying to commit, when an editor I was unfamiliar with popped up. Now I try to commit and I get >> fatal: unable to create '.git/index.lock': File exists. Can I just erase it? Also can I set the editor to be nano08:58
hummingkid left08:58
eletuchy joined08:59
ffrank p_masho: so you killed the editor?08:59
\ask left08:59
p_masho ffrank: yes, I didnt understand how to use it08:59
ffrank humn08:59
echo $EDITOR?09:00
tasslehoff left09:00
p_masho echo $EDITOR > _blank_line_ ie its not set09:01
can I just nuke .git/index.lock , or will that mess things up ?09:01
mcella joined09:01
Ilari p_masho: Yes, just unlink it.09:01
Russell^^ joined09:01
bigmack83_ joined09:02
ryoma left09:02
p_masho muppet question. What the difference between rm and unlink ?09:02
ikrabbe none09:03
on plain files09:03
Ilari p_masho: rm command unlinks files09:03
mdm_git more specifically, rm is the command, unlink is the system call it uses09:03
ffrank p_masho: to use nano, try git config --global core.editor nano09:03
vkroll how does git thinks that a file is binary?09:03
augustl joined09:03
augustl can I get rid of HEAD as a commit and move it into stash?09:04
Ilari vkroll: It tries to autodetect it from contents.09:05
ffrank augustl: git reset --soft HEAD^09:05
p_masho lovely... tnaks all ;-)09:05
ffrank augustl: then stash away09:05
p_masho oops .......^thanks all09:05
vkroll Ilari: and can I tell git, that the file is _not_ binary?09:05
augustl ffrank: great!09:06
Ilari vkroll: The detection can be overridden using attributes.09:06
godsflaw left09:06
Ilari vkroll: Setting '+crlf +diff +merge' on file should do it.09:07
vkroll yes, just read the man. Thank you09:07
Sho_ left09:07
Fullmoon left09:10
naeu joined09:10
juan_arandaalvar left09:10
gaveen_ left09:12
tbf joined09:13
Sho_ joined09:14
cYmen I would like to look at a previous version of a file to recycle some code. What's the best way to do it? I don't really want to revert to that version...09:15
ikrabbe thats strange: after I did a svn clone -s and pushed the result to a bare repository, cloning that again, some revisions get lost (the ones that mark svn-remote branches obviously)09:15
juan_arandaalvar joined09:16
Stravy left09:16
ikrabbe also what I don't understand is: when I try a git log @'{some quite old date}' it gives me warning: Log for '' only goes back to 24 Nov 2009, but commit dates actually go back to 200409:17
ffrank cYmen: git show -p <sha1>:/path/to/file09:17
cYmen: err git cat-file09:18
dakota left09:19
tvw joined09:19
cYmen ffrank: How do I get the hash value again?09:20
ffrank cYmen: git log -- file, and look for the commit that interests you09:21
ProperNoun joined09:21
augustl left09:21
ffrank cYmen: if the commit is tagged, you can use that instead, of course09:21
PN left09:21
r11t_ left09:22
Stravy joined09:22
michelx joined09:25
jinzhu1 joined09:27
cYmen hm...all this copying and pasting is annoying09:27
is it possible to output all revisions so I can grep through them?09:28
OK, I'm pretty sure it is I just haven't figure out ranges yet. :)09:29
berkes left09:29
ffrank cYmen: to find out where things may have gone awry, git log -p is your friend!09:29
berkes joined09:30
ikrabbe try man git-rev-parse "SPECIFIYING REVISIONS"09:30
Gitbot ikrabbe: the git-rev-parse manpage can be found at http://git.or.cz/man/git-rev-parse09:30
ffrank @botsnack09:30
gaveen_ joined09:31
cYmen hm..how do I get the git log -p output to stdout?09:32
Ogedei joined09:33
wanders left09:33
ffrank cYmen: pipe it to cat. or rather, to where you actually want it09:34
ikrabbe I think git log --pretty=oneline | is hat you are searching for09:34
bigmack83 left09:34
bigmack83_ left09:34
cYmen yaay \o/09:35
ffrank cYmen: what are you trying to do?09:36
asksol joined09:37
cYmen I wrote a function for purpose A a couple of days ago but then didn't need it anymore. Now I need a very similar one and I want to recycle.09:37
And I'm horrible at writing useful commit messages. :/09:37
bigmack83 joined09:37
hemmecke left09:41
Ogedei is there a sane way to use git to query the time at which a file was first created/added?09:43
ph^ left09:45
ffrank Ogedei: interactively, or by script?09:45
Ogedei ffrank: script09:46
Hendu joined09:46
juan_arandaalva1 joined09:46
ph^ joined09:47
michelx For backup purposes, is it enough to just save the .git subdirectory? AFAICT, git clone --bare does not do what I want as it renames branch heads.09:48
ffrank Ogedei: you could use git rev-list HEAD -- file, take the last line, put that into git show and grep the date09:48
Ogedei: but there may be something simpler :)09:48
Ogedei ffrank: that works. thanks!09:50
ffrank Ogedei: ah: git rev-list --timestamp --reverse --max-count=1 HEAD -- file09:50
Ogedei ffrank: cool. are those unix times?09:51
ffrank yes. but wait - that didn't return the oldest for me09:52
don't use max-count after all. pipe to head -n109:52
froschi joined09:54
berkes left09:54
asksol left09:54
Ilari michelx: Yes, its sufficient. Just be careful to deal with possiblity of corruption.09:55
juan_arandaalvar left09:56
JohnFlux joined09:56
JohnFlux hey all09:56
I have a really slow machine, but lots of hard disks09:57
michelx Thanks, llari.09:57
JohnFlux is there a way to 'save' the compiled version09:57
I don't want to put the files in the git repository..09:57
but adding them as some sort of "note" or something09:57
so if I checkout an older version from git, I want it to checkout the built version as well09:58
_ikke_ well what's the difference with tracking it with git?09:58
bauruine left09:58
kbingham joined09:58
ffrank _ikke_: the machine would be busy compressing and decompressing binary data to/from the repo i guess...09:59
squentin joined09:59
ffrank JohnFlux: i'd hack up a simple perl script to symlink to some place named after HEAD's sha1 on the fly10:00
_ikke_ ffrank: But if he want's it to checkout the built version, it has to do that anyway?10:00
zoniq_ left10:00
zoniq__ joined10:00
asksol joined10:00
JohnFlux ffrank: hmm, maybe that is what I want10:00
I can do "mv git git_SHA"10:00
ffrank _ikke_: not if he just puts it away somewhere else on his disk10:00
_ikke_ ffrank: true10:01
khali left10:01
JohnFlux then do "checkout" copy10:01
tetha left10:01
JohnFlux I mean, git has a fast way to copy one folder to another right?10:01
using hard links10:01
tetha joined10:01
bentob0x I have in my git config a remote called 'github' which is me renaming my 'origin'. I want to rename that 'github' remote and put it back to 'origin', can I simply edit the config file and change [remote "github"] into [remote "origin"] ?10:02
ffrank JohnFlux: er, what? are you trying to switch repositories using mv?10:02
JohnFlux ffrank: ah no I mean, I use "mv" to rename the source+build files10:02
ffrank: then use git to make a new clean checkout10:03
mnt_ left10:03
JohnFlux hmm10:03
maybe just doing a cp is better10:04
ffrank JohnFlux: mv inside the same physical volume is fast with any file system i am familiar with10:04
JohnFlux ffrank: yes, but I want to end up with two copies10:04
I was thinking of trying to do it fast by using hard links10:04
ffrank JohnFlux: that won't work. what you have in mind implies a copy-on-write semantics, which in turn would imply a copying of data anyway10:05
eletuchy left10:07
davos joined10:07
davos hi guys & gals, it seems i keep adding git-daemon-export-ok to my repos, but they seem to disappear regularly10:08
anyone have any ideas?10:08
tetha left10:09
davos when i say disappear i mean the git-daemon-export-ok file itself disappears10:09
tetha joined10:09
Adlai joined10:11
davos hmmm seems it may be a gitosis problem http://colabti.de/irclogger/irclogger_log/git?date=2009-10-20#l149510:12
Ilari davos: gitosis/gitolite?10:12
davos: Its not gitosis problem.10:13
davos: Do it right and gitosis even creates that file for you.10:13
davos ilari: aha, thanks!10:15
it's been driving me crazy10:15
i'll read up on gitosis more10:16
dominikh1 joined10:16
bentob0x it was 'git remote rename github origin', just a quick man git-remote brought me the answer, thx man10:17
Gitbot bentob0x: the git-remote manpage can be found at http://git.or.cz/man/git-remote10:17
bentob0x :)10:17
thx Gitbot10:18
^^10:18
juan_arandaalvar joined10:18
gordonh joined10:19
Adlai left10:20
michelx I have cloned (only) the trunk from an SVN repo that doesn't contain any branches or tags yet, although the necessary directories are present. In my git clone I've added a few branches in the meantime that I'd like to commit as branches into the SVN repo. Is there a way to do this?10:21
Adlai` joined10:21
psynaptic joined10:21
Adlai`Adlai10:21
ikrabbe left10:21
Ilari michelx: Via specifying -s or via setting URL to trunk?10:22
j416 joined10:23
zoniq joined10:23
zoniq__ left10:23
chris_n left10:23
j416 left10:23
ikrabbe joined10:24
juan_arandaalvar left10:24
davos Ilari: gitosis config works perfectly, thanks again for your help!10:25
juan_arandaalvar joined10:25
michelx @llari: specifying -s to which command?10:26
jbrennan left10:26
dominikh1 left10:26
psoo joined10:26
crazychenz joined10:26
Ilari michelx: svn clone / svn init10:26
michelx: (--stdlayout is the long form)10:26
jbrennan joined10:27
ffrank left10:27
michelx left10:28
michelx joined10:28
michelx Oops, knocked myself out...10:29
juan_arandaalva1 left10:29
michelx llari: I see how I can create a fresh clone from the SVN repo including branches and tags. What I don't see is how I can get all the branches from my earlier clone into the new clone.10:30
bambule joined10:30
chris_n joined10:30
Ilari michelx: Format-patch and am them?10:31
spacebat_ left10:32
michelx llari: That may work, I'll give it a try on a copy. Thanks!10:32
jarh left10:33
jarh joined10:33
juan_arandaalva1 joined10:33
juan_arandaalvar left10:35
bousquet joined10:37
voker57_ left10:38
voker57_ joined10:39
gaveen_ left10:39
davos left10:40
Twisted_Mentat left10:40
becomingGuru joined10:40
RichiH joined10:41
RichiH what kind of UUIDs does git svn use when importing from svn?10:41
ponch joined10:41
RichiH it has a 0 at the start of the third segemtn10:41
which is, ttbomk, invalid10:41
Ilari RichiH: AFAIK, that UUID comes from SVN.10:43
RichiH hmm, might be10:44
if it does, the UI never exposes it (that i know of)10:44
Geralt joined10:44
ben_h joined10:44
RichiH i will poke them, as well10:44
f00li5hf00li5h[HireMe]10:45
juan_arandaalvar joined10:45
JasonWoof left10:45
Stravy left10:46
ponch hi all. I'm trying to make a patch with 'git diff HEAD~8 HEAD', in a branch where only a subdir is affected, but in HEAD~4 I renamed the directory, so git diff give me file deletions to /dev/null and creations. Is there a way to have git diff work as if I didn't the "mv dirname"?10:46
Ilari RichiH: AFAIK, git doesn't use UUIDs for anything.10:46
ponch: '-M' to diff?10:47
crazychenz left10:47
brainbox1100 left10:47
ponch Ilari: thanks, I missed it in the man page!10:48
thm joined10:48
thm does --log not work together with --squash for git-merge?10:48
charon RichiH: 'svn info' shows a 'Repository UUID'10:49
juan_arandaalva1 left10:49
Ilari RichiH: It wouldn't suprise me if somebody got the idea of generating UUIDs using 128 random bits as 32 random hex digits.10:49
ponch Ilari: but now the --relative don't work10:52
wereHamster thm: ?10:53
thm wereHamster: nvm, need to rethink my question.10:54
crazychenz joined10:54
catphish joined10:54
catphish left10:55
tamm0r joined10:56
RichiH charon, Ilari: that might the explanation10:56
drry_ left10:58
kampasky_ $ git remote update10:58
From git://gcc.gnu.org/git/gcc * branch HEAD -> FETCH_HEAD10:58
how can this happen?10:58
why weren't actual refs stored?10:59
jschoolcraft joined10:59
wereHamster kampasky_: they were stored, in FETCH_HEAD10:59
charon kampasky_: what are the fetch lines in .git/config?10:59
kampasky_ hmmmmm10:59
actually11:00
there aren't any11:00
arossouw joined11:00
kampasky_ that might be a problem :)11:00
there's just the url attribute11:00
ereslibre joined11:00
arossouw hi , when i push a git repository with a branchname experimental to the remote host, it sends it to master on the remote host, how do i send it to the same branch name on the remote host11:00
Geralt left11:04
dpino joined11:04
malesca arossouw: It probably sent master to master. git push origin experimental11:05
doener arossouw: "git push" by default pushes all branch heads for which same named branch heads exist in the remote repo11:05
malesca needed the first time11:05
doener arossouw: so if you have master, foo and experimental locally, and the remote has master and bar, then "git push" would only push master by default11:05
arossouw: if you do "git push <remote> experimental", that explicitly pushes "experimental" (keeping the same name), thus you'd then have master, foo and experimental in the remote repo11:06
jacobat doener: Is it possible to set a mapping in which git will always push foo to master even if there's a local master branch?11:06
doener arossouw: and thus from then on a "git push" without refspecs would push master and experimental11:06
jacobat: git push remote.<name>.push foo:master11:07
bauruine joined11:07
doener jacobat: that completely disables the name matching though. "git push <remote>" will act like "git push <remote> foo:master" for that remote11:07
jacobat doener: is that git config remote.<name>.push ?11:08
doener jacobat: ehrm, yeah11:08
jinzhu1 left11:08
bousquet left11:08
jacobat doener: thanks11:08
__iron joined11:08
doener jacobat: and while you could have the renaming rule foo:master in addition to the name matching, that makes no sense in that case, as you also have "master" locally.11:09
jacobat I'm not sure what you mean by renaming rule11:09
doener jacobat: foo:master "renames" foo to master for pushing11:10
(it's not really a rename, but I have yet to find a better term...)11:10
what's "foo" here will be called "master" there...11:11
jacobat Yeah11:11
I seems to work beautifully :)11:11
ponch Ilari: I solved with sed, but just for the sake of curiosity, are there some rules of thumb to coope with directory renames?11:11
doener jacobat: I recently wrote this for someone: http://git.pastebin.com/m36cff83711:12
jacobat: outlines some setup where you have multiple remotes and how to avoid "push accidents" by using fixed default push refspecs for the remotes and avoiding any push magic11:12
SRabbelier joined11:14
jacobat doener: Thanks11:14
EugenMayer joined11:16
EugenMayer sitaram: ping11:16
luke` joined11:17
psoo left11:21
naeu left11:22
Skrot- joined11:25
Skrot- Does "git clone" preserve filename case by default or is there some flag to tell it to do so?11:26
a friend keeps getting someFileName as somefilename11:26
tango_ Skrot-: is he on windows?11:26
Skrot- ubuntu11:26
tried on osx as well where it works fine11:27
luke`_ joined11:27
tango_ Skrot-: case is preserved anyway11:27
is he on a FAT disk?11:27
EugenMayer doener: ping11:27
Skrot- XFS apparently11:28
arossouw thanks malesca and doener11:28
Ogedei left11:28
tango_ Skrot-: very strange, never heard of this happening11:29
arossouw doener: is it possible to delete a previous commit, for example you made a commit but realized to late that you made a mistake11:29
bigmack83 left11:29
wereHamster arossouw: possible, but not recommended if you already pushed ti11:29
bigmack83 joined11:29
bhierof joined11:30
vlv joined11:32
ia left11:34
Ilari Skrot-: Git clone does preserve case (since commits are copied whole).11:35
ia joined11:35
Sigma[Mtp] joined11:36
asksol left11:36
vlv left11:38
ereslibre left11:39
vlv joined11:40
hemmecke1 joined11:42
luke` left11:43
luke`_luke`11:43
Ryback_ joined11:44
Adlai left11:47
d0k joined11:48
dpino left11:48
level09 left11:48
RaceCondition joined11:51
rlan_ left11:51
vmiklos left11:51
rlan_ joined11:52
vmiklos joined11:52
vmiklos left11:53
rlan_ left11:53
m-takagim-takagi_11:56
__iron left11:56
vmiklos joined11:57
rlan_ joined11:57
JakeSays left11:58
JakeSays joined11:59
fero left11:59
dpino joined12:00
doener left12:02
doener joined12:02
dexter joined12:04
doener EugenMayer: pong12:06
luke`_ joined12:06
evl joined12:06
ponch left12:08
parasti joined12:08
luke` left12:08
luke`_luke`12:08
fero joined12:12
juan_arandaalva1 joined12:13
snearch joined12:13
Guest34453 left12:15
EugenMayer doener: Hi. I was wondering where the gitolite.conf is used from, the reop/gitolite-admin.git repo is bare and ~/gitolite-admin/conf has no such config file12:15
yann left12:16
Lisimba left12:16
RaceCondition left12:18
Haarg joined12:18
erlehmann left12:19
ben_h left12:20
asksol joined12:20
doener EugenMayer: the source suggests ~/.gitolite/gitolite.conf-compiled.pm12:21
EugenMayer: at least according to my void perl skills12:21
zoniq_ joined12:21
zoniq left12:21
tbuehlmann left12:22
alanhaggai joined12:23
juan_arandaalvar left12:23
ferdy left12:23
alanhaggaiGuest6442212:23
davido left12:23
cpg joined12:23
catphish joined12:24
cpg hi all, i started having this error: error: insufficient permission for adding an object to repository database ./objects .... even though i have permissions to write the files in the (though i do not own the files)12:25
(in the repo)12:25
catphish left12:25
cpg if i chown -R the files, then it works12:25
catphish joined12:25
cpg but then the other person has the same issue ... he cannot push, even though he can write the files ...12:25
ideas?12:25
doener messed up _directory_ permissions12:26
files in .git/objects/* aren't even supposed to be writable12:26
cpg i initialized the repo in a most generic fashion12:27
EugenMayer doener: oh, ok. Thanks!12:27
cpg the files are group users12:27
both users are in that group12:27
T2000 joined12:27
doener cpg: so you didn't use "git init --shared" which tells git to make directories a) group writable and b) have the sgid bit set12:28
ferdy joined12:28
juan_arandaalva1 left12:28
doener just being in a group doesn't mean that you can access (or even write to) anything owned by that group12:29
jetienne joined12:30
cpg doener: my bad, no ... no --shared12:30
jetienne q. i would like to have a tool to display my git repository to the web (similar to bonzai but for git), what is the recommended/most-used one ?*12:30
juan_arandaalvar joined12:31
cpg doener: any way it can be fixed now?12:31
well, or anyone else12:31
roop left12:33
v0n joined12:34
catphish left12:34
juan_arandaalva1 joined12:35
v0n hi12:36
sitaram, present ?12:36
jetienne ok gitweb will be :)12:36
smuf joined12:37
v0n somebody knows how to allow the public to read a repository with Gitolite ? (i.e. R permission for public)12:40
fero left12:40
vlv left12:40
Gitzilla left12:41
cpg left12:42
Lisimba joined12:44
psoo joined12:45
Sr_X joined12:45
wereHamster v0n: give the user 'daemon' access to the repo12:45
v0n wereHamster, I don't understand very well12:46
ehabkost joined12:46
wereHamster v0n: http://github.com/sitaramc/gitolite/blob/master/doc/2-admin.mkd -> specifying gitweb and daemon access12:47
gitte joined12:48
jetienne left12:49
asksol_ joined12:49
khmarbaise left12:49
juan_arandaalvar left12:51
augustl joined12:51
augustl a git push --force says "error: denying non-fast forward refs/heads/edit_subscription (you should pull first)"12:52
is there a git push --FORCE!!! ? ;)12:52
wereHamster augustl: apparently the admin of the remote repo doesn't want you to push non-ff updates12:52
augustl ah, so you can block --force?12:52
wereHamster sure12:53
EricSagnes joined12:53
Stravy joined12:59
mstormo left13:00
til joined13:01
mstormo joined13:02
spacebat joined13:03
warlock_mza joined13:04
Paraselene_ joined13:04
thiago__ joined13:04
asksol left13:05
dominikh1 joined13:05
aeiou joined13:06
aeiou me and another developer have been working together with our local machines and a publishing server on our dev machine and have had some errors where we think we are using git incorrectly and causing ourselves to overwrite our changes13:06
we have a repo at dev (which we push/pull too over ssh)13:07
we dont push and pull locally between ourselves13:07
if i push files to dev, then he pulls from dev, then he creates a new branch and works away, then i push more changes to dev, then he pulls from dev and then pushes is that wrong?13:08
what is rebase for?13:08
LiamH joined13:08
wereHamster nope, that's the correct way13:08
aeiou how is it possible that we are overwriting our changes?13:08
thiago left13:08
aeiou i.e stuff we have definately commited / pushed is getting overwritten lateron13:08
aziz joined13:09
EricSagnes left13:09
wereHamster maybe you resolve the conflicts so that you delet the other person's changes13:09
snearch left13:09
aeiou the auto-resolved conflicts you mean?13:09
Keiya left13:10
wereHamster well, that shouldn't remove anything, but you could check where the code lines disappear13:11
munichlinux left13:11
aeiou what is the benifit of setting up a branch that tracks a remote branch?13:15
psoo left13:15
tango__ joined13:17
tango_ left13:19
tango__tango_13:19
bazz left13:19
wereHamster so that git automatically knows where to fetch+merge from when you run 'git pull13:20
Yuuhi joined13:21
tango_ this might seem like an odd question but: is there a not-too-complex way to recover git objects and packfiles from a partially destroyed .git dir?13:23
wereHamster destroyed == rm -rf?13:23
tango_ I mean I have quite a few objects and a packfile, and nothing else. I would like to unpack and see what they contain. any options?13:23
wereHamster tango_: man git-unpack-objects13:24
Gitbot tango_: the git-unpack-objects manpage can be found at http://git.or.cz/man/git-unpack-objects13:24
dexter wereHamster: is there any way, that when i've pushed initially to a remote branch, so that the local branch will tarck the remote one?13:24
s/tarck/track13:24
wereHamster dexter: not automatically, but you can set up the tracking optinos manually13:24
dexter wereHamster: ok, thank13:25
s13:25
tango_ wereHamster: thanks. what about the loose objects? they all seem binary, can I recover their textual form?13:25
omerj left13:25
michelx I'm trying to apply changes I've made in one repo to another repo. I've exported the changes with git format-patch and now I'm trying to apply them with git am. Strangely, I'm getting a bunch of failures where a patch can't be applied. This happens in even such a simple case as when a file has been deleted. Everything *should* apply cleanly, but doesn't. How do I resolve these things?13:26
wereHamster tango_: man git-cat-file13:26
Altreus[hireme] joined13:26
Gitbot tango_: the git-cat-file manpage can be found at http://git.or.cz/man/git-cat-file13:27
fero joined13:27
Altreus[hireme] If I have a merge conflict when I do `git stash apply`, how do I move it from unmerged to unstaged so I can stash it again?13:27
wereHamster michelx: why do you think it should apply cleanly?13:27
Altreus[hireme] rather, stash the resolved version13:28
tango_ wereHamster: thanks, but these commands (inc. git show) expect an actual working .git dir, which is not my case13:28
hm maybe I should git init and try then ...13:28
wereHamster Altreus[hireme]: git add <file> to mark the conflict as resolved13:28
tango_: there are very few commands that can operati without a .git dir13:29
Altreus[hireme] wereHamster: then reset HEAD <file> ?13:29
evl left13:29
tfarina joined13:29
Adlai joined13:29
kssddy left13:30
tango_ wereHamster: ok, git init apparently gives me enough structure to operate on stuff13:30
dexter__ joined13:30
michelx wereHamster: the original repo is a clone from svn where branches and tags are missing. There I've worked in a local (git) branch and now I want to get these changes back into an svn branch. For that I've cloned the svn repo again, this time with branches and tags. I've created a new branch in it with git svn branch. And now I'm trying to apply the changes I've made in the local branch of my other repo.13:30
wereHamster well, given that is the point of git init, I'm not surprised ;)13:30
Altreus[hireme]: that would reset the index, but I guess you'll get more conflicts. You can try anyway13:31
Altreus[hireme] wereHamster: oh - I saw that stash takes things from staged changes as well as unstaged so I don't need to do that :)13:32
v0n left13:32
Altreus[hireme] I didn't think it would but it does so that's cool13:32
dexter left13:32
wereHamster michelx: better way would be to fetch from your original repo, and rebase the commits on top of the new svn branch13:32
michelx wereHamster: How do I get my repo to know about the svn branches and tags directories if I haven't done so originally in git svn clone?13:34
wereHamster michelx: no, I mean instead of git-fromat-patch|git-am use git-fetch/git-rebase13:34
augustl left13:35
ihoka joined13:35
maio joined13:35
maio hi13:36
RaceCondition joined13:36
michelx wereHamster: I'm dealing with two separate git repos. The one containing my changes in a branch was originally cloned from svn without branches and tags. My new clone has branches and tags -- but I need to move over my changes from the other git repo.13:36
Paraselene_ left13:37
girishr left13:37
omerj joined13:38
wereHamster michelx: I understood that. What I'm suggesting is: cd newrepo; git fetch ../oldrepo branchwiththenewcommits; git checkout FETCH_HEAD; git rebase --onto master ^firstcommityouwanttorebase13:39
(or something along these lines)13:40
ben_h joined13:40
omerj left13:40
michelx wereHamster: Ah, I see, I'll try that. Thanks.13:40
omerj joined13:40
sitaram EugenMayer: hi13:41
EugenMayer sitaram: hi. Things are clear now :)13:41
I have written some german tutorials13:41
for the installation and a user guide13:41
sitaram EugenMayer: ok -- sorry I was in an offsite meeting most of the afternoon13:41
NET||abuse joined13:41
sitaram oh wow -- thanks!13:41
EugenMayer They are not public yet13:42
I will work on them an remove critical informations later, then release them. it's a great tool13:42
People stumble of Gitoriuos first, then crap-destroy their server with it, even try git-daemon then13:42
And in the end, its all crap compared to what you have here13:43
Same ist with Submodules and Braid13:43
heliostech left13:43
Altreus[hireme] How do I discard an unmerged file's changes?13:43
sitaram EugenMayer: I don't know much about submodules and I dont even know what Braid is :)13:44
Altreus[hireme] it's not mentioned in `git status` output13:44
It tells me I can add it or checkout it13:44
EugenMayer sitaram: submodule is crap. Braid is quiet coo, especially the forked one13:44
charon Altreus[hireme]: discard wrt. what? you can 'git checkout --ours $file' to get the HEAD side, or 'git checkout --theirs $file' to get the merged branch's side13:44
Altreus[hireme] charon: ah, that's what I needed, ta13:44
still says it's unmerged13:45
am I going to have to reset it?13:45
I did `git stash apply` and then I decided I didn't want any of the changes the stash gave me so now I want HEAD back13:45
sitaram googles Braid13:46
charon Altreus[hireme]: oh that was after a stash. just 'git reset --hard'.13:46
Altreus[hireme] ah ok :)13:46
charon note the usual warnings about it though.13:46
(you irreversibly lose all other uncommitted changes too...)13:46
Altreus[hireme] indeed - hence I was avoiding doing it :)13:46
yeah I didn't have any13:46
But I am forgetful13:46
So I might have forgotten other bad side effects of it13:46
;)13:47
hgimenez joined13:47
jlilly left13:47
gordonh_ joined13:50
cenuij joined13:53
hipe left13:54
m-takagi_m-takagi13:57
gordonh left13:58
gordonh_gordonh13:58
mattayers joined13:59
stamina joined14:01
lucs left14:02
RaceCondition left14:02
luke` left14:02
tg left14:03
tg joined14:04
tasslehoff joined14:06
tasslehoff I have a git repository inside a git repository. What's the common way to make git understand that this isn't untracked files. Add an ignore to the outer repo?14:07
tango_ submodules14:07
voker57_ left14:09
tasslehoff thanks14:10
voker57_ joined14:10
jschoolcraft left14:11
RaceCondition_ joined14:14
DrAk0 joined14:15
tasslehoff Can I add a submodule by just pointing to a directory that's already there?14:15
jast not with submodule add, I think14:16
but you can manually add entries to .git/config14:16
and perhaps .gitmodules, especially if you want others to be able to clone the submodules structure (in which case the submodule needs to be available publicly somewhere)14:17
tasslehoff jast: don't want that. all I want is for the outer repo to know about it.14:17
jast tasslehoff: well, you can either simply ignore the subdir using .gitignore, or add the submodule stuff to .git/config (I don't recall the right syntax, though).14:18
RaceCondition_ left14:18
jast I think it's simply a section [submodule "path here"] with an entry url = <something>14:19
tasslehoff jast: thanks14:20
Paraselene_ joined14:22
pdusen left14:24
drd20 joined14:26
drd20 Hi guys, I am trying to clone a specific revision from an SVN repository. The revision is found on a branch and not within the trunk.14:27
Git-svn is giving me the following error: http://pastebin.com/m1499f92414:28
wereHamster drd20: which command are you running?14:28
voker57_ left14:28
mdm_git left14:29
drd20 wereHamster: http://pastebin.com/m172c1e4214:29
voker57_ joined14:29
dpino left14:30
wereHamster drd20: why do you want this particlar revision? Do you want to work on that and nothing else?14:31
r1793 is the latest revision, so the '-r 1793' doesn't make much sense14:32
botanicus joined14:32
wanders joined14:32
drd20 wereHamster: I'm not an SVN user normally why doesn't it make sense to checkout the latest revision?14:33
wereHamster ah, I misunderstood what -r does, sorry14:33
asksol_ left14:33
voker57_ left14:37
voker57_ joined14:37
bigmack83 left14:40
flaguy48 left14:40
wereHamster drd20: just ignore the warning and run 'git checkout -t -b master remotes/david_damerell_git_staging_area14:40
schmukkk left14:40
wereHamster drd20: you requested r1793, and this revision only changed files in the one branch, so git-svn didn't fetch anything else14:41
kukks joined14:42
cilly joined14:42
drd20 wereHamster: Thanks saved me a lot of time14:43
Skrot- left14:43
JoseLobato joined14:43
JoseLobato left14:44
Thell_Thell14:47
asksol joined14:47
d0k left14:48
dominikh1 left14:50
giallu left14:51
Wolfman2000 ...okay, I'm possibly a BIG idiot. I created a new repo on github, and I was adding files in bits at a time. I accidentally added a directory without committing yet (had to remove files from said directory), so I tried to fix the mistake by doing git reset --hard HEAD. What it did was remove the entire directory! Is there a way to recover it?14:51
marcusb joined14:52
marcusb left14:52
omerj left14:54
wereHamster you mean the files you git-add'ed before?14:55
you can recover those14:55
Wolfman2000 wereHamster: How?14:55
wereHamster git fsck --lost-found and look for objects that are marked as 'tee'14:55
'tree'14:55
bcardarella joined14:56
Wolfman2000 one dangling tree14:56
bcardarella left14:56
wereHamster great. Now git read-tree <the hash>14:56
and git checkout -- path/to/directory14:56
Wolfman2000 wereHamster: I see no changes14:56
...and I'm in the directory14:57
wereHamster I think you have to supply the full path anyway14:57
Wolfman2000 ...huh. I think it's back14:57
omerj joined14:57
Wolfman2000 wereHamster: Thanks for that. I probably read the wrong part of the tutorial or something14:58
iT|Free joined14:58
Wolfman2000 wereHamster: ...still have a problem. I still added the directory, and I want to unadd it14:58
wereHamster Wolfman2000: git rm --cached -r path/to/directory14:59
Wolfman2000 wereHamster++: thanks14:59
voker57__ joined15:00
cookiemon5ter left15:00
Stravy left15:02
thiago__thiago15:04
cookiemon5ter joined15:04
Lgb joined15:05
s0ber left15:05
tasslehoff left15:05
jds left15:09
voker57_ left15:09
DrNick left15:10
Rolenun joined15:10
jlilly joined15:13
__bert__ left15:16
psoo joined15:19
LiamH Is there a way to get a text-based listing of commits like what gitk shows?15:22
futoase joined15:23
doener LiamH: git log --oneline --graph ...15:24
LiamH: or use tig15:24
selckin joined15:24
sh1mmer joined15:25
LiamH doener: Thanks.15:26
tomtt joined15:26
arossouw left15:27
tomtt I seem to have a ghost directory: it existed in the repo history, but was deleted since. When I checkout a version where it was present, then the current version, the directory is still there. But git knows nothing about it so it can not be 'git rm'-ed. Suggestions?15:28
malesca left15:28
johan-s left15:29
Paraselene_ left15:29
_khaos joined15:29
zonque__ joined15:29
zonque left15:30
T2000 tomtt: git does not track directories... remove all files in it if you dont need it anymore15:30
drd20 left15:30
corni joined15:30
tomtt T2000: it is just an empty directory, when I delete it, then checkout the old version, then the new version it is back again though15:31
question is: how do i make the empty directory no longer appear?15:31
_khaos Hi. I've a slight problem. I create several topic branches, checkout one, do modifications and try to switch to a different branch. AFAICT git used to refuse switching as long as there were uncommitted changes. Unfortunately, git switches to the new branch which is now a mix of two topic branches. Is there a way to force git to refuse to switch and just issue warning?15:31
zonque__ left15:31
zonque joined15:32
Wolfman2000 http://github.com/wolfman2000/Perl-6-Pastebin Here is, my newest git repo. Hopefully you guys find it useful.15:32
cbreak tomtt: git doesn't track directories, if it's empty, you can delete it and git won't bother about it15:32
doener _khaos: git refuses to switch only when there's a modified file in the working tree/index that also differs between HEAD and the thing you're trying to checkout15:32
_khaos: when you switch with modified files, git will print something like "M Makefile", so you know that things are modified15:33
_khaos: you can just switch back to the previous branch and commit there, or stash the changes15:33
davey joined15:34
_khaos doener: Ah. Ok. That explains it. Thanks. So I was partly right at least. :-) The same goes for new files I guess. As long as I haven't stashed, ignored or committed them, they are going to end up w/ the branch I just switched to?15:35
cbreak they are just in your working directory15:36
git won't touch them15:36
git won't stash them either15:36
until you add new files, they are untracked15:36
Paraselene_ joined15:36
_khaos cbreak: I noticed. I thought I remembered that git would restore the working directory to the exact branch "layout". So you could also loose all your new files or changes if you haven't stashed or committed.15:38
tomtt _khaos: yes: this is often what you want: for example: you made some changes, but they belong on the master branch. You checkout master and commit your changes there, then switch back to the current branch15:38
_khaos: it will error only when changes you made will be changed by the checkout15:39
jtrindade joined15:39
tomtt therefor doing a checkout is safe15:39
RaceCondition joined15:40
_khaos tomtt: Ok, from this pov I can see the reason why it's this way. That's probably why I haven't run into this problem earlier because most of my branches were quite differently and thus git naturally failed the checkout.15:40
s/differently/different15:40
__bert__ joined15:41
_khaos tomtt/cbreak/doener: Thanks for your kind explanations. One more thing: Is there a way to run a specific command every time one switches a branch for example to get rid of all the object files coming from the other branch which are naturally untracked?15:42
cbreak maybe you could make an alias15:42
one that does git clean15:43
tomtt _khaos: add those to your .gitignore?15:43
making an alias that deletes new files could be rather dangerous15:44
omerj left15:44
_khaos tomtt: That would stop git reporting them as untracked and all but those files would still end up mixed up when switching branches.15:44
cbreak git config alias.killcheckout = clean -d ; checkout15:44
maybe15:44
or maybe not15:44
JohnFlux left15:45
michelx left15:45
tomtt _khaos: if you never commit them, switching branches leaves them untouched15:45
_khaos tomtt: I know. I was hoping I could automate git a bit to clean the tree from back up copies and obj files once I switch branches.15:46
cbreak I'd say an alias is the way to go :)15:46
but it's dangerous15:46
tomtt _khaos: they should never be in your tree in the first place. If they are, remove them, then you should be fine15:46
cbreak you'll probably lose something very dear to you if you use this power :)15:46
_khaos cbreak: Thanks for the hint. I'll give that I try later tonight!15:47
hgimenez left15:47
hgimenez joined15:47
_khaos tomtt: I know. They are in my local working directory... never committed or anything like it. I guess I should finally get used to out of tree building...15:48
tomtt _khaos: you'll probably^H^H^H^H^H^H^H^H definitely lose something very dear to you if you use this power15:48
_khaos tomtt/cbreak: Ok, I get. :-) I know Murphys Law, so I just try to get used to out of tree building or doing the clean up manually if necessary, so at least nothing happens unintentionally.15:49
przemoc86 joined15:49
przemoc left15:49
zoniq_ left15:49
zoniq_ joined15:50
Stravy joined15:52
_khaos Thanks again everyone! So long, khaos.15:52
cbreak may the backups be with you!15:52
_khaos :-)15:53
RaceCondition left15:53
crazychenz left15:54
mattions joined15:54
Paraselene_ left15:55
albari joined15:55
albari left15:55
erlehmann joined15:55
t0rc_ joined15:55
Ilari gitte: HFS+ uses nonstandard variant of NFD (Decomposed), not NFC (Composed). I regard NFC as the only sane Unicode normal form for filenames.15:56
Paraselene_ joined15:56
_khaos left15:57
omerj joined15:57
gitte Ilari: we respect content. In whatever form it is. If you want your filenames in KOI-8, that is your decision, not the SCMs.15:57
warlock_mza left15:57
gitte Ilari: I take exception to this moron being explained how wrong it is that MacOSX mangles filenames, and then telling everybody that this is what Git should do, too!15:58
Ilari: my time is needed somewhere else than with such people.15:58
selckin if macos does it, its really the right way15:59
gitte selckin: shut up.15:59
selckin humor detector failure15:59
nighthwk1 joined15:59
gitte selckin: it is not humor if you put salt into an obvious wound.15:59
selckin: it is bad taste to do so.16:00
selckin sorry, i blame my boredom :(16:00
psankar left16:00
fcuk112 joined16:02
Ilari Well, the fact is that only kind of filenames in repository most can handle is NFC UTF-8 or some subset of that (e.g. US-ASCII).16:03
psoo left16:03
psoo joined16:04
rchavik left16:04
rchavik joined16:05
Ilari Maybe there should be support for at least trying to fix the damage HFS+ does to filenames? I really don't want to see HFS+ corrupted filenames in repositories.16:05
Geralt joined16:05
flazz joined16:05
Ilari (and if project uses KOI-8, well most likely its not something I need to deal with)...16:06
edenc_ joined16:07
edenc left16:07
EugenMayer left16:07
madewokherd joined16:09
mbroeker joined16:09
tbf left16:11
jtrindade left16:11
tbf joined16:11
Ilari Even better if encoding filenames are in repository would be given. But there's no space for storing that, so oh well...16:11
aresnick joined16:12
bentob0x left16:12
cbreak since when does HFS corrupt file names?16:13
I never noticed that16:13
Haarg left16:13
cbreak and I had files with Kanji and other exotic multi byte UTF glyphs in their names16:13
tamm0r is curious as well16:14
Ilari cbreak: It does. Basically any kind of accented character is corrupted. Base-forms of various alphabet are no problem.16:14
Geralt1 joined16:15
Geralt left16:15
Geralt1Geralt16:15
bentob0x joined16:15
Ilari For instance, ä and ö are corrupted, but β and π are not.16:15
cbreak you mean characters built from several glyphs?16:15
tamm0r Ilari: you mean characters like á etc.?16:15
Ilari tamm0r: Yes.16:15
cbreak I never had problems with them16:16
tamm0r wtf *checking*16:16
cbreak not that I have many umlauts in file names though16:16
Ilari If you want to test, create file with umlaut in its name, read its name and dump the byte sequence. Then try dumping byte sequence corresponding to name you entered.16:17
Gets bad if you clone git repo containing umlauts in filenames from external source. Just see what happens to those files on checkout.16:18
cbreak so you mean the problem is that unicode can represent the same glyphs with different byte sequences?16:19
krawek joined16:21
eno joined16:21
tfarina left16:22
Ilari cbreak: Yes, and HFS+ isn't preserving in that regard.16:22
cbreak so they convert it to their standard sequence?16:23
jtrindade joined16:25
Geralt left16:25
eno__ left16:25
Ilari cbreak: And worse yet, that standard isn't NFC, but bastardized version of NFD.16:25
tedoc2000 joined16:25
intripoon joined16:26
tobago left16:26
cbreak wikipedia says: "normalized to a form very nearly the same as Unicode Normalization Form D (NFD)"16:27
does that mean there are A, B, C forms too?16:27
froschi left16:27
flazz left16:27
tamm0r_ joined16:28
fcuk112_ joined16:28
drry joined16:28
Ilari cbreak: There are normalized forms C, D, KC and KD.16:28
patcito joined16:30
Ilari cbreak: C forms compose as much as possible. D forms decompose as much as possible. K forms normalize more heavily (proper rendering can change in way that loses data).16:31
cbreak D sounds most reasonable.16:32
crazychenz joined16:32
Ilari IIRC, NFKC changes "N³" to "N3"16:32
cbreak relying on basic building blocks instead of precomposed things16:32
Ilari cbreak: Wrong.16:32
Adlai left16:33
Ilari cbreak: Entering NFD from keyboard is nearly impossible if terminal emulator doesn't specifically support it.16:33
cbreak I always enter ä as ¨and a16:33
especially for ¨ and A -> Ä16:33
tomtt left16:33
Ilari cbreak: 'echo <dead "><a> | od -t x1' -> "0000000 c3 a4 0a"16:34
cbreak: NFC.16:34
sergiodj left16:34
cbreak maybe because I have an ¨ key :)16:34
sis left16:34
charon though for git's purposes the only relevant bit is that successfully creating $file does not mean it will turn up on the next readdir() scan through its containing directory16:34
cbreak: odds are that key will still give a composed character16:34
jtrindade left16:34
cbreak Maybe.16:34
charon it's merely another way of typing the composed char16:34
tamm0r_ left16:35
cbreak But since I am on OS X, maybe not16:35
Ilari cbreak: That key is presumably exactly the <dead "> key...16:35
tamm0r_ joined16:35
cbreak I am not sure how key entry works here.16:35
Ilari cbreak: Well, try the echo-od combo I gave.16:35
cbreak c3 a4 0a16:36
same as with the ä key directly16:36
Ilari cbreak: Exactly.16:37
krunk- joined16:38
Ilari cbreak: And then one has to consider those that have filesystems that are not just unicode normalization preserving, but unicode normalization sensitive.16:38
krunk- with git svn, how would I clone starting at a specific revision? so I don't have to replay the whole history?16:38
jrmuizel joined16:39
charon krunk-: use 'git init && git svn init <args>' manually, and then 'git svn fetch -r<range>'16:39
cbreak Ilari: that's probably the same problem as case sensitive systems16:39
Jinzhu left16:39
cbreak which HFS+ is not by default either16:39
fcuk112 left16:39
charon cbreak: even FAT32 is case-*preserving* (though not sensitive). HFS+ is not unicode representation *preserving* which is what causes the headaches (for git)16:40
Ilari cbreak: For it to be same problem, you would need to have filesystem that's not even case-preserving. I don't think there are any GP filesystems that fall into that category.16:40
krunk- charon: ok, so git svn init http://foourl.com/svn/trunk && git svn fetch -r250: ?16:40
cbreak HFS+ preserves case at least :)16:40
krunk- I use HFS+ case sensitive myself16:41
to avoid those problems16:41
cbreak I write everything lowercase.16:41
more convenient :)16:41
Ilari krunk-: Won't be enough to avoid the unicode problems.16:41
riverrat66 joined16:41
RaceCondition joined16:41
seanmcl joined16:41
krunk- Ilari: not sure exactly waht unicode representation preserving refers to16:42
cbreak I don't even use spaces in my filenames16:42
r11t joined16:42
hummingkid joined16:42
krunk- I get bit by the spaces deal enough16:42
reality is spaces are sometimes a problem, though if a program can't handle spaces it's normally a reflection of poor programming practices16:42
Ilari krunk-: There are two ways to present 'Ä' in UTF-8: <C3 84> and <41 CC 88>.16:44
sergiodj joined16:44
krunk- Ilari: interesting, so characters have non-unique codes?16:44
Ilari krunk-: First is normal form C for that character, second is normal form D for that character.16:44
krunk-: Some characters do. Some even have more than two (have forms that are neither normal form C nor normal form D).16:45
ankit9 left16:45
tamm0r left16:45
tamm0r_tamm0r16:45
krunk- Ilari: do you knwo what, if any, benefit this gives the specification? seems like rquiring unambiguous unique codes would be preferable16:46
Ilari Not having precomposed forms and requiring codepoint order for combining characters would give unique encoding for any charcter. Unfortunately, it wouldn't be compatible with latin1 and would add quite much baggage to be needed.16:47
charon krunk-: well, you'll have to do that in a git repo, so you should start with 'mkdir foo && cd foo && git init', but otherwise yes, that should work16:47
tamm0r left16:47
leaf-sheep left16:48
dexter__ left16:48
bartek- joined16:48
bartek- Hi there. I currently have a remote branch and I would like to merge it. Would I git pull origin <branch name> and then git merge <branch>? I'm not quite sure on the process of a remote branch merge.16:49
Ilari bartek-: Pull already merges.16:49
bartek- Ilari: Ah, so I just pull my branch, then?16:49
iT|Free left16:50
bambule left16:50
krunk- charon: I got it, thanks16:51
Ilari bartek-: Yes.16:51
bartek-: You might want to commit/stash first (if you have uncommitted changes).16:51
bartek-: Also, you might want to create temporary branch to do the merge in.16:52
Alagar joined16:53
s0ber joined16:53
krunk- temporary branch is a smart move imo16:53
mikepence joined16:54
bartek- thanks Ilari, everything worked smoothly (huge branch!)16:55
rchavik left16:56
Borbus_Borbus16:58
rudi_s joined16:59
omerj left17:01
Darkas_ joined17:01
Keiya joined17:02
ankit9 joined17:03
Aikawa joined17:04
imajes left17:05
dpino joined17:07
galderz left17:09
patrikf joined17:10
hebz0rl joined17:10
heliostech joined17:10
heliostech hi guys, this is getting anoying17:10
i'm in the same group as the repository17:11
mikepence left17:11
heliostech i create the repo with git --bare init --shared=group17:11
fatal: Unable to create temporary file: Permission denied !17:11
where does it tries to create the temp files?17:11
Ilari heliostech: What command gives that error?17:12
Alagar left17:12
psoo left17:12
heliostech git push ssh... master17:13
selckin and you thought the init was more relevant then the command giving the error?17:13
Alagar joined17:13
nothingHappens left17:14
t0rc_ left17:14
heliostech it was clear for me.17:14
t0rc left17:14
selckin lol17:14
heliostech so yes, I can't push to the freshly created repo17:14
Ilari heliostech: chgrp it?17:14
mikepence joined17:14
pencilo left17:16
heliostech chgrp my repo ?17:16
well I did for sure17:16
pencilo joined17:16
LRN left17:17
heliostech well obviously it didn't17:17
it worked17:17
I'm surprised, I use to chmod g+s17:17
then git init --shared would work fine17:17
indeed 2 objects where not in the sguid17:18
./objects/pack is not in the setguid I don't know how17:19
s0ber left17:20
Aikawa_ left17:21
ntoll left17:21
aziz left17:21
bauruine left17:22
kumbayo joined17:22
crazychenz left17:22
tvw left17:23
mikepence left17:23
Alagar left17:23
NetHawk left17:23
Hawk416 joined17:23
wereHamster peps: gentoo?17:24
LRN joined17:24
RaceCondition left17:25
wolog left17:26
Russell^^ left17:26
bartek- left17:27
magcius left17:27
magcius joined17:27
Alagar joined17:27
NetHawk joined17:31
NetHawk left17:31
luke` joined17:32
dwmw2dwmw2_gone17:32
T2000 left17:33
Hendu left17:34
s0ber joined17:36
MacGyverNL selckin: You were gone when I said it, so I figure I still owe you an apology for tuesday night.17:36
After re-reading your suggestions, I saw I misunderstood what you said about warning being on stderr. I thought it was on stdout because I thought I'd tried redirecting stderr for diff earlier. I was wrong, obviously. Next time I'll make sure brain is in gear before engaging keyboard.17:37
Tordmor joined17:38
selckin MacGyverNL: <317:39
thm left17:40
sde_antrix1 left17:40
jonmastet left17:41
RaceCondition joined17:41
FunkeeMonk joined17:41
jonmasters joined17:41
seanmcl left17:42
mikepence joined17:42
dyqith joined17:44
dyqith hey guys, had a question on how to add in older history into a git repo.17:45
kpreid_ left17:45
imajes joined17:46
dyqith I started a git repo from some code in a zip file and made some changes to it17:46
nighthwk1 left17:46
dyqith Now I have another git repo that made the zip, but would like to merge these two repos together17:47
mcella left17:47
selckin so sepertaly created git trees based on the same starting code?17:48
dyqith yup17:48
DavidKlein joined17:48
cbreak maybe you can do something with fast export and import. Hmm...17:48
cbreak has no idea17:48
wereHamster or grafts + git filter-branch17:49
becomingGuru left17:49
bambule joined17:49
wereHamster or a simple merge, git doesn't care that the two started out as separate projects17:49
brainbox1100 joined17:49
dyqith hmm.. okay, let me see if a simple merge would do. thanks17:50
mattayers left17:50
aziz joined17:50
tbuehlmann joined17:53
mastro left17:56
hemmecke1 left17:56
pflanze joined17:59
krawek left18:00
krawek joined18:00
viiitor joined18:01
ereslibre joined18:02
maattd_ joined18:02
viiitor Hello. Is there any way to see a tag? Like the way I do with branches, I want to move to a specific tag and see what's there. I could only see the diffs between it and the current rev.18:02
pflanze I'm looking into cleaning up quite some history, ~250 commits; since I'll need several attempts (doing it partially), is there something "better" than rebase -i to do it?18:03
Plus if it allows handling patches as files and letting me edit them (as files).18:03
pao joined18:03
FunkeeMonk left18:03
pao hi all18:03
crazychenz joined18:03
pao I've the impression that git checkout <checkout_id> truncates my history... is that correct?18:04
pflanze viiitor: do you mean, read the tag message, or what the tag is pointing to?18:04
petrux left18:04
Tordmor left18:05
pflanze pao: truncate?18:05
ereslibre left18:06
pao pflanze: I've just tried on a sample project....18:06
viiitor pflanze: I have a tag named 0.1. I want to tar its contents...18:06
pao pflanze: and committed 3 changesets18:06
pflanze viiitor: just give the tag as the revision argument to the git tool you want18:06
pao pflanze: if I "git checkout HEAD^" ... I cannot see the 3rd any longer in any way18:06
crazychenz left18:07
viiitor pflanze: Like git checkout 0.1?18:07
maattd left18:07
maattd_maattd18:07
pflanze viiitor: yes, but I think tags cannot begin with a digit18:07
viiitor: also there's git tar-tree which can do what you want without changing the checkout18:08
ehr, git archive18:08
viiitor pflanze: Well... I have a tag named 0.1... it was imported with git-svn, if that matters...18:08
pflanze viiitor: what does "git rev-parse 0.1" say?18:08
kkaefer left18:09
viiitor pflanze: 9179e2ac7c390e9b9154d01fb1ab86d8cec5777d18:09
pflanze viiitor: ok, then I was mistaken and digits seem to work just fine18:09
futoase left18:09
pflanze pao: run "gitk --all" or "git branch -av"18:10
Adlai joined18:10
pao hypermac:git-test paolo$ git branch -av18:10
* (no branch) 7446e23 versione 218:10
master 9c3aa9e versione 318:10
viiitor pflanze: git checkout 0.1^ does exactly what I want18:10
pflanze: Thanks :)18:10
pao pflanze: I think I'm detached18:10
pflanze pao: so, master should have all 3 versions, as you see.18:10
yes18:10
pao pflanze: is there any reason to work (commit) on a detached status?18:11
pflanze pao: usually you want a named branch, since you would loose your new commits if you checkout something else.18:11
Alagar left18:11
pao pflanze: thanks18:12
Alagar joined18:12
pflanze viiitor: note that the caret "^" means that you're checking out something older than 0.118:13
wereHamster pao: HEAD^ == parent of HEAD. So if you checkout HEAD^ then you ovbiously lose the very last commit18:13
viiitor pflanze: So I should do git checkout ^0.1? Or what?18:14
wolog joined18:14
viiitor git checkout 0.1 don't works...18:14
wereHamster pao: there may be reasons why you want to work on detached HEAD. If you just want to test things for example and don't want to create a temporary branch18:14
pao wereHamster: yep, but I had the impression to have lost my last commit in the history (git log didn't show it)...18:14
pflanze what does it say?18:14
crazychenz joined18:14
pao wereHamster: clear18:14
viiitor pflanze: It's trying to checkout to the branch 0.1, which don't exists...18:15
wereHamster pao: say your history is A - B - C - D (with HEAD pointing at D), you now git checkout HEAD^ and HEAD will point at C, so git-log will show only A,B,C18:15
iT|Free joined18:15
wereHamster you did not lose the commit, it just wasn't reachable from HEAD anymore18:15
pflanze viiitor: try "git checkout -b mytemporarybranch 9179e2ac7c390e9b9154d01fb1ab86d8cec5777d"18:15
pao wereHamster: yep... I'm used to hg... you always see all changesets with "hg log"18:16
wereHamster pao: git log --graph --all --decorate18:16
viiitor pflanze: It worked, I think18:17
pflanze: git checkout -b mytemporarybranch 0.1 worked too18:17
pao wereHamster: perfect... many thanks :-)18:17
viiitor It seems hacky to me, but it's ok :)18:18
pflanze: thanks18:18
pao wereHamster: just one more question... where is HEAD, HEAD~2 ... syntax documented?18:18
wereHamster pao: man git-rev-parse18:18
Gitbot pao: the git-rev-parse manpage can be found at http://git.or.cz/man/git-rev-parse18:18
erlehmann left18:18
pao wereHamster: thanks a lot!18:18
NET||abuse left18:19
wereHamster viiitor: <viiitor> pflanze: I have a tag named 0.1. I want to tar its contents... - did you take a look at man git-archive?18:19
Gitbot viiitor: the git-archive manpage can be found at http://git.or.cz/man/git-archive18:19
viiitor wereHamster: I will, but what I really wanted was to see the tag as a branch, so I could checkout into it and see its contents...18:20
wereHamster viiitor: git checkout 0.1 should work. Why did you think it didn't?18:20
Guest64422alanhaggai18:20
viiitor duh18:21
wereHamster: You are right...18:21
FunkeeMonk joined18:21
viiitor wereHamster: I read the first lines of the output, which seems like errors18:21
But I double checked now and you're right. It works ok18:21
crazychenz left18:21
wereHamster if 0.1 is a remote branch, it will detach the head, but if you just want to take a look what's in there that's fine18:22
viiitor Thanks18:22
gordonh left18:22
kpreid_ joined18:25
kampasky_ From git://gcc.gnu.org/git/gcc c5d33fc..170d361 trunk -> trunk c5d33fc..170d361 trunk -> trunk18:25
now i wonder how can *this* happen :)18:26
loinclot_ joined18:26
wereHamster the duplicated lines18:27
?18:27
Ilari kampasky_: ls-remote gives anything odd?18:27
loinclot_loincloth_18:30
patmaddox left18:30
drizzd_ joined18:30
ben_h left18:30
pflanze If I'm just looking for a tool to do a "git rebase -i" but with more interactivity, should I look into Guilt or StGIT or TopGit or?18:31
(Once I'm done, I want the result to be in normal git and drop the patches)18:31
ojacobson joined18:31
pflanze (drop the patch files, I mean)18:31
ojacobson Google is being singularly unhelpful here: what's the Done Thing for converting a mercurial repo to git these days?18:32
wereHamster pflanze: what kind of interactivity do you want?18:32
pflanze Reorder patches, squash them, and some of them I'd like to edit.18:32
cenuij left18:33
pflanze One of the hairier things I want to try is split some big file into subfiles retroactively.18:33
wereHamster I don't know how much more interactive than rebase -i it can get. Are you looking for a graphical user interface?18:33
tango_ ojacobson: hg2git or something like that18:33
selckin ojacobson: thats why you ask stackoverflow18:33
ojacobson stackoverflow is even worse than IRC18:33
selckin it's nice !18:33
pflanze wereHamster: the main problem with rebase -i is that it's not really possible to do the rebasing in pieces,18:34
if I start with the oldest part, after the first rebase the commit ids have changed,18:34
so I can't save any edits I did in the rebase list.18:34
kampasky_ Ilari: hm, looks like odd git-svn'd mess, there's both refs/heads/trunk and refs/remotes/trunk18:34
pflanze (that is, I can't copy my rebase list to reuse it (maybe with corrections))18:34
cenuij joined18:35
Keiya left18:35
cbreak if you change an old commit, that commit will be replaced by it's changed version, and everything after it changes18:35
wereHamster pflanze: what kind of 'edits in the rebase list'?18:35
cbreak that's unavoidable18:35
pflanze squash, reordering..18:35
I'd like to turn my history into patch files, then reorder them on disk, update them while keeping them ordered.18:36
But I want to go back in the end to just using plain git.18:36
wereHamster pflanze: git format-patch | git am18:36
pflanze I've thought about this,18:36
cenuij left18:37
pflanze the problem is that it doesn't renumber things.18:37
i.e it does not do any kind of updating.18:37
wereHamster well, that's up to you, the tool can't possible know how you would like to reorder the patches ...18:37
pflanze And there's no easy way to squash either.18:37
cbreak what's wrong with rebase?18:38
you first order the commits in the order you want18:38
and then you can change them18:38
pflanze I've explained above, ok?18:38
cbreak git will not change the order anymore, so order is preserved18:38
corni left18:38
pflanze Have you tried git rebase -i on a history of 250 patches?18:39
I have and I'm looking for something else.18:39
Wolfman2000 ...oh joy. Somehow broke my ability to push.18:40
fatal: '=' does not appear to be a git repository <-- What's the right way to fix this? I know the git URL that contains the repo if that helps.18:40
edenc_edenc18:41
cbreak how do you push?18:41
what's the content of your .git/config file?18:41
jkp_ joined18:41
wereHamster Wolfman2000: git config remote.origin.url <url of the remote repo>18:41
Wolfman2000 cbreak: hold on18:42
http://gist.github.com/243605 I think I messed this up when I was trying to configure pulling from my own repo18:42
Grahack joined18:43
wereHamster Wolfman2000: git config branch.master.remote origin18:43
cbreak yes.18:43
your remote is "="18:43
you can replace that with your remote as wereHamster said :)18:43
wereHamster I guess you ran 'git config branch.master.remote = something' sometime earlier (notice the stray '=')18:43
Wolfman2000 wereHamster: think so18:44
alright, let me try to push what I just did, and then pull and see if I have to adjust more.18:44
thiago_home joined18:44
Wolfman2000 okay, pushing works18:44
bentob0x left18:44
brainbox1100 Can I clone a git repo, zip it up, and send the archive to a WinXP user to use?18:45
bhierof left18:45
Wolfman2000 hmm...seem to be missing branch.master.merge, remote.origin.url, and remote.origin.fetch18:45
cbreak you can use git archive18:45
lhz joined18:45
cbreak well, just zipping a git directory makes it usable from git though18:45
sh1mmer left18:45
brainbox1100 cbreak: I'll go read up on it.18:45
sh1mmer joined18:46
wereHamster brainbox1100: not recomended (especially if you are on linux/mac - due to crlf)18:46
drizzd left18:46
cbreak windows users can deal with just LF.18:46
Wolfman2000 wereHamster: branch.master.merge = <remote-ref> What is remote-ref supposed to be here?18:46
wereHamster yeah, but he'll have to set autocrlf and rebuild the index...18:46
brainbox1100 wereHamster: Is the git archive the thing to do, or should I make the clone from a Win32 host then send them that archive?18:46
wereHamster Wolfman2000: the remote ref you'd like to merge with when running 'git pull'18:47
brainbox1100: I would create a bundle and tell them to import it into an existing repo18:47
Wolfman2000 ...I should understand that, but I don't.18:47
xanonus joined18:48
jrmuizel left18:49
Wolfman2000 wereHamster: I think I got it working. I set it to refs/heads/master, and it confirmed that I was up to date.18:49
jrmuizel joined18:50
smuf left18:50
viiitor left18:51
fcuk112_ left18:52
fcuk112 joined18:52
jkp left18:55
tvoet_ joined18:59
tvoet_ anyone know how to update the "description" file on a remote git repository?18:59
bremner you need shell access, basically19:00
tvoet_ that's what i figured, but was hoping there was another way19:00
\ask joined19:01
tvoet_ that kinda sucks though, no?19:01
Pupeno_ joined19:01
Ilari tvoet_: There may be other (not in git) tools to do that...19:01
Pupeno left19:01
Pupeno_Pupeno19:02
Ilari tvoet_: Web interfaces, repository hosting remote admin interfaces, etc...19:02
tvoet_ ok19:02
thanks Ilari19:03
jstephenson joined19:03
alanhaggai left19:05
Alagar left19:06
bigmack83 joined19:06
mattions left19:07
yann joined19:09
spaceonline joined19:10
Aku joined19:12
tvw joined19:13
dyqith left19:13
sh1mmer left19:15
minaguib_ joined19:16
tvoet_ left19:16
Sigma[Mtp]Sigma19:17
yhager left19:17
yhager joined19:18
pao left19:18
sh1mmer joined19:20
freenode joined19:20
freenodeGuest28219:21
wagle joined19:22
loincloth_ left19:23
agib joined19:24
ghostman joined19:24
ghostman Don´t use gentoo!19:24
rphillips left19:24
offby1 Just Say No19:25
ghostman: any other advice?19:25
exygen joined19:25
Adlai left19:25
paltman left19:25
selckin don't feed trolls!19:26
Adlai joined19:26
charon also, don't troll the feds.19:26
bigmack83 left19:26
zonque left19:26
minaguib left19:27
\ask left19:28
\ask joined19:29
tedoc2000 left19:29
rphillips joined19:29
ihoka left19:30
icwiener left19:32
patmaddox joined19:32
ghostman left19:34
wagle left19:34
wagle joined19:35
Hendu joined19:36
segher joined19:38
gitte left19:39
wagle_home left19:40
alanhaggai joined19:42
alanhaggaiGuest676719:43
loincloth joined19:43
Guest6767alanhaggai19:43
mikepence left19:45
remi joined19:45
mikepence joined19:45
robinsmidsrod joined19:46
j416 joined19:46
flazz joined19:46
arrenlex joined19:47
arrenlex Hi, all. I have stashed my changes and pulled. I get this after applying: CONFLICT (delete/modify): <filename> deleted in Stashed changes and modified in Updated upstream. Version Updated upstream of <filename> left in tree.19:47
... nevermind, sorry. xD19:48
aresnick left19:50
unreal left19:50
__iron joined19:50
unreal joined19:52
p_masho newbie question. I;ve got a .gitignore in the root of my project. However can I also put a .gitignore in sub directories eg one I want to add ignore *.pdf..19:53
Hendu left19:53
p_masho ie I want a "main .gitignore, but one in a subdirectory also that excludes stuff in that particular directory (sorry not good at explaining)19:54
selckin p_masho: man gitignore19:55
Gitbot p_masho: the gitignore manpage can be found at http://git.or.cz/man/gitignore19:55
lhz left19:55
jelmer joined19:55
icwiener joined19:55
j416 p_masho: yes you can.19:55
you can also specify everything in your root .gitignore file.19:55
man page explains all.19:56
kpreid_ left19:56
arrenlex left19:58
mikepence left19:58
[1]intripoon joined19:59
Twisted_Mentat joined19:59
Strogg left20:02
hebz0rl left20:03
Strogg joined20:03
wagle left20:06
r11t left20:07
pantsman joined20:08
wagle joined20:08
loincloth left20:08
malumalu joined20:08
galderz joined20:10
flazz left20:11
CarlFK left20:11
bauruine joined20:16
intripoon left20:16
[1]intripoonintripoon20:16
\ask left20:18
zoniq_ left20:20
eletuchy joined20:23
bibinou joined20:24
bibinou left20:24
ryoma joined20:25
bibinou joined20:25
bibinou left20:26
RaceCondition left20:27
bibinou joined20:27
CarlFK joined20:27
kennethlove joined20:30
luke`_ joined20:30
luke`__ joined20:31
RaceCondition joined20:34
RaceCondition left20:34
mama joined20:34
mama Is there a cmd line tool that would present commit log similarly to gitk?20:35
charon mama: git log --decorate --graph --oneline20:35
mama show-branch almost does it, but get's confusing on merges.20:35
Thell mama: try ... yeah that20:35
charon mama: if your git is too old for --oneline, use --pretty=oneline --abbrev-commit20:35
mama charon, no, seems to be new enough.20:36
charon, Thell, also, thanks! Exactly what I needed.20:36
ereslibre joined20:37
luke` left20:38
luke`__luke`20:38
j416 wonders why ubuntu still uses 1.6.3.3 :/20:38
j416 hey... I didn't install git.. it was pre-installed o_O20:39
how odd. hah20:39
mama 1.6.6 on that box, but I have no idea what distribution that is.20:39
charon considering that there is only a 1.6.6-rc0, that seems odd :)20:39
luke`_ left20:39
sergiodj left20:40
mama it actually said 1.6.6.rc0.15.g4fa80.dirty but I didn't know what's relevant.20:40
charon that means it's built from 4fa80 which is 15 commits away from the tag 1.6.6-rc0, and had uncommitted changes too20:41
mama g stands for git ?20:42
charon yes20:43
omerj joined20:44
alanhaggai left20:45
Fernandos joined20:49
Fernandos hi20:49
GSaldana joined20:50
GSaldana left20:50
Fernandos I'm project-leader in a student team and we're using Aptana and dropbox+git. We share our repository with dropbox and use git for version control. My question is: Is it the right behaviour when I create a project in the dropbox and clone that to my local machine edit it there and push changes that are approved back to the dropbox?20:51
tedoc2000 joined20:51
patrikf left20:55
kennethlove left20:58
maattd left20:58
RaceCondition joined20:59
maattd joined21:00
bremner normally git repos are pushed to via ssh, and in weird cases by webdav21:00
Fernandos: when you say push, do you mean the "git push" command?21:01
Araneidae joined21:01
Fissure Fernandos: i've had a group member lose objects when his repository was inside a dropbox folder before21:02
Hendu joined21:02
Araneidae Trying to understand merging, and I've got an odd problem: after a failed merge a file reports "needs merge"21:02
Fissure can't be sure it was dropbox's fault, but it was a pain to fix and we lost a nice series of commits and had to instead put all his changes in one big one21:02
Araneidae ... unfortunately the file doesn't exist!21:02
Fissure Araneidae: if the file was deleted locally and changed on the remote, i think it leaves it removed in the worktree21:03
Araneidae Well, that's odd. I think I've managed to `git rm` it.21:03
jast after git rm the file shouldn't show up as unmerged anymore21:04
Araneidae Although it complained: fatal: pathspec 'extras/busybox/busybox-default-1.12.3.config' did not match any files -- but it's gone anyway!21:04
jast hmm, so it was already gone for some reason21:04
xenosoz2 left21:04
jast what Fissure said makes sense21:04
afr21:04
whoops21:04
Araneidae: try with git rm --cached21:04
Fernandos bremner: I mean commit not push21:05
bremner: I still don't understand the difference though.21:05
j416 Fernandos: I think you mean push21:05
Araneidae Well, it seems to be gone now. But I still have this complaint: "Your branch and origin/extras have diverged and have 17 and 4 different commits respectively"21:06
bremner apparently doesn't know enough about drop box to contribute further, but I have to say, git over networked file systems is generally bad news21:06
xenosoz2 joined21:06
j416 you can push using a regular file system as well21:06
jast Araneidae: well, have you finished the merge yet, using git commit?21:06
Araneidae Ahh, no. The last commit I don't want to do just now.21:06
jast Araneidae: that just says that there are commits on both sides that don't exist on the other side, and a merge and a push or something like that can take care of that21:06
Araneidae THink maybe I'll stash it and try commiting what I've got21:06
Fernandos bremner: dropbox saves files locally and syncs it. so I don't think there could be a problem in lifetime.21:06
Darkas_ left21:06
Grahack left21:06
jast well, if you're in the middle of a merge that will record a merge commit21:07
blakemizerany joined21:07
Araneidae Haha. Refuses to stash :(21:07
Darkas joined21:07
jast and you really don't want to commit a merge commit that has part of the merge missing21:07
Fernandos j416: where is the difference between git push and git commit? I've used svn for years.. so I usually do commits and that's all21:07
minaguib_ left21:07
jast Fernandos: git is decentralized. commit creates a local commit; push transfers it to a remote repository21:07
Araneidae Well, the bit that's gone horribly wrong is a document that got updated in two different places.21:07
Fernandos I guess push is used to push change to another repo right??21:07
ah :D21:07
yes21:07
j416 Fernandos: commit stores a change in the repo. push sends your repo to a remote.21:08
Araneidae The remote has to win, but I don't want to lose what I was doing before just yet21:08
Fernandos jast: thanks for clarification21:08
and j416 thank you too21:08
jast Araneidae: well, your local commits won't disappear either way. it's a merge, after all. so if you fix the conflicted file and add/commit that, the merge should contain both local and remote changes.21:08
cilly left21:08
Araneidae So, I think what I want to do is: revert my conflicting file to the version before I tried to merge, but leave the commit alone21:08
Basically I can't *fix* it right now21:09
j416 Araneidae: read the git-merge man page21:10
it will tell you all about it21:10
about fixing conflicts, that is.21:10
Araneidae I'll try21:10
Fernandos look: my setup is like following My dropbox is saved on my safe external hd. which syncs to the dropbox (where I've also version control too). then I clone that repo to my computer's home directory and told all my team members to do that too. They only commit if things work. I can see immediately what they do, because they work on servers each. Now when the declare their work as ok. I allow them to push things to the dropbox21:10
I think that is kinda xp nature of project management21:11
Araneidae But I don't understand how to specify the right version!21:11
Araneidae still doesn't grok how the two parents of a merge are addressed21:11
j416 Fernandos: as long as the syncing works safely (that is, no one can pull from a repo that is only half-updated), I see no problem in your workflow21:12
Fernandos Araneidae: everybody is tied to a sub-project, that mean nobody is crossing21:12
j416 except perhaps for the "only commit if things work" thing21:12
you can commit locally and then squash commits if needed21:12
CarlFK left21:12
j416 better than to commit seldom and risk losing changes :)21:12
Araneidae Basically I did some local changes, then tried to merge with upstream, and I'm confused.21:13
Fernandos j416: thank you very much! I really appreciate hearing that my workflow is valid from you :)21:13
Araneidae I can manually go through the offending file, removing all the <<<< >>>> lines, but surely there's a quicker way to simply checkout the version I had before I tried to merge? But leave the original remote version untouched...21:13
godsflaw joined21:14
Fernandos j416: it is hard to explain to my prof.. I told him it's centrally in dropbox but decentrally on every team members home dir.. which is a paradoxon he didn't understand21:14
j416 Fernandos: you can also consider having a separate branch for each user21:14
and then you are in charge of merging them together if you think they are ok21:14
hehe21:14
mama left21:14
Fernandos j416: yes I've though about that.. but then there is the problem that they'll feel more free and do more adventures in the "land of code" which might stretch our time-line too much21:15
j416 Fernandos: you have a publicly accessible repository on the dropbox, and everyone has their copy, which they work on, and then they update the public repo over time.21:15
Fernandos j416: that's what branches are for I think.. for experimenting21:15
Fissure Fernandos: if people share the repository on dropbox, pushes won't be atomic21:15
which is bad21:15
j416 Maybe he understands if you explain it like that?21:15
lucsky left21:15
CarlFK joined21:15
j416 Fissure: could you elaborate?21:16
loincloth joined21:16
charon Araneidae: are you still in the middle of the merge? do you want to declare the 'ours' side the merge result, or merely look at it?21:16
Fissure Araneidae: if you're not ready to merge, then you should just abort the merge and try again later when you are ready21:16
Fernandos Fissure: what you mean by pushed won't be atomic? Yes it's dropbox share, everyone has the same repo in the dropbox.21:16
Araneidae It's just one file I need to put to one side21:16
The rest of the merge is fine (and will probably vanish...)21:17
Fissure j416: as i understand it, dropbox watches a directory and periodically syncs changes to the central server, which then propagates them to the other clients21:17
Fernandos yes21:17
j416 Fissure: so it seems21:17
malumalu left21:17
Fissure since the pushes will be local as far as the kernel is concerned, and then synced to the server, you could have both people think a push succeeded and the server will flip out when it sees both people have updated the same file (e.g. refs/heads/master)21:18
j416 it sounds like it could be dangerous if two people push at the same time21:18
but I don't know how dropbox works.21:18
(that is, technically)21:18
yeah..21:18
Araneidae Right now I just want to *unstage* the file from the current merge. How can I do that?21:18
Fernandos j416 and Fissure dropbox has a conflict management21:19
Fissure Araneidae: merges don't work like that; you don't want to revert part of the changes during the merge21:19
j416 Fernandos: how does that work?21:19
Fernandos two files don't collide that easily21:19
sergiodj joined21:19
Araneidae Fissure, seriously? But then how can I resolve the merge conflict if I can't say: *this* file stays as it was?21:19
jast Araneidae: so, in other words, you want that file to be as it was locally, even after the merge?21:20
Fissure Araneidae: the merge should be the sum of the changes on both branches; you should wait until both are ready before trying to combine them21:20
Araneidae Of course, I can copy it out of tree and then do a git show to overwrite it and then do a git add and then do the resulting empty commit -- bit it doesn't seem right.21:20
Fissure, but then the merge will never happen21:20
jast git checkout --ours thefile21:21
Araneidae --ours ! Aha, sounds promising!21:21
sis joined21:21
Fernandos Fissure: Even dropbox isn't totally silent, in a conflict such as this, their server keeps revisions (so you can pick and choose the correct one, making it not silent).21:22
Araneidae Ouch. I need to *unstage* an rm!21:22
aresnick joined21:22
j416 Fernandos: cool21:22
wereHamster Araneidae: git status21:22
Fissure Fernandos: that still sounds like a pain to deal with21:22
j416 is dropbox free?21:22
Fernandos Fissure: I haven't had any conflict yet and hope it stays so.21:22
j416 checks21:22
j416 free up to 2 GB? neat21:23
Araneidae `git status` tells me that I am going to delete the file on my next commit (*not* quite what I'd planned)21:23
j416 I'll use that for backup..21:23
Fernandos Fissure: I guess you're talking about binary files and conflicts. But Silent Sync (in a automated no-user-interaction way) has , is, and always be a dream (at least for the foreseeable future).21:23
-----21:23
Araneidae I need to rm the rm -- how to do that?21:23
wereHamster Araneidae: did you run 'git status'? It tells you how to unstage the rm21:23
Fernandos j416 you earn more gb when you tell others ;)21:23
my friend has 4gb free21:23
j416 really21:23
Fernandos: want to earn?21:24
hehe21:24
Fernandos yep :)21:24
Araneidae wereHamster, thanks21:24
j416 then hurry up21:24
i'm downloading that thing now21:24
Fernandos j416: click this and I'll get a little more space https://www.dropbox.com/referrals/NTMwNTE5MTA521:24
gasbag joined21:24
j416 Fernandos: will that make my dropbox available to you or anything?21:25
hmm21:25
suspicious :P21:25
Fernandos j416: nooo! it's just your private dropbox and NOT associated to mine in any way!21:25
I find that solution with dropbox quite decent. Yes a network share would do that same, but there wouldn't be conflict management and automatic backups.21:26
though this could be set up..(not easily to be honest)21:26
j416 ah...21:27
i need to create my account using that link huh?21:27
Fernandos j416: yes21:27
j416 arf21:27
I did that through the installer thing21:27
sorry :/21:27
Fernandos np21:28
j416 you could create a fake account though21:28
lol21:28
Fernandos 2.25GB is ok..21:28
j416 yeah...21:28
it's more than ok21:28
bremner conflict resolution? on a git repo? that sounds catastrophic.21:28
j416 it's a great off-site backup solution21:28
bremner s/catastrophic/potentially catastrophic/21:28
Fernandos bremner: dropbox has nothing to do with git. It resolves physicall conflicts only21:28
Fissure bremner: my thoughts exactly21:29
bremner physical conflicts?21:29
v0n joined21:29
tfarina joined21:29
Fissure though fortunately, the objects directory shouldn't get conflicts21:29
Stravy left21:29
tg left21:29
Fernandos bremner: if a file collides with another file. when A and B create the same file at the same time..21:29
or comit or whatever then there is that conflict management21:30
Fissure just refs/packed-refs/"info/refs"/"objects/info/*" ... this is a long list :)21:30
bremner yes, and that you don't think that is a problem suggests you are in over your head21:30
tg joined21:30
v0n I'm using Gitolite and try to give read access to the public to a repo. What's the difference between deamon and gitweb user ?21:30
tg left21:30
bremner sorry if that sounds harsh21:30
where is GItte when we need someone grumpy but smart :)21:31
Fernandos bremner: ok. I accept, it's your opinion. But if you know better I'm open for advancement.21:31
Araneidae left21:31
tango_ left21:31
Fissure Fernandos: since you seem to be in charge of integration for the most part anyway, just give everyone their own repo on the dropbox21:32
tango_ joined21:32
Fissure if it's only ever updated from one place, you can't get conflicts21:32
Hawk416NetHawk21:32
Fernandos Fissure: indeed21:32
ehabkost left21:32
bremner Fernandos: I assume you have a good reason not to use github or some similar service?21:32
tango_ left21:32
Fissure though i might be better to just throw a few bucks a month at github and not have to do this yourself21:33
tango_ joined21:33
Fissure or your own server; gitosis/gitolite isn't too hard to set up and git doesn't require much bandwidth21:33
m-takagim-takagi_21:33
Fernandos bremner: Yes. github releases your files to the public. Which is not our intention it's universitiy project. A little privacy isn't wrong21:33
Darkas left21:33
ankit9 left21:33
bremner Fernandos: doesn't your university have servers you can ssh into?21:34
gasbag left21:34
davey left21:34
wereHamster v0n: daemon is git-daemon, gitweb is a web interface21:34
ankit9 joined21:34
Fernandos bremner: yes, but we've no rights to install gitosis or any other application21:34
Stravy joined21:34
Fernandos and git is not preinstalled21:34
bremner well, compiling git is easy. maybe sitaram can discuss if root is needed for installing gitolite21:35
tg joined21:35
wereHamster v0n: if you want people to be able to fetch the commits, enable daemon access. If you want to allow them to browse the repository through a web interface, enable gitweb access. Keep in mind that cloning/fetching through the web interface is not possible21:35
Fernandos I would setup a server with gitosis if we had one. But for the practical environment I'd like to setup, dropbox is a good to go.21:35
charon bremner: it's not... but sadly in some setups ssh pubkey login is not possible (at least at my university it's not)21:35
Fernandos and all in all the holy principle in the team is KISS - Keep It Simple Stupid.21:36
v0n wereHamster, thanks ;)21:36
wereHamster charon: is pubkey auth. disabled on your university's servers?21:36
bremner charon: your university stupider than mine even, thanks for cheering me up :)21:37
charon wereHamster: long story but basically they mount your slice of the NAS too late for sshd to (reliably; it might be mounted already) find your authorized_keys21:37
j416 Fernandos: your setup is very interesting21:37
Fernandos I found that setting up gitosis explaining ssh keys and such is just too much work to explain. And my experience is that user's don't accept hassle21:37
mbroeker left21:38
charon part of that brain damage comes from running a windows-oriented NAS. when they switched to that from AFS, it didn't work *at all* on *nix for a few months, then only intermittently for another half year or so21:38
loincloth left21:38
v0n wereHamster, I just have to touch gitolite-admin/git-daemon-export-ok then add/commit/push to enable git deamon ?21:38
wereHamster charon: that sucks. I thought home directories had to be mounted before you can do anything on a system..21:38
charon as you can probably guess by now, i'm very happy to have a personal laptop, and the ID (IT services) have a rather horrible reputation around here21:38
wereHamster: sure, before _you_ can do anything, but not before the LDAP PAM module can verify your login21:39
j416 Fernandos: seems a few people do use this kind of setup (bare repo on the dropbox)21:39
wereHamster v0n: did you read http://github.com/sitaramc/gitolite/blob/master/doc/2-admin.mkd ?21:40
j416 although I am worried about the possible conflicts when pushing, it seems it can be an easy way to share things21:40
Geralt joined21:40
j416 Fernandos: however, perhaps even better, how about you pull from their dropboxes?21:40
Fernandos Fissure: If you really want versioned automated conflict-managemant you need money. And a Commercial application that syncs as dropbox does but more intelligently in the manner you need. If you have the budget ok. Indeed you could also setup gitosis.. but then things wouldn't be so easy as with dropbox.21:40
godsflaw left21:40
Fernandos SugarSync in example.. I don't know if conflict management is automated but it's versioned.21:41
Fissure Fernandos: yes, you need money21:41
r0bby_r0bby21:41
Fissure but possibly only "get a burger at chili's" money21:42
tedoc2000 left21:42
Fissure not even "new hard drive" money21:42
Fernandos Fissure: one argument only. Student.21:42
godsflaw joined21:42
v0n wereHamster, yes, "for daemon, create the file git-daemon-export-ok in the repository"21:42
Fernandos "we were you and needed the money"21:42
Fissure is this for *research*, or a project for a class?21:43
bremner Fernandos: if you won't invest money, and you won't invest time, I guess that narrows your options quite a lot.21:43
wereHamster v0n: I mean the whole text (especially the sentence just before what you posted!21:44
bremner Fernandos: a foolproof, and pretty easy thing to do is mail patches21:44
Fernandos bremner: I never said I don't invest time. But time is something that I might have as project-leader but I want my team to code efficiently. nothing else21:44
Both, we have a 8crp project to do for our university.21:44
bremner: I've heard of that21:45
bremner email? yeah for old people, I know :)21:45
Fernandos hehe21:45
we use OpenGoo as WebOffice and yes you might be right j416 a private repo for everyone might be the solution. The shared repository could be used to merge only right?21:46
Fissure if you're the integrator, then shared repo == your repo21:47
Fernandos j416: I'm not sure how you would like to solve that with private repos in dropbox. Isn't at least one shared repo needed?21:47
j416 Fernandos: the shared repo would be writable by one person only, to prevent any conflicts21:47
Fernandos: every user shares a copy of their repo21:47
Fernandos Ah! I see21:48
j416 they may have that repo set up as a bare repo, or they may have their entire repo in the dropbox, but I suspect pushing to a bare repo in it would be faster21:48
(less network traffice)21:48
s/traffice/traffic/21:48
Bass10 joined21:48
j416 and as you have access to everyone's shared repos21:48
you can easily pull from them, and push to your shared repo21:48
(and everyone else would do the same)21:49
pull from your repo, do their changes, and push to theirs21:49
then you'd have to define who has the "main" repo that everyone has to keep up-to-date with21:49
Bass10 left21:49
Fernandos j416: But this is xtreme programming. Every person in the team works on a subproject or specific area whereas the others work on other areas. Thus resulting in more effciency, but probably less quality because the code reviews aren't so fast as they would be in 10men on one project.21:49
dtrott joined21:50
Bass10 joined21:50
j416 Fernandos: sure, even easier to merge then :)21:51
you must integrate everyone's work at some point, right?21:51
Fernandos j416: yes21:52
j416 the one who integrates everyone's work, is the one everyone should pull from every now and then21:52
Fernandos j416: they already do so. I've shared my repo21:52
j416 you want them to base their new work on top of the same shared code base, right21:52
ok )21:52
:)21:52
then what is the problem?21:52
dtrott I am working with maven but I donWhats the difference between these urls: git://github.com/dtrott/release-test.git and [email@hidden.address] ?21:53
... don't understart what ...21:53
j416 dtrott: one is ssh, the other is git21:53
use the ssh one for pushing, use git for sharing21:53
Fernandos j416: I've a local backup of it where I work. A clone. That was my initial question. I didn't know if that was right. But this discussion was very interesting and claryfiying :) Thank you all21:53
j416 (the latter is the ssh one)21:53
dtrott K thanks21:53
j416 dtrott: for the ssh one you need your login21:54
for the other one, anyone can access it21:54
Fernandos: indeed. thank you for reminding me of dropbox :)21:54
Fernandos j416: no problem :)21:54
dtrott Appologies for going off topic so the first on is the "connection" in maven terms and the second on is the "developerConnection"21:55
Fernandos j416: you couldn't do that easier without letting one computer online all the time, which is a waste of energy imho21:55
j416 dtrott: I don't know what maven is21:55
sorry21:55
dtrott K, np thanks for you help.21:55
j416 dtrott: the one with the @ in is your ssh url.21:55
use that for publishing your stuff.21:56
give the other one to people who wish to have a copy of your work.21:56
haider joined21:56
Adlai left21:56
Adlai joined21:57
j416 Fernandos: indeed, seems great21:57
if your project is not private though, check out github.21:57
ludde left21:57
Fernandos j416: we registered at github initially but then dismissed it the favor of dropbox21:58
patmaddox left21:58
j416 because of privacy issues?21:58
and.. keep in mind that even though dropbox may be more or less private, you never know when something will leak.. :)21:58
Stravy left21:58
r11t joined21:58
j416 be sure to encrypt sensitive stuff21:58
Stravy joined21:58
v0n wereHamster, oups, I have to install git deamon, then add touch a git-daemon-export-ok file21:58
Stravy left21:59
Sonderblade joined21:59
DavidKlein left22:00
Stravy joined22:01
wereHamster v0n: about 50% in your sentence is true22:02
I don't think sitaram's documentation is that hard to understand..22:02
thiago_home left22:02
Stravy left22:04
v0n wereHamster, the problem is that english is not my mother tongue, and I think I don't understand very well the meaning of this sentence "that is a one-time setup you must do separately. All this does is: for daemon, create the file git-daemon-export-ok in the repository"22:05
:s22:05
Stravy joined22:05
aresnick left22:05
wereHamster v0n: and just before that: Note that gitolite does not install or configure gitweb/daemon -- that is a one-time setup you must do separately. All this (=gitolite) does is:22:06
decto joined22:07
davido joined22:08
v0n so I just have to install git deamon >< thanks22:09
loincloth joined22:09
shtylman left22:10
shtylman joined22:11
shtylman left22:11
ojacobson left22:12
[1]intripoon joined22:12
shtylman joined22:13
fcuk112 left22:13
ankit9 left22:15
ankit9 joined22:15
ph^ left22:15
djszapi joined22:15
djszapi Hello!22:16
Can someone show me a good describtion to use postfix for git-send-email ?22:17
til left22:17
irc2samus joined22:18
loincloth left22:18
wereHamster djszapi: git-send-email isn't any different than any other mua22:19
tbf left22:19
djszapi not sure I understand this post.22:19
Stravy left22:19
j416 djszapi: if your postfix setup is working properly, git will be able to use it to send e-mail22:20
wereHamster there is nothing special in git-send-email that would warrant a special configuration in postfix22:20
if you are having trouble with postfix, #postfix would be a better place to ask questions22:21
Fernandos left22:22
DrNick joined22:23
Stravy joined22:23
Stravy left22:24
kumbayo left22:24
Stravy joined22:25
Stravy left22:25
flazz joined22:25
drry left22:26
Stravy joined22:26
aresnick joined22:26
Ryback_ left22:26
sergiodj left22:27
hyperair left22:27
tvw left22:29
intripoon left22:30
decto left22:31
bauruine left22:32
[1]intripoon left22:32
bauruine joined22:32
Stravy left22:34
decto joined22:34
godsflaw left22:35
Stravy joined22:36
v0n wereHamster, excuse me, I wrote deamon instead of daemon...22:38
hum, it still asks for git user's password... :s22:38
charon djszapi: note that git-send-email supports smtp (over tls/ssl too) so unless you already have a postfix setup running locally, you may just want to point it at your usual outgoing server instead.22:38
Keiya joined22:39
icwiener left22:40
Stravy left22:40
Stravy joined22:41
ixti left22:41
decto left22:41
Stravy left22:41
wereHamster v0n: you have to use a different url to clone via the daemon22:41
git@host:path/to/repo uses ssh and requires a password/key. The anonymous URLs have the for git://host/path/to/repo22:42
s/for/form/22:42
Stravy joined22:42
xanonus left22:42
Stravy left22:44
jelmer left22:44
djszapi charon: it works.22:44
I could figure out, but thanks.22:44
v0n wereHamster, with gitolite too ?22:44
djszapi left22:44
vbgunz left22:44
wereHamster v0n: yeah22:44
Hendu left22:45
Stravy joined22:46
bambule left22:50
v0n wereHamster, path/to/repo should be the full path ? i.e. /home/git/repo.git or juste repo22:50
wereHamster v0n: when using the ssh urls then no, and when using git-daeon it depends on how cyou configure the daemon22:50
jelmer joined22:51
v0n wereHamster, I just install git-daemon-run, add R = daemon to my repo, then push the config22:51
schmukkk joined22:52
wereHamster did you configure git daemon properly?22:52
Stravy left22:52
v0n wereHamster, I just said what I did ^^22:52
I didn't touch daemon config for the moment22:53
charon v0n: debian?22:53
v0n charon, yes, ubuntu. I run aptitude install git-daemon-run22:53
agenteo joined22:53
charon i manually had to point the daemon's repo directory to ~gitosis/repositories on debian. maybe try something similar22:54
wereHamster obviously, git daemon can't magically know that you use gitolite and where the repositories are... so you need to configure the daemon22:55
Stravy joined22:55
v0n wereHamster, ok22:56
charon, which file do you edit ?22:56
wereHamster I had to edit /etc/sv/git-daemon/run22:57
Sigma left22:57
ikrabbe left22:57
charon v0n: what he said. if you want to learn how to fish: stare at 'dpkg -L git-daemon-run' and guess22:58
jrmuizel left22:58
v0n charon, nice command :)22:59
aresnick left22:59
omerj left23:00
omerj joined23:00
botanicus left23:01
AAA_awright left23:02
AAA_awright joined23:02
loincloth joined23:03
aresnick joined23:04
v0n I don't really understand the [directory...] argument of git-daemon command23:05
in /etc/sv/git-daemon/run I change --base-path to /home/git/repositories, but don't know what to put as [directory...] argument23:07
wereHamster the same23:09
Sho_ left23:10
v0n I just have to restart git-daemon service then ?23:11
Sho_ joined23:11
onigiri joined23:12
v0n that's what I did and I still can't clone my repo23:12
tfarina left23:14
wereHamster what's the error?23:14
blakemizerany left23:14
cehteh whats the easiest way to check from a script if a file is versioned or not?23:14
tfarina joined23:15
wereHamster cehteh: git rev-parse :path/to/file 1>/dev/null 2>&1; $? == 0 -> versioned23:15
schmukkk left23:15
v0n wereHamster, test@desktop:~$ git clone git://redbox/compress.git23:16
Initialized empty Git repository in /home/test/compress/.git/23:16
fatal: The remote end hung up unexpectedly23:16
sis left23:16
wereHamster does the repository exist? What does the log on the server say?23:16
(log file is here: /var/log/git-daemon/current)23:17
Yuuhi left23:18
galderz left23:22
cehteh wereHamster: damnit i use rev-parse from lua's popen but it has no pclose to get the exit code :P23:22
psynaptic left23:24
cbreak you could execute a shell script that gives it to you :)23:27
wereHamster cehteh: git ls-tree HEAD | grep path/to/file23:28
or git ls-files to see if the file is in the index23:29
cehteh i just call it twice for now once with system to check if its versioned and once for the hash23:29
wereHamster cehteh: or, git rev-parse :path/to/file 2>/dev/null == path/to/file then the file is not versioned, otherwise you get the hash on stdout23:30
v0n wereHamster, '/home/git/repositories/compress.git': unable to chdir or not a git archive23:31
but /home/git/repositories/compress.git exists as well23:31
wereHamster v0n: does the daemon have rights to access that repository?23:32
cehteh wereHamster: yes seen that23:32
SRabbelier left23:32
Geralt left23:34
v0n wereHamster, sudo ls -l /home/git/repositories/drwx------ 7 git git 4096 2009-11-26 23:33 compress.git23:34
drwx------ 8 git git 4096 2009-11-26 23:33 gitolite-admin.git23:34
voker57__ left23:35
wereHamster daemon probably runs as root, so no access for him23:35
rudi_s left23:35
voker57__ joined23:35
v0n ps -aux | git-daemon23:36
loups23:36
wereHamster, yes, git-daemon runs as root23:37
cbreak that sounds insecure23:39
hipe joined23:39
v0n what should I do ?23:43
CarlFK1 joined23:45
mithro joined23:46
EugenMayer joined23:48
EugenMayer how to rebuild the index?23:48
wereHamster EugenMayer: do you have any changes in the working tree?23:49
spaceonline left23:49
EugenMayer now23:49
*no23:49
wereHamster git reset --hard HEAD23:49
EugenMayer iam running into probles with braid..23:50
you can't run bread on a clone from a bare-repo, but you can run in on a clone from a normal repo23:50
aresnick left23:51
wereHamster what's braid/bread?23:51
EugenMayer the only file different is the index23:51
http://github.com/dreamcat4/braid23:51
seanmccann joined23:51
wereHamster any errors from braid?23:52
EugenMayer yes, on the "bare one"23:52
http://paste.debian.net/5251523:53
ToxicFrog left23:53
wereHamster well, I'd dig into the braid source to see where exactly it fails23:53
v0n I change the exec line for : exec git-daemon --verbose --base-path=/home/git/repositories and now the error I get is : fatal: unable to connect a socket (Connection refused)23:53
ToxicFrog joined23:54
cehteh firewall?23:54
EugenMayer how to make a diff of to directories ( subdir )23:55
Stravy left23:55
v0n I should not put the hyphen : exec git daemon --verbose --base-path=/home/git/repositories23:55
wereHamster v0n: change the exec line to: 'exec chpst -u git git-daemon --whateve --arguments=you/want'23:56
v0n now it works ^^23:56
Guest282 left23:56
digilord joined23:56
seanmccann left23:56
digilord left23:57
v0n wereHamster, is " chpst -u git" important ?23:57
onigiri left23:57
ankit9_ joined23:57
digilord joined23:57
ankit9 left23:57
wereHamster how did you solve the problem that the daemon runs as root and thus can't access the repositories?23:57
m-takagi_m-takagi23:57
cortana` joined23:57
digilord Anyone have an issue where gitosis suddenly stops allowing access to repos?23:57
EugenMayer digilord: yes23:58
digilord: they work in the next try again23:58
digilord EugenMayer: How did you fix it?23:58
v0n wereHamster, runsv git-daemon and git-daemon are still running as root !23:58
EugenMayer digilord: I can't reproduce it. sitaram ping23:58
Lisimba left23:58
CarlFK left23:59
digilord EugenMayer: It's happened twice. I had to uninstall and re-install gitosis then it worked for ~1week23:59
EugenMayer well for me, it was just one pull23:59

Logs Search ←Prev date Next date→ Channels Documentation