IRCloggy #git 2009-10-18

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-10-18

Ilari nick0101: Then obtain clone of that repository on server.00:00
nick0101 sudo adduser \ --system \ --shell /bin/sh \ --gecos 'git version control' \ --group --disabled-password \ --home /home/git \ git00:00
I can do that00:00
rudi_s left00:00
j416 What variable to I have to set to be able to run git from outside the repo I want to work with?00:00
Ilari nick0101: 'git@localhost:gitosis-admin.git' or so...00:01
loops j416, export GIT_DIR=/path/to/git/.git00:01
j416 GIT_DIR="/my/work/dir/.git" ?00:01
great00:01
thanks :)00:01
nick0101 Ilari: thats right00:01
selckin joined00:02
Ilari nick0101: Now when you have clone, copy public key file from OS X machine to server (/tmp is good place to put it).00:02
nick0101 ok, just a sec00:03
done00:03
Ilari nick0101: You want the new key to get the same access rights as the key you have on server?00:04
ntoll left00:04
nick0101 Yeah00:04
Ilari nick0101: Open the admin keyfile in keydir/ of the clone. Copy the line from copied key to be second line of that file (leave the first line alone).00:05
nick0101: How username of each key is determined in gitosis: If key is in file called 'foo.pub', then the username is 'foo'.00:06
jtdowney joined00:06
Ilari nick0101: This appiles even if you have multiple keys in the same keyfile.00:06
ludde left00:07
Ilari nick0101: Sanity check: What does 'ls -l ~git/repositories/gitosis-admin.git/hooks/post-update' say?00:07
ph^_ left00:08
nick0101 '/media/mirror/git/repositories/gitosis-admin.git/hooks/post-update'00:08
sitaram try uppercase L00:08
thiago_home left00:08
sitaram ls -L00:08
or try ls -al /media/mirror/git/repositories/gitosis-admin.git/hooks/post-update00:08
ph^ left00:09
jrmuizel joined00:09
agib left00:09
nick0101 -rwxr-xr-x 1 git admin 69 2009-10-12 20:42 /media/mirror/git/repositories/gitosis-admin.git/hooks/post-update00:09
sitaram good00:09
nick0101 sorry, didn't grab the whole line00:09
glad thats good :(00:10
ThaDon left00:10
nick0101 :) *00:10
sitaram goodno we just wanted to see those "x" bits00:10
nick0101 alright00:10
Ilari nick0101: Now, add the modified keyfile, commit and push.00:10
qrush_ joined00:10
ThaDon joined00:11
hiffy joined00:11
hiffy hey dudes00:11
so I have a 'class notes' git repo, and I just started a 'assignment' repo and it ocurred to me that it would make sense to have it inside my 'class notes' repo00:11
WALoeIII joined00:12
hiffy is there some painless way to merge/fold one into the other?00:12
Ilari hiffy: Make it submodule?00:12
nick0101 Alright, commited00:12
hiffy adding it as a remote and merge does not seem right00:12
Ilari: a submodule you say00:12
Ilari nick0101: Then push. After pushing try 'ssh git@<server>' from OS X box. It should complain something about SSH_ORIGINAL_COMMAND.00:13
nick0101 correct00:13
Mezner joined00:13
j416 hiffy: I would keep it separate, it would just be all tangled if you keep it together if class notes is not dependent of your assignment. But that's me..00:14
dsch04 joined00:14
Ilari nick0101: Now you should be able to clone the gitosis-admin repo on OS X box.00:14
DavidKlein left00:14
ilteris_ joined00:14
nick0101 awesome, that worked00:14
hiffy j416: I just wanted to have a "school" repo I have up on github00:15
so I don't have to create a new project for every assignment00:15
nick0101 thanks a lot for the help! I really didn't want to use svn again00:15
j416 hm i see00:15
hiffy j416: it is minor and maybe petty, but I'm curious if it's possible - thinking of it as a hierarchy of folders and all00:16
j416 yeah00:16
Ilari nick0101: The case for adding new user that should be treated as its own: Add file called 'foo.pub' to keydir containing the public key(s) (one per line). Then open gitosis.conf and authorize user 'foo' to perform the wanted actions.00:16
j416 i see what you want to achieve00:16
hiffy it kind of makes sense to have all my 'school related' stuff in one place :)00:16
rodyaj left00:16
dreiss left00:17
nick0101 Ilari: Alright, I think I should be able to handle it, now that you've directed me to put the keys in the right place :)00:17
j416 yeah..00:19
_jason553839 joined00:19
j416 it would be neat if you could create repo groups in github00:19
that would simply correspond to a folder00:19
priidu left00:20
loops hiffy, why not just add it as a remote into your school repo and push it up to github as a separate branch, no need to merge00:20
hiffy but it has virtually nothing in common00:21
here a link to illustrate might make more sense00:21
loops doesn't matter... branches aren't required to have anything in common00:21
j416 hiffy: you could make a new branch from scratch00:21
from zero00:21
hiffy http://github.com/phillmv/notes/tree/master/fall2009/ suppose I want to slot in my assignment branch under a new folder that reads 'cps633'00:22
loops hiffy, i'm not saying it makes sense, i'm just saying you can dump everything into a single repo if that's _what you want_00:22
hiffy loops: hah, fair enough00:22
loops hiffy, you've already started a separate repo for it, if you fetch that into your school repo, it will be a completely separate independent branch.. no merge needed00:23
j416 hiffy: you're indenting your notes like source code lol00:23
hiffy j416: it makes a lot of sense in *my* mind00:24
j416 yeah, it does to me too00:24
very tidy :)00:24
jmatthews joined00:24
hiffy :D I was actually thinking of writing some form of syntax highlighter00:24
j416 just, I never thought of that way before00:24
... :P00:24
hiffy for the branching and maybe some symbols for stuff for me to lookover later, so ## makes it RED AND BOLD00:24
nick0101 left00:25
hiffy but... this is my last semester so not a lot of ROI00:25
j416 I wish I had git in 200300:25
hiffy if I'm going to be typing it into vim and readin00:25
j416 (when i started univ) :P00:25
hiffy ya00:25
qhoxie_ joined00:25
hiffy so much less overhead oer svn00:25
j416 svn didn't make sense to me00:26
hiffy i would have copies of *all* of my assignments if I had git back from day one00:26
j416 yeah00:26
neat00:26
iron joined00:26
fridim_ left00:26
j416 hiffy: you could make one repo per class00:27
martianlobster joined00:27
j416 then you have notes for that class in a 'notes' branch, and assignments in separate branches00:27
kpreid_ left00:27
martianlobster is there a "git cp" command like in svn, "svn cp"?00:27
hiffy j416: Hm. True; that way I don't have such a clobbered history in case i actually need to revert it00:28
j416 that's probably what I would do if I didn't keep it in separate repos00:28
hiffy for history class who cares not gonna need to revert commits00:28
j416 hiffy: I think your notes there on github are covering two classes, right?00:28
I'd make those two repos if there are assignments aswell00:28
loops martianlobster, no.00:28
hiffy but for actual code it would be a pain in the ass if i needed to revert and in the process undid abunch of other notes00:28
martianlobster loop thanks00:28
loops martianlobster, just cp a b; git add b00:29
hiffy I think submodule is prolly the way to go00:29
martianlobster loops ok makes sense00:29
j416 I would probably prefix the repo names with university name or some other tag that makes them show together in a sorted list00:29
qhoxie left00:29
qhoxie_qhoxie00:29
segher left00:29
j416 hiffy: yes00:29
hiffy j416: Yeah... just feels lame to have a 'history essay' repo tho; it's acceptable for my 'implementation of tiny encryption algorithm'00:29
j416 so separate branch for project stuff :)00:29
hiffy: well, it's an essay right00:29
Ilari tiny encryption algorithm? Sounds weak. :-)00:30
j416 Ilari: lol00:30
hiffy Ilari: hehe00:30
j416 so that's an assignment in one branch "essay" and notes in your branch "notes"00:30
kpreid_ joined00:30
loops now with two-bit keys!00:30
hiffy and rebase whenever it's done00:30
j416 then you can write your essay and don't worry about deleting text you think you don't need :)00:30
hiffy loops, Ilari ACTUALLY it's about as strong as DES iirc :B00:30
j416 I've been using git for writing stuff, it's great.00:31
'writing-stuff' that is00:31
Ilari hiffy: I.e. Key is too short and likely the algorithm is bad.00:31
hiffy Ilari: I got the joke ;). It's just an actual real algo I didn't pull out of my ass http://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm00:32
128bit keys00:32
tho a theoretical attack brings it down to 117 bits or something00:32
loops j416, i've been looking for words and sentences in commit sha1's. waiting for divine revelation00:32
Tank`stsch00:33
Ilari DES is 56 bits... 3DES is 112 (both two- and three-key variants).00:34
jrmuizel left00:35
kpreid_ left00:36
krawek left00:36
hiffy Ilari: actually the double DES has a theoretical attack of about 57 or 58 bits if you get to choose enough plaintexts00:36
j416 loops: o_O00:36
hiffy coughs00:36
j416 :D00:36
justin-george left00:37
hiffy I like the idea of all these security researches storing 2^57 strings of 56 bits00:37
*researchers00:37
Ilari hiffy: I think one needs only few plaintexts for meet-in-the-middle attack against double DES. That's why triple DES is used (there the same attack brings it down to 112 bits).00:38
loops left00:39
loops joined00:39
_jason553839 left00:40
loops left00:40
pheaver left00:41
pheaver joined00:41
SRabbelier what's wrong with my vim configuration again if hitting up-arrow in insert mode adds an 'A' instead of going up?00:43
__iron left00:43
Yuuhi left00:43
DIDAVISION joined00:44
j416 SRabbelier: the #vim guys should know. :)00:44
FFighter joined00:49
j416 I wonder how many people use git locally and never do remote stuff because they have some kind of OCD00:53
Mikachu SRabbelier: probably wrong $TERM set00:53
SRabbelier Mikachu: partially solved by 'touch ~/.vimrc', but now ctrl+w isn't working, or backspace00:54
defectiv joined00:55
SRabbelier Mikachu: apparently I need to read ":he 'bs"00:55
fr left00:56
fr joined00:56
kpreid_ joined00:56
Mikachu as for why it inserts an A, the up arrow literally sends esc [ A to the program00:57
kardan_ joined00:58
D joined00:58
DGuest9046400:59
SRabbelier Mikachu: ah, interesting; learn something new every day01:00
Adlai`` joined01:00
sitaram (is also why sometimes when you hit Escape to get out of insert mode it takes a fraction of a second; the terminal emulkator is waiting for any other characters which would indicate an F-key eing pressed)01:01
^Einstein can git accept vanilla subversion commits and/or branch manipulation, or does it only work the other way around?01:01
sitaram being*01:01
SRabbelier sitaram: ah, cool01:02
^Einstein: what do you mean?01:02
jtaby joined01:05
mbroeker left01:05
_jason553839 joined01:06
^Einstein SRabbelier: git-svn enables using git with subversion upstream repos, but is there a way a novice user can use svn to talk to a git repo with the git-svn plugin?01:07
SRabbelier ^Einstein: no01:10
^Einstein: that would be something you'd have to ask the svn people to create01:10
loops joined01:10
^Einstein SRabbelier: I didn't know if git-svn had an API that recognized when it was an svn client rather than a git client that was connecting, and behave appropriately.01:11
mjf left01:11
SRabbelier ^Einstein: no, git-svn is a part of git, it is not a server01:11
riverrat66 left01:11
DIDAVISION left01:11
^Einstein git is both a client and a server, but subversion is not.01:11
SRabbelier ^Einstein: git is not a server01:12
^Einstein Just curious, that's all.01:12
SRabbelier ^Einstein: git _has_ a server, called 'git deamon', but the 'git' command is not a server01:12
^Einstein SRabbelier: with git there is less of a client-server model, because all clients are servers. Am I incorrect in that description?01:12
SRabbelier ^Einstein: that is incorrect01:12
redondos left01:12
SRabbelier ^Einstein: clients are not servers01:12
rotty left01:12
rotty joined01:12
bdimcheff joined01:12
loops Git is considered peer to peer, but practically speaking there are git clients and git servers01:13
redondos joined01:14
warthog9 left01:15
kardan| left01:15
j416 pear-to-pear01:17
SRabbelier j416: I prefer apple-to-apple01:17
j416 me too01:17
Adlai` left01:20
dwmw2_gone left01:22
VVSiz_ joined01:23
vvsh left01:27
_jason553839 left01:27
Determinist left01:27
iron left01:31
martianlobster left01:31
Davey joined01:33
JasonWoof joined01:35
orafu left01:35
MisterN left01:35
orafu joined01:35
lightcap_ left01:36
defectiv left01:37
Davey left01:37
Dashkal joined01:38
Davey joined01:40
qrush_ left01:41
VVSiz left01:42
warthog9 joined01:43
pheaver_ joined01:47
pheaver_ left01:48
pheaver_ joined01:48
pheaver left01:48
Hiron joined01:48
pheaver_pheaver01:48
jtaby left01:48
kpreid_ left01:49
kpreid__ joined01:49
onigiri joined01:50
yaotti joined01:51
jtdowney left01:55
Hiron left01:58
Adlai``` joined02:02
djszapi Hello!02:02
How can I view the differences betweem two branches ?02:02
for the same named file.02:02
jrmuizel joined02:04
loops djszapi, git diff branch1:filename branch2:filename02:05
djszapi, or git checkout branch1 ; git diff branch2 -- filename02:06
jrmuizel left02:06
_jason553839 joined02:06
chuck how do I remove a folder from version control without actually removing the files02:11
loops chuck, git rm --cache <dir>02:12
chuck loops: thanks02:14
dreiss joined02:14
sitaram usually followed by adding it to .gitignore02:14
Ilari 'git diff branch1 branch2 -- filename'02:15
chuck sitaram: yes02:15
removing the build directory from my iphone app's repo02:15
loops djszapi, ^^ Ilari02:16
tazle_ left02:17
tetha left02:17
tetha joined02:18
WALoeIII left02:21
pheaver_ joined02:22
Adlai`` left02:22
eno joined02:24
_jason553839 left02:25
cytrinox_ joined02:25
JKac3BEq joined02:26
JakeSays left02:28
JakeSays joined02:32
onigiri left02:35
eno__ left02:35
cytrinox left02:37
cytrinox_cytrinox02:37
pheaver left02:39
pheaver_pheaver02:39
Buey left02:39
coolcat joined02:42
kpreid__ left02:42
kpreid_ joined02:44
WALoeIII joined02:51
Guest90464 left02:52
tjaway joined02:52
kpreid_ left02:55
godsflaw joined02:56
godsflaw_ joined03:05
tjafk left03:08
kpreid_ joined03:08
tjaway left03:09
tjaway joined03:09
Chillance left03:09
ryoma joined03:10
Crewe left03:11
LiamH left03:11
godsflaw left03:13
dngor Is there a technical doc on git-svn fetch?03:15
SRabbelier dngor: technical doc?03:15
aresnick joined03:16
dngor I want to know how it works, and why it does something in particular.03:16
If in svn I tag a directory rather than the whole trunk, git svn fetch creates two tags: svn/tags/tagname@rev and svn/tags/tagname03:17
kukks left03:17
dngor The next svn commit's parent is the svn/tags/tagname@rev, so the svn/tags/tagname becomes a little dead-end branch.03:17
coolcat left03:18
dngor They look like this: http://poe.dyndns.org/~troc/tmp/poe-svn2git/dead-end-branchlets.png03:21
loops dngor, if you dont get an answer here try on mailing list03:22
dngor Thanks. I'm also hitting th' web, 'cause it knows all.03:22
Mezner left03:23
FFighter left03:26
hyperair joined03:31
dunolie left03:33
kpreid_ left03:35
kpreid_ joined03:35
davido joined03:40
dunolie joined03:42
jaysern joined03:43
Mezner joined03:49
scarabx joined03:50
hyperair left03:53
Mezner left03:54
lenix^ joined03:55
Crewe joined03:56
Dashkal left03:58
Crewe left03:59
Sho_ left04:07
Adlai```Adlai04:14
jaysern i'm trying to pull from my git repo, and i'm getting a merge error04:15
jrmuizel joined04:16
jaysern error: Entry 'settings.py' not uptodate. Cannot merge.04:16
fatal: merging of trees 94627dd66106d09aa59d340e3398596472c2c276 and c47d12800a1ea92e6e10d91f655b1e185ec7818f failed04:16
Merge with strategy recursive failed.04:16
does that mean i need to resolve the conflicts by hand ?04:16
sitaram jaysern: most people avoid merging, pulling, etc on a dirty tree04:16
jrmuizel left04:17
jaysern what is a dirty tree ?04:17
sitaram no conflict to resolve; the merge didnt happen -- commit your stuff first then pull04:17
jrmuizel joined04:17
sitaram dirty tree is where you have unstaged/uncommitted changes to tracked files04:17
edenc w 3104:17
loops you sank my battleship04:18
sitaram 31? thats a big grid (or I forgot how that game goes in detail!)04:18
loops heh.. details details04:18
jaysern on my local dev box, i try to do a commit -a04:18
nothing added to commit but untracked files present (use "git add" to track)04:18
and then when i try to push, it says everything up-to-date04:18
so on my web server, i try to do a pull, but it tells me of the merge error04:19
sitaram jaysern: ok, this means that you have a local untracked file, caled settings.py, which the other guy has started tracking between your last pull and the current remote. Bringing it in would overwrite your local changes.04:19
jaysern: 'git stash' is another way to deal with it, if you're not sure you want to commit your local stuff first04:19
jaysern ahh04:20
i was tinkering with that file on the web server04:20
what if i do want that file over written ?04:20
loops jaysern, just delete it and pull04:21
sitaram jaysern: just rm the file then (make sure it is shown in 'git status' as untracked)04:21
Tichodroma left04:27
kpreid_ left04:29
kpreid__ joined04:29
SRabbelier1 joined04:31
SRabbelier left04:31
Akufen left04:31
jaysern sweet! thanks guys04:32
jrmuizel left04:35
j416 left04:35
ryoma left04:38
sh1mmer left04:39
sh1mmer joined04:43
djszapi git diff master s_cube/maint -- Makefile.am04:45
warning: refname 's_cube/maint' is ambiguous.04:45
@Ilari, loops. It can't work ^^^04:45
doener djszapi: probably you have refs/heads/s_cube/maint and refs/remotes/s_cube/maint04:45
djszapi: try "git for-each-ref | grep s_cube/maint" to check04:45
djszapi git for-each-ref | grep s_cube/maint04:46
7253e66996a192df8b4843f9481316a9507d59da commit refs/heads/s_cube/maint04:46
142166438c373842bc9d3cd921ce13db0e980fe8 commit refs/remotes/s_cube/maint04:46
doener djszapi: see? :-)04:46
djszapi yes, thanks doener04:46
doener djszapi: you can disambiguate by adding heads/ or remotes/04:46
djszapi okok04:46
I understood04:46
git diff master refs/remotes/s_cube/maint -- Makefile.am04:48
djszapi ~/Munka/ArchLinux-devel/Projects/aurman $04:48
Do I need for similar method in case of master too ?04:48
jrmuizel joined04:49
doener djszapi: no, that succeeded without ambiguity. Makefile.am just doesn't differ between these two04:49
jrmuizel left04:49
djszapi it differs.04:49
loops i'm sure this has been discussed on the list and rejected, but it seems to me heads/ should be assumed to disambiguate and user can supply remotes/ to override it04:50
djszapi http://pastie.org/65923604:50
doener loops: heads/ is already assumed. That's why he got a warning, not an error04:51
djszapi: that shows that you have uncommitted changes to Makefile.am, not that Makefile.am differs between any two branch heads04:51
jrmuizel joined04:51
loops doener, ah right you are. I don't think it's warning worthy either.. .warning is too scary04:51
doener loops: hm, and if you actually meant remotes/whatever? Without the warning, you'd not even know that it picked the "wrong" one04:52
djszapi doener what can I do now without committing anything, to make a backup from a branch on my computer and vimdiff with it the other branch ?04:52
loops doener, if you don't know the difference, how could you ever "mean" remotes/...04:52
doener loops: hm? I'd not assume that the user is at all times aware that he has heads/foo and remotes/foo04:53
loops oh crikey... indeed..04:53
loops crawling back under rock04:53
doener loops: he might very well know the difference, but might not be aware that he has two refs that have ambiguous shortnames04:54
djszapi: difftool can drive vimdiff04:54
djszapi it's not the question04:54
I've set it04:54
the question is how can I view the difference between two branches without commiting them ?04:55
doener djszapi: hu? Branches consist entirely of committed stuff. And "git diff <branch_head_A> <branch_head_B>" will happily produce a diff between these two branch heads04:56
djszapi: and difftool will do so using the configured diff tool04:56
djszapi: but Makefile.am simply doesn't differ between the two refs you gave to "git diff"04:56
djszapi: your paste just showed that it differs between "master" and your working tree04:57
djszapi: you can pass just a single ref to "git diff" to diff that against the working tree, if that's what you want04:57
djszapi yes, how ?04:58
doener as I said, "git diff <single_committish>"04:58
e.g. "git diff master" or "git diff remotes/s_cube/maint" or "git diff HEAD~5^2~3"04:58
djszapi ??04:58
What ?04:58
Doener..04:59
I've got a file in master without being in stage, and the same situation in another branch, so without staging there too, but I'd like to view the diff between them.04:59
doener djszapi: you only have a single worktree/index. Your uncommitted changes are in there. They're not part of any branch05:00
tpope git diff branch1 branch2 -- file05:00
djszapi The comparable file are in separate branch without any staging.05:00
tpope: pls. read back...05:00
doener: I really can't understand05:00
Is there only one index for Makefile.am e.g. ?05:01
even more branch exists with modification for that file ?05:01
SRabbelier1 djszapi: no05:01
doener djszapi: there's only one index, it's neither per branch nor per file05:01
SRabbelier1 djszapi: there can be only 'uncomitted' version of a modified file05:01
dreiss left05:01
SRabbelier1SRabbelier05:01
doener djszapi: if you modify "foo" without committing, and then switch to another branch head, those changes are kept in your work tree and/or index05:02
schmukkk left05:03
doener djszapi: http://git.pastebin.com/m4bbecbc705:03
djszapi: the "M test" line tells that I had uncommitted changes that were carried along05:04
lenix^ left05:16
lenix^ joined05:17
aresnick left05:18
kpreid__ left05:21
kpreid_ joined05:22
machrider joined05:23
Bass10 left05:25
machrider are there any git commands that operate on a repository via URL, rather than fetching something locally?05:27
i want to do some simply queries, like get the latest commit sha and message05:27
simple*05:28
doener machrider: just fetch, push and ls-remote IIRC. Things like log, diff, blame, etc. require things to be present locally05:28
loops machrider, you can do git ls-remote <url> to get current sha1s and branch names05:30
machrider yeah, it's almost what i want :)05:30
lightcap_ joined05:31
loops machrider, well for more you have to follow doeners advice :o_05:31
:o)05:31
doener not much more you can do, except for fetching things, but then we break a pre-condition ;-)05:31
machrider fetch isn't the end of the world, but it's heavy.05:32
but yeah.05:32
loops machrider, ah, you're looking for the message as well. you might be able to scrape it, if the site provides gitweb access05:32
doener or if you got ssh access: ssh $host 'git --git-dir=/path/to/.git branch -v'05:33
cjs_ joined05:35
machrider thanks guys.05:35
cjs_ So it's possible to have a checkout that uses the repo files (i.e., the .git directory) from another checkout, right? Do I have my terminology correct?05:36
jaysern left05:36
machrider cjs_: s/checkout/working copy, regargind terminology05:37
regarding. jeez. can't type.05:37
loops cjs_, it's possible to have multiple working trees without needing complete copies of the repo .git in each05:37
jrmuizel left05:37
doener cjs_: It's a rather uncommon setup, not sure if there's an "official" term, but the script that does the setup uses "workdir" for the combination of working tree + index + HEAD (+ maybe other things I forgot)05:37
cjs_: a more common thing is to have a repo that uses the "alternates" mechanism05:38
jaysern joined05:38
machrider cjs_: the git-new-workdir script works well for me.. it's in contrib/05:38
loops cjs_, the script doener mentioned is in the contrib directory in the official git.git repo05:38
cjs_ Ah, ok; "repo" and "working copy" are the terms I'm looking for, I guess. And it's also possible to have a repo without a working copy, of course. So it should be possible to have a repo without a working copy, and a working copy in a separate directory based on that repo, right?05:38
loops repo without working tree = bare repository05:38
cjs_ "alternates" mechanism?05:39
doener cjs_: with that setup, you have a full repo (i.e. independent refs), but an "alternate" that instructs git to look into other repos to find objets05:39
s/objets/objects/05:39
g3d joined05:39
doener cjs_: both setups have drawbacks. With a second workdir, you get into problems with more than one workdir has the same branch head checked out at the same time05:39
cjs_ doener: Ah, thanks. That's not quite what I'm looking for. I'm actually kind of wanting to use (abuse?) git as a sort of backup solution.05:40
lightcap_ left05:40
doener cjs_: sounds like you just want .git to not live at .git but at /random/path?05:40
cjs_ doener: Mmm, I can imagine. Though things out to be ok if you're never making modifications in more than one workdir at once, right? I.e., modify, commit, and then a git co in another workdir should just get that update. Or does that not work?05:40
Sorry, reset, I meant.05:41
doener reset --hard even (or checkout -f)05:41
jaysern left05:41
doener both drop uncommitted changes05:41
loops cjs_, you might want to checkout http://eigenclass.org/hiki/gibak-backup-system-introduction there are 3 backup on top of git solutions mentioned there05:41
cjs_ loops: Ooo, thanks!05:41
And OCaml tools are a bonus, though not as much as Haskell tools would be. :-)05:42
p_masho left05:43
cjs_ So, I guess my questions would be, is it possible to have a working copy of only part of a repo (e.g., everything under /foo, but not anything under /bar, though /bar is in the repo), and is there some clever way to use a bare repo from across a network, without having a local copy.05:43
p_masho joined05:44
g3d left05:44
Davey left05:44
cjs_ If you're curious about the application, I'm wanting to drop my entire e-book library into git, so that I can easily use it across multiple machines. However, though the interesting chunk is only a few dozen MB (at the moment), there happens to be an 11 GB gutenberg subdir that is not going to come anywhere near fitting on my laptop.05:45
doener cjs_: sub-checkout: not without trickery, and only read-only. Remote bare git-repo: Only if you can mount it (e.g. fuse sshfs)05:46
cjs_: what you could do, is creating multiple repos (one for foo/, one for bar/) and another "super-repo".05:47
cjs_: that super-repo could either have the other repos as submodules, or merge them using the subtree merge strategy05:47
cjs_ Right, I was thinking of sshfs for that. As for read-only sub-checkout, hm, well, that doesn't give me anything over just running rsync.05:47
jtdowney joined05:47
doener cjs_: subtree merge: http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html05:47
wagle left05:47
cjs_ Hm. I thought about splitting the repos, but I start doing that with all of my stuff and I'm going to have a repo explosion.05:48
lightcap_ joined05:49
jaysern joined05:49
cjs_ So, I guess I could handle that to a great degree with submodules, though.05:50
jaysern left05:51
cjs_ Hm. Well, it sounds as if what I probably want is just to keep standard (non-bare) repos on a host with gobs of storage space, and then just write a couple of simple rsync scripts to "pull" and "push" the appropriate subsets of those working copies to and from my laptop.05:53
sitaram cjs_: sorry; just came back. e-book == binary format file of some sort (like pdf)? why version control at all... (just curious...)05:55
in other words, if you can't reasonably branch, merge, etc., all you need is a backup solution, not a VCS, no?05:56
cjs_ Because I have multiple (usually 3 or 4, at least) copies of my ebook library, and when I deal with that with rsync, adds can get lost fairly easily.05:56
I keep a partial copy on my laptop, a full copy on my home machine, another on my work machine, and I really should have a backup copy somewhere on a different continent, too.05:57
sitaram cjs_: multiple copies on multiple computers or multiple versions of the files even?05:57
panfist left05:58
jaysern joined05:58
qrushqrush|away05:58
sitaram cjs_: I'd use unison to sync them up. One "unison profile" for each pair of locations. Use unison's builtin "ignore" facility to get only what you want. etc05:58
luke-jr cjs_: uh, omit --delete from rsync05:59
cjs_ luke-jr: Yeah, but then I move a file, and I end up with multiple copies of it in other repos, which I then have to sort out manually.05:59
sitaram far be it from me to advocate something *other than git* on #git, but you're not using all the real power of git anyway in an situation like this05:59
JED3 joined05:59
sitaram aah -- moves unison doesn't handle well; even renames... if you do that very often you may waste a lot of bandwidth06:00
jtaby joined06:00
cjs_ sitaram: I've looked at Unison, but because each arc in the graph has to be explicitly configured, it's not so convenient as git's automatic full mesh.06:00
jtaby left06:00
cjs_ Basically, with git I can transfer between any repo, any time, with no extra configuration.06:01
sitaram cjs_: git has an automaic full mesh? I thought you have to still set up each remote yourself?06:01
cjs_ Nope. Just give it a repo URL and push or pull away.06:01
loops a remote is just a shortcut06:02
So it's not required06:02
sitaram cjs_: yeah I see what you mean; it's a lot more cumbersome with unison -- at least a profile file with 2 URLs in it, one being the local directory and the other being the remote one06:02
especially ifyou can type URLs fast enough, it doesn't even save you any time to say "unison lap-home" or "unison lap-work"06:03
cjs_ Right. And then, git's automatic compression can be helpful for things like archives of log files, I'm thinking.06:03
jaysern left06:04
sitaram you've got log files in an e-book library? ok then I retract what I started this with06:04
cjs_ No, no. Different thing.06:04
dngor I can fix my dead-end branchlets with grafts.06:04
luke-jr cjs_: you might look into extending my gitbackup script06:04
cjs_ But the same sort of problem: I have the master copy of my log files on the web server, but I need to back those up, I need to copy them to other machines for analysis, etc. etc.06:04
luke-jr: where would I find it?06:05
luke-jr cjs_: Gitorious06:05
cjs_ Ah.06:05
luke-jr for the log thing though, I'd probably use tail -F :p06:05
gitbackups assumes that on average things don't change more than once every few minutes06:06
cjs_ luke-jr: I'm not clear on how that would work. Let me describe my situation. I have three web servers, say, one primary and two backup ones, all in an identical configuration. The primary vanishes for whatever reason, I just switch the DNS to a backup. Each generates perhaps a few GB/year of log files. (Well, some backups may generate almost nothing.) I need to merge these, back up the merged version, etc.06:08
I do this all with manual renaming, compression, and copying at the moment. But there's got to be a better way.06:08
bsdvodsky joined06:08
sitaram cjs_: merging in this sense is not the same as git's merging, I take it?06:09
cjs_ Again, the partial working copy thing, if we had it, would seem as if it could be helpful.06:09
luke-jr sitaram: sounds like it is06:09
though he'd need a custom merging algorithm06:09
cjs_ sitaram: No, not really.06:09
luke-jr cjs_: either way, you're doing it semi-wrong :p06:10
sounds like you should be using DNS round-robin06:10
cjs_ I'm happy with, e.g., server1-current.log, server2-current.log, server1-2008-07.log, etc.06:10
sitaram cjs_: I'd just cat all the log files; each access *happened*, that's it; assuming timestamps are correct, maybe sort by time to get a combined access log06:10
luke-jr cjs_: oh, that will work easier06:10
sitaram aah so merge only at the directory level not file level06:10
cjs_ luke: I could, if I wanted to distribute the load as well. But round-robin is not what you want when you're trying to deal with server failures, because if a server vanishes, you still have to remove it from the DNS.06:11
luke-jr cjs_: no, round-robin is also failover06:11
if one IP is inaccessible, browsers automatically try the next06:11
cjs_ luke-jr: They do?06:11
luke-jr provided they're in the same IP namespace anyhow06:11
if all your IPv6 servers are down, it won't try IPv4 addresses06:12
cjs_ Last I checked, browsers cached only a single address after a lookup, and continued to use that until it expired.06:12
luke-jr cjs_: if they did, they'd be broken :)06:12
I've never had problems with it06:12
and I intentially make servers in a round robin down once in a while06:13
intentionally*06:13
of course, that round robin is used by a game, not browsers much06:13
cjs_ Hm. I'll have to have a look again. But the semantics of getting back 3 A records, in the DNS point of view, is not "use these until you find one that works," but pick any one of these and use it.06:13
luke-jr cjs_: and if it fails, try another06:13
that's why they get 3 records06:13
if it was merely random, the server would only send one06:13
cjs_ luke-jr: That's an application level semantic.06:14
luke-jr cjs_: the standards say applications must do that, IIRC06:14
cjs_ Do they? I don't recall that....06:14
luke-jr actually, it's not even really application level06:14
cjs_ Hm. I'll have to look into that again....06:14
luke-jr the standard socket layer returns things in a way that applications really NEED to do that or they won't work06:14
kpreid_ left06:15
luke-jr assuming they're not using ancient gethostbyname or such06:15
kpreid_ joined06:15
cjs_ So, luke-jr, basically your positing that most application will call getaddrinfo, and work through that list until they find something to which they can connect successfully.06:16
luke-jr cjs_: anyhow, on your central backup box, ssh server1 tail -n 10000000 -F /var/log/foo.log > server1_foo.log06:16
cjs_: if they don't, they will break in fairly normal circumstances06:16
getaddrinfo will likely return the IPv6 address first, which many hosts are too stupid to connect to06:17
cjs_ luke-jr: I run my backups the other way; servers push their backups to the backup server.06:17
luke-jr if they don't try the next one, they won't work with IPv406:17
tail -n 10000000 -F /var/log/foo.log | ssh backup 'cat > server1_foo.log'06:17
cjs_ Though, hmm, I suppose I could have a secure backup pull by making the files to back up available via rsync.06:18
luke-jr real-time log backups save you from script kiddies covering their tracks, too06:18
could always aim for remote logging instead, as well06:19
why make local log files when you can just configure Apache to log it remotely directly? :p06:19
bed time for me, night!06:20
jaysern joined06:20
Sigma joined06:25
yhager left06:28
savant joined06:32
savant left06:32
jtdowney left06:34
mbroeker joined06:38
rtyler hiyo folks; I see that through fast-export stuff you can export an hg repository06:39
is it possible to keep a git repo in sync with hg?06:39
abadr joined06:40
abadr What if I want a branch to become master and want to drop any changes made to master since the branching?06:40
Fragsworth left06:41
loops abadr, one way is.. git checkout master ; git reset --hard branch ; but it will throw away any uncommitted changes06:42
abadr uncommitted changes in master?06:43
oh nm06:43
loops rtyler, check out hg-to-git in the contrib directory of the git.git repo, you can do incremental imports from an hg repo similar to git-svn06:43
abadr, in your working tree06:43
TriggerB left06:44
rtyler loops: you mean the github project?06:44
loops rtyler, no the official Git repository. Some distributions package hg-to-git up in an rpm or whatever as well06:45
abadr loops: I guess that worked, but I'm confused about what happened06:45
where is the commit that got rid of all the recent stuff in the master branch?06:45
loops rtyler, git://git.kernel.org/pub/scm/git/git.git06:46
jrmuizel joined06:47
loops abadr, there was no commit made. The reset just made "master" point to the same series of commits that "branch" points to06:47
rtyler is cloning now06:47
abadr interesting06:48
loops abadr, this was the wrong way to go if you're working on a public/shared repo06:48
abadr, i should have asked first06:48
abadr I'm not06:48
it's private06:48
I guess I can delete the branch now. Are those post-branching commits to master anywhere now? I don't need them, just curious.06:48
loops abadr, yes you can delete the branch now. the commits that use to be referenced by master are now available in the reflog "git reflog master"06:49
voker57 they are dangling, i think06:49
loops abadr, the reflog expires over time. Once they are no longer referenced anywhere, including the reflog, they are considered dangling and will be garbage collected06:50
oops.. git reflog show master06:50
Ozzy joined06:51
Ozzy left06:51
abadr interesting06:52
scarabx left06:53
abadr is there a way to do the same thing that creates a commit instead?06:53
rtyler loops: any decent guides on how to use this sucker?06:53
loops rtyler, unfortunately none that i know of.06:55
bdimcheff left06:55
loops abadr, not sure what you're shooting for there06:55
abadr well, this may not have been the right thing to do. it's not "public" in that other people use it, but I do sync to and from a remote from multiple places06:57
not sure how to do that now06:57
rtyler loops: well drats06:57
loops abadr, yeah.. it's not recommended to do what we did on repos you're sharing.. even if it's only with yourself ;o)06:59
abadr loops: now what? :)06:59
loops abadr, PANIC!06:59
abadr runs around screaming.06:59
loops abadr, 1 sec.. real life is intruding here07:00
pheaver left07:00
dngor Is there a git command to find the child(ren) of an object?07:00
justin-george joined07:01
thiago_home joined07:03
loops abadr, okay.. sit down..07:06
abadr lying down, in fact07:06
loops dngor, no. Git only has parent pointers07:06
dngor, of course it could be written by searching07:07
drizzd joined07:07
kpreid__ joined07:08
kpreid_ left07:08
priidu joined07:08
jrmuizel left07:08
c15c8ra1n joined07:08
loops abadr, you could treat this like you're operating in a shared/public repo situation07:09
abadr, that is you would never rewind master like we did with that reset07:10
abadr I'm listening07:10
loops abadr, instead you would use "git revert" to make _new_ commits that reverse the changes made by the commits you don't like07:10
abadr, and then apply new changes on top of that07:10
abadr, so when remote repos pull, all they see are new commits and they will be happy. even though some of those commits essentially undo or throw away existing commits07:11
abadr first, how do I get master back to the remote master?07:11
sh1mmer left07:12
loops abadr, assuming you haven't made any more commits or done anything else.. git reset --hard HEAD@{1}07:13
aigon joined07:13
loops abadr, which reverts to the commit saved in the reflog (praise the reflog)07:13
abadr whew. ok07:13
loops abadr, did ya do that?07:14
abadr yep07:14
loops abadr, okay.. the reflog is a great safety valve for stuff like this07:14
fujin <3 reflog07:14
snokat joined07:15
snokat http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg2190173307:16
http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg2190173307:16
http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg21901733 http://vkontakte.ru/reg2190173307:16
Adlai interesting07:17
abadr cool links bro07:17
loops not really07:17
Adlai I love how if you check which channels these spambots are in, they always pick #ubuntu07:17
snokat left07:18
abadr loops: now what? :)07:18
loops abadr, doh.. yeah.. we're not done are we ;o)07:18
abadr, okay this should work... git checkout branch ; git merge -s ours master ; git checkout master ; git reset --hard branch"07:21
justin-george left07:22
loops abadr, that assumes that branch and master have a common ancestor at some point.. ie. diverged from each other07:22
abadr yep07:22
hyperair joined07:22
abadr hey, I think that worked07:26
loops abadr, it should. you should double check cause i'm not in top form tonight ;o)07:26
jjuran joined07:26
abadr well i've learned from you anyway :) thanks for all your help07:26
siprbaum joined07:27
loops abadr, np, good luck with it07:28
aigon left07:30
Aikawa_ joined07:42
ph^ joined07:42
JED3 left07:45
sdboyer left07:48
Guest33124 joined07:51
Aikawa left07:54
cloudhead left07:54
ciskje joined07:55
dreiss joined08:01
kpreid__ left08:01
kpreid_ joined08:01
PerStrandh joined08:02
machrider left08:02
warthog9 left08:03
Azeroth-Work left08:04
segher joined08:06
qhoxie left08:09
abadr left08:09
yaotti left08:10
PerStrandh left08:14
ludde joined08:15
jfxberns joined08:18
Yewbacca joined08:21
abadr joined08:25
jaysern left08:27
ph^_ joined08:29
Adlai` joined08:30
Adlai left08:30
Adlai`Adlai08:30
ciskje left08:34
j416 joined08:35
VVSiz_VVSiz08:35
pantsman joined08:36
lightcap_ left08:39
xide joined08:39
relix joined08:39
xide i need 9 ppl to register at this link, that's kinda of a promotion in the russian facebook) sum1 do me a favour, spend 2 minutes of ur life and follow this link http://vk.com/reg48018008:39
thiago_home no08:42
djszapi How can I delete the files that are under revision control, but they took part in the .gitignore file, something similar like git-clean -x without removing the untracked files.08:42
thiago_home djszapi: git clean removes untracked files only08:42
djszapi: it never removes tracked files08:42
djszapi: to remove tracked files, use git rm08:43
abadr left08:43
mmarsu joined08:43
djszapi Normally, only files unknown to git are removed, but if the -x option is specified, ignored files are also removed. This can, for example, be useful to remove all build products.08:43
git clean --help08:44
thiago_home djszapi: right08:44
djszapi: but I didn't say ignored08:44
djszapi: I said git clean removes untracked files08:44
djszapi: files that are tracked are not untracked. So git clean will not remove them.08:44
djszapi -X08:45
Remove only files ignored by git. This may be useful to rebuild everything from scratch, but keep manually created files.08:45
thiago_home djszapi: a file that is tracked is not ignored.08:45
djszapi Ah-ok08:45
Aides xide, get a life08:45
djszapi Okay, then how can I delete automatically the files from .gitignore rules ?08:45
DavidKlein joined08:45
thiago_home djszapi: parse the rules and execute git rm for each of the files that match08:46
DavidKlein left08:46
DavidKlein joined08:46
doener djszapi: git ls-files -c -i --exclude-standard -z | xargs -0r git rm --cached08:47
djszapi thanks.08:47
loops djszapi, git rm $(grep -v '#' .gitignore)08:48
djszapi thanks both of them.08:48
doener loops: that lacks the --cached part, and doesn't handle !rules08:48
loops doener, details details... but you're right of course ;o)08:48
doener (and the grep should look for '^#'08:49
loops bah... now yer just being pedantic08:49
djszapi hehe08:50
loops it works on the vast majority of .gitignore's, but there are a few corner cases like you say08:50
dreiss left08:50
doener loops: makes a difference for e.g. linux-2.6.git ;-)08:50
loops surrenders to reality and admits it was a horrible suggestion08:51
loops not to mention somebody could put /* in the .gitignore08:52
i want it out of the archives now :oP08:52
xide left08:53
doener loops: "fatal: '/*' is outside the repository"08:53
loops yeah.. saved by "git rm"08:53
c15c8ra1n left08:53
loops i think i'll cut my losses and go fill out that form for xide08:53
doener nooooo08:54
loops heh08:54
doener will be more careful next time08:54
pantsman left08:54
kpreid_ left08:54
kpreid_ joined08:54
warthog9 joined08:55
mmarsu left08:57
ixti joined09:05
TheUni left09:06
TheUni joined09:06
djszapi How can I use git am from command line efficiently ?09:08
selckin man git-am09:08
Gitbot selckin: the git-am manpage can be found at http://git.or.cz/man/git-am09:08
djszapi I use it now from mutt, because the mail filenames isn't reasonable09:08
but if I can identify the patch mail efficiently, I'd use git am from command line, if it's possible.09:08
doener djszapi: hm? I don't understand that "the mail filesnames isn't reasonable" part09:09
djszapi: I usually just tag the mail series in mutt, copy them to a new mbox, and apply that using git am09:09
sitaram gets a feeling of deja vu -- someone else was explaining this yesterday, I dont recall to whom09:10
hyperair left09:11
hyperair joined09:11
doener wasn't responsible for either side, and wouldn't remember anyway09:11
hyperair left09:12
djszapi doener: why do you copy then ?09:12
If you're in mutt you can presh '|'09:12
and then git am -s09:12
I'd like to be totally independent from any mail client.09:13
just getmail.09:13
and then I'd like to choose easily the mail, patch inside it09:13
doener djszapi: because I mostly use "git am -3", and if that leads to conflicts, I have to leave mutt anyway09:13
djszapi otherwise if i open a mail client, i can use inside that actions, like in mutt '|'09:13
doener djszapi: repeat the "switch to mutt; apply; conflicts; switch to vim; fix; commit" cycle for ten mails and it's a major pain09:14
djszapi you can use after '|' in mutt git am -s -3 too09:14
doener djszapi: any my mutt instance is usually running with $PWD being $HOME, so I'd have to chdir around, too09:14
djszapi yeah.09:14
lhz joined09:15
djszapi you use 'cd' command before opening mutt.09:15
not ?09:17
pantsman joined09:18
cjs_ For some reason, when I specify --trunk, --branches and --tags to git svn, it fails with "Bad URL passed to RA layer: Unrecognized URL scheme for 'trader' at /usr/lib/git-core/git-svn line 745". Has anybody seen this sort of thing before?09:19
hyperair joined09:19
cjs_ (I've checked to make sure that the URLs are correct and exist in the repo.)09:19
j416 left09:21
loops cjs_, is it an http:// URL ?09:22
cjs_ No, it's a file:/// URL.09:22
However, I did try it with an svn+ssh: URL, as well, and had the same issue.09:23
(My URL structure is /client/project/trunk, /client/project/branch/foo, etc., BTW.)09:23
loops cjs_, don't think it has to do with the structure, others have reported this on the list, but i don't see a good answer :o(09:24
cjs_ Oh dear. That kind of puts a crimp in my plans to convert from subversion....09:24
hyperair left09:25
hyperair joined09:25
loops cjs_, well i'm sure there is a way to resolve it, if mugwump doesn't come on and answer your question here, your best bet is asking on the mailing list09:25
doener cjs_: which git version?09:26
loops doener, good thought09:26
cjs_ version 1.6.0.409:27
BTW, is svn2git obsoleted by git-svn?09:27
doener cjs_: there were IIRC at least two fixes for such errors since then09:27
Octalot joined09:28
travisjeffery joined09:28
doener cjs_: though the "url scheme" part seems new to me, I'd still try a more recent git version09:28
d0k joined09:28
cjs_ Hm. What's involved in trying out a newer version on an Ubuntu system?09:28
loops cjs_, no, they're separate projects09:28
doener cjs_: svn2git warps git-svn09:28
s/warps/wraps/09:29
cjs_ It's more than just grabbing a single binary, isn't it?09:29
doener cjs_: there should be backports available09:29
jfxberns left09:31
rudi_s joined09:32
davido left09:34
cjs_ Ah, found one. Thanks.09:35
jfkw joined09:35
cjs_ This is 1.6.5.1.09:35
doener which is the most recent release09:36
cjs_ Same issue, though.09:38
Axius joined09:38
cjs_ Are there any workarounds? I've got only about four branches I need to import, really, at least in this one project.09:38
doener cjs_: could you pastebin the output you got?09:38
loops cjs_, what version of svn ?09:39
cjs_, can't say i know it matters, but am curious09:40
cjs_ svn 1.5.4, and the only output was "Bad URL passed to RA layer: Unrecognized URL scheme for 'trader' at /usr/lib/git-core/git-svn line 940"09:40
loops cjs_, what command line did you use ?09:40
cjs_ Ok, I've possibly found the issue. I was using --trunk=xxx --branch=xxx --tags=xxx projname, where the xxx was the full URL. If I give just "trunk" "branch" and "tag" as the xxx arguments (i.e., relative), and give the full URL (without /trunk appended) before the projname (the output dir name), it runs, though I've not verified that it actually does the right thing.09:45
doener yeah, the --branches etc. options expect paths relative to $url09:45
cjs_ Ah, well, the docs claim you can use full URLs.09:46
And you can, if you use just --trunk.09:46
kpreid_ left09:47
kpreid__ joined09:47
Axius left09:47
doener cjs_: ah, you were using it without the full url as argument09:47
cjs_: never tried that, didn't expect that to work either09:48
cjs_ Any thoughts on how I might check to see if it's doing the right thing before it's done? It's a rather large repo....09:51
Mikachu you can run gitk in another terminal at any point during the import09:51
Tuomas joined09:52
cjs_ Ah. Actually, git branch -l should show me the branches it's bringing in, shouldn't it? But we're a ways in, and no branches, just the trunk so far. It probably does them after the trunk, though.09:52
Mikachu yeah09:52
mikem` joined09:53
cjs_ It would rather want to, when you think about it. Hm. Well, perhaps I'll go grab some dinner and see where we are when I come back.09:53
Mikachu well, -a, not -l09:53
-l means create reflog :)09:53
cjs_ Oops, yeah, git tag -l.09:54
abms1116 joined09:54
mikem` hi, in the git-svn manpage, the blurb about the --prefix option says, near the end: "Setting a prefix is useful if you wish to track multiple projects that share a common repository." -- could someone elaborate on this? How does this work? I'd like to track multiple projects that are living in the same repo, each in its own dir which contains its set of trunk/, branches/ and tags/ dirs.09:54
cjs_ So I'm not clear on what svn2git does that git svn doesn't.09:54
Mikachu they are just different programs09:54
doener cjs_: It tries to add things like "convert svn tags to git tags", by being a wrapper around git-svn09:55
cjs_ mikem`: You arrived at a very appropos time for that question. :-)09:55
mbuf joined09:56
mikem` haha so it seems09:56
doener cjs_: but it doesn't do that in exactly the smartest/fastest/most correct way09:56
cjs_ By adding the --tags argument to the git-svn command line?09:56
mbuf when there is a conflict during a merge, I manually fix the changes, and then I should just add the modified file, and commit?09:56
doener cjs_: no. That option make git-svn create remote tracking branches for the svn tag09:56
s09:56
cjs_: as tags in svn are just branches, except for convention09:56
cjs_: so to play safe, git-svn treats them like branches09:57
Mikachu mbuf: yes09:57
cjs_ Ah, I see. So I'll actually get out branches, not tags, for svn "tags" pulled in via --tags.09:57
doener cjs_: btw, we're talking about this svn2git, right? http://github.com/jcoglan/svn2git09:57
mbuf Mikachu, thanks!09:57
cjs_ doener: yeah, that's the one I was looking at.09:57
I'm not sure that the other web pages I looked at were talking about that one.09:58
doener cjs_: ok. That has e.g. fix_tags here: http://github.com/jcoglan/svn2git/blob/master/lib/svn2git/migration.rb09:58
cjs_ mikem`: So what exactly are you trying to do?09:58
doener cjs_: that converts the tag-related remote tracking branches into real git tag09:58
s09:58
BurmaSauce joined09:58
doener cjs_: but 99,99% of the time, that straight conversion is _not_ what you want09:59
cjs_: and it wastes a lot of time by doing "git checkout $foo" and then tagging what HEAD resolves to, instead of directly tagging $foo09:59
mikem` I have an SVN repo, with a layout like this: svn://server/projA/{trunk,branches,tags}, svn://server/projB/{trunk,branches,tags} etc. I'm not sure how to track it with git. the git-svn manpage says something about --prefix and multiple projects in the same repo, but I'm not quite clear on how exactly it works10:00
erikvold joined10:01
doener cjs_: http://git.pastebin.com/m6d58772410:02
mikem` ah, I think i get it. I'd need to do a separate `git svn clone --prefix projA/` for each project in the repo. I'd end up with as many git repos as there are projects in the SVN repo10:02
doener cjs_: you want the tag to reference the original commit C, not the bogus commit T that svn had to create10:02
Axius joined10:03
doener cjs_: And if someone was smart enough to change the tag in svn, by committing to it, you likely want some more surgery to get a meaningful history that doesn't have the tag living somewhere outside the "real" branch10:04
cjs_ Hm. I'm not sure I see how much difference that makes, though if you trust the svn repo to use the convention correctly, you might want to drop the "tag branch" entirely.10:04
Fortunately I don't use tags much.10:05
travisjeffery left10:05
therrg joined10:05
doener cjs_: yeah, the tags/1.0.0 remote tracking branch can be dropped later10:05
cjs_: and having the tag referencing C instead of T makes a big difference if you use e.g. "git describe"10:06
cjs_: "git describe E" could tell you that E is a descendant of 1.0.0, being two commits ahead of it. But only if the 1.0.0 tag references C10:06
_Mica1 left10:06
doener cjs_: if it references T, it's outside of E's history, and thus not available to "git describe"10:07
hyperair left10:07
cjs_ Ah!10:07
BurmaSauce left10:08
hyperair joined10:10
vital left10:10
vital joined10:11
erikvold left10:11
jfxberns joined10:15
vvsh joined10:23
patrikf joined10:24
Axius left10:24
therrg left10:25
therrg joined10:26
davido joined10:28
akitada joined10:28
abms1116 left10:29
stamina joined10:31
Yuuhi joined10:32
GodEater left10:33
GodEater joined10:33
__iron joined10:34
akitada Can git-svn handle more than one repository at the same time? One for getting changes and another for saving the changes?10:34
Getting changes in svn repo is easy. The hard part of this plan would be exporting the changes from the git repository and saving it to svn.10:38
kpreid__ left10:40
kpreid_ joined10:40
pantsman I'd use 2 git repos, one cloned from each SVN repo10:42
and pull from one repo to the other before dcommit10:42
Ilari That doesn't work very well...10:42
Maybe format-patch and am to move them as patches might work...10:43
Grahack joined10:43
akitada Ilari: yes, manual patch work seemed to be the only way to accomplish this...10:44
Looking the changes occured in a repo, study easy commit and decide which patch is I wanted to include in my repository and possibly make some adjustments to the commit for my own repo and apply the modified cahnges into my own repo, etc etc...10:47
Ilari: this is what you suggested for me, correct?10:47
and I'd also need another manual patching work for exporting changes in git repo into svn.10:49
Ilari akitada: Well, format-patch and am are for mass patch extraction and mass patching.10:52
trochala joined10:52
Mikachu you can't use rewriteRoot for that?10:53
akitada Ilari: Let me check the format-patch manual.10:55
Blackshark joined10:56
akitada and git-am10:57
charon akitada: if you import the source svn with --no-metadata, you can just rebase the commits onto the destination svn10:58
the --no-metadata is important because the (wrong) git-svn-id lines would confuse git-svn as to what should go where10:58
(or use gfp|am, like Ilari says; a noninteractive rebase is just that)10:59
j416 joined11:01
stschTank`11:03
Arild left11:03
ph^ left11:04
akitada Ilari: well, it helped much. must admit I was missing big help in git here.11:05
charon: gfp?11:07
charon format-patch11:07
akitada Ah *G*it-*F*ormat-*p*atch. ok11:08
bsdvodsky left11:10
akitada charon: as for noMetadata, I suppose it won't work for me, because it's not one shot import but it's continuous.11:11
charon akitada: that doesn't matter as long as you only git svn fetch (not git svn rebase) and take care to not drop the "cache"11:12
jaggz joined11:12
jaggz hi11:12
charon (in this case it's strictly speaking not a cache as it's not expendable)11:12
jaggz do any git users live in Los Angeles and want me to treat them to a coffee or dinner and show me the ins and outs of git usage?11:13
I'm an svn user and I am sad.11:13
aliceinwire_ left11:13
priidu left11:16
corni joined11:17
Pupeno joined11:17
akitada charon: That workflow is something like: git svn fetch; git merge refs/remotes/trunk; git svn dcommit (to destination repo) ?11:17
Pupeno Is there a way to get the number of commits so far?11:17
thijso left11:17
_jason553839 joined11:17
j416 Pupeno: I always do something like: git log --oneline | wc -l11:18
charon akitada: well, from your description i assumed you wanted to copy over the *exact commits*, which a merge can't do11:18
j416 for the current branch11:18
but there may be a better way.11:18
thijso joined11:18
vvsh left11:18
Pupeno j416: --oneline! exactly what I wanted. Thanks.11:18
khmarbaise joined11:18
j416 :)11:18
cjs_ Grr...git svn it didn't load the freaking branches.11:18
charon akitada: you can use a merge but it will look like a big commit bringing over all changes in the destination svn11:18
\\steve a git svn rebase really takes ages on a windows machine11:21
mbufmbuf|away11:21
jwheare joined11:22
kpreid_ left11:24
kpreid_ joined11:24
jwheare i'd like to use git-filter-history to start a new repository based on a single file in another repo11:24
in the past i've used subdirectory-filter, but in this case there's other files in the subdirectory i'm not interested in.11:25
what's the best way to do this?11:25
cjs_ Oh, it did get them; I just needed to use "git branch -a" to see them.11:25
neldoreth joined11:26
j416 jwheare: you want to keep the history of that single file?11:26
jwheare j416: yup11:26
j416 ok11:26
by git-filter-history I presume you mean git-filter-branch11:27
akitada charon: so what does that workflow look like?11:27
jwheare (i meant git-filter-branch) :)11:27
j416 and11:27
it's not hard at all11:27
if you know bash script11:27
cjs_ Ah, but they're just remote branches? What do I need to do (that svn2git does) to get local copies of these branches into my repo?11:28
doener cjs_: to create a branch head, just the usual "git branch <name> <starting-point>"11:28
j416 jwheare: I have never done that exact same thing, but if it were me I would probably use git filter-branch --tree-filter '<cmd>'11:28
doener cjs_: they're remote tracking branches. All the required objects are already local.11:29
j416 where <cmd> is a bash script that removes everything but that file11:29
there may be simpler ways to do it.11:29
neldoreth hello, i have a little question: i want to push something from my branch in my remote git and get now the following error: "To prevent you from losing history, non-fast-forward updates were rejected, Merge the remote changes before pushing again. See the 'non-fast forward'" so i do a git pull, but everything is up to date (same when i say git merge origin/my_branch) - can someone give me a hint?11:29
cjs_ doener: Ah, really?11:29
j416 also, make the script always return 0.11:30
mbuf|awaymbuf11:30
cjs_ So if the remote branch is named remote/foo, I can just "git branch foo remote/foo"?11:30
Ilari neldoreth: Check what branch was rejected and then check what branch you are on. pull merges into current branch.11:30
cjs_ I'm not quite clear on what a "remote tracking branch" is.11:30
j416 possibly --index-filter is faster, I have never used it.11:30
Ilari cjs_: Mirror of branch from another repository.11:30
doener cjs_: git has at least three basic namespaces for refs11:31
cjs_: refs/heads/* for branch heads, refs/tags/* for tags, and refs/remotes/* for remote tracking branches11:31
cjs_: remote tracking branches are (as Ilari said) mirrors of the branch heads of a remote repository, they track a branch in the remote repo, hence the name11:32
charon akitada: git svn fetch -Rsource; git checkout -b tmp source/trunk; git rebase --onto destination/trunk previously_ported_over; git svn dcommit -Rdestination; git branch -f previously_ported_over source/trunk11:32
oh, and delete the 'tmp' branch afterwards ;)11:32
doener cjs_: what "git branch [-r|-a]" shows, are just the shortnames for the [remote tracking] branches11:33
neldoreth Ilari: ah, right - thanks!11:33
brizly left11:33
doener cjs_: so if "git branch" shows a branch head "master", its full name is refs/heads/master11:33
Ilari neldoreth: Hint: Its possible to make command prompt display name of current branch.11:33
kpreid_ left11:33
charon akitada: untested though. the idea is, you use a rebase to "copy over" all new commits from 'source' over to be based on 'destination/trunk' so that you can dcommit there11:33
kpreid_ joined11:33
cjs_ Ah, so when I pull from the other repo, those branches will be updated as well?11:33
Ilari neldoreth: (install git command completion and configure command prompt).11:33
neldoreth Ilari: it does, i am using the zsh with a specific config, but i totally missed that11:34
doener cjs_: when you fetch. "pull" is a convenience command that wraps fetch and merge/rebase11:34
charon akitada: and as i said, it's *really* important that those commits do not have any git-svn-id lines, so you must configure 'source' with --no-metadata11:34
doener cjs_: by default, names of remote tracking branches have the form refs/remotes/<remote>/<branch_head>11:34
brizly joined11:35
aresnick joined11:35
doener cjs_: e.g. the "master" branch head of the remote "origin" is tracked as refs/remotes/origin/master11:35
cjs_: unfortunately, the default for git-svn is to not have that <remote> infix11:35
cjs_: that a) pollutes the namespace and b) can easily make things ambiguous, as git allows those short names to be used11:36
cjs_ Ah, ok. So basically, I can branch from a remote branch, hack away, and my changes will go back to that branch when I push them back.11:36
doener cjs_: from a remote tracking branch (or just "tracking branch", but that name usually leads to confusion, thanks to the --track option to git branch/checkout)11:37
cjs_: a remote branch is the actual thing in the remote repo11:37
cjs_: i.e. you fetch from a remote, getting mirrors of the remote branches locally as remote tracking branches11:38
akitada charon: cool but harder than I hoped. maybe I forgot to mention the src repo is not 100% same with project tracked on destination repo. it's a fork of src repo. so I think it's gfp & am with manual adjustments for my goal it seems.11:39
_jason553839 left11:40
j416 I'm reading in the mercurial document for git users, that if a tag is created with -a in git (to make it an object), it will be global instead of local11:40
I find nothing about this in man git-tag11:40
Gitbot j416: the git-tag manpage can be found at http://git.or.cz/man/git-tag11:40
psoo joined11:40
doener j416: because that's, uhm, inaccurate...11:40
cjs_ So if I'm going to use this as my new master repo, and I want clones of it to be able to access those branches, what do I need to do?11:40
j416 doener: thank you for confirming. :)11:40
so I though11:40
thought*11:40
charon akitada: sure, there are several ways to do the rebase :) e.g., you can also use an interactive rebase to rearrange stuff, or use a merge strategy if required11:40
doener j416: "git tag -a" creates an annotated tag, i.e. a tag object, with message, tagger, date etc.11:41
j416 tags will always be local until you specifically choose to pull or push them, right?11:41
yes11:41
Mikachu fetch will fetch tags that are in the updated range11:41
j416 and just "git tag" is more similar to a symbolic ref, right?11:41
doener j416: while just "git tag" creates just a ref that directly references a commit, no tag object created, thus no message etc.11:41
jwheare j416: thanks for the advice11:41
bentob0x joined11:41
doener j416: no! A symbolic ref references another ref. That would likely be a moving target11:42
j416 jwheare: be careful with merges if you have those, I have never run filter-branch with merges. Maybe it works fine, I don't know :)11:42
oh11:42
thanks :)11:42
ok so, a head then11:42
Ilari Filter-branch works fine with merges since it does filtering commit by commit.11:42
j416 Ilari: ok :)11:42
neat11:42
doener j416: a ref. By "head" one usually means a branch head, i.e. a ref in the refs/heads/ namespace11:42
j416 ok!11:43
charon akitada: but in general, toying with svn histories is easy if you always remember the basic rule: the "target" SVN is always the one referenced in the first git-svn-id reachable through first-parent history11:43
j416 but technically they're the same thing, right?11:43
(apart from the name and storage location)11:43
doener j416: "git tag" always creates a ref in the refs/tags/ namespace. Without -a, the ref will directly reference the object that is to be tagged11:43
j416 yep, my thought. Thanks11:43
doener j416: with "-a", a tag object is created, that has some extra data and references the to be tagged object. And the ref will reference that tag object, instead of the object to be tagged11:44
j416 yeah11:44
doener you can transport either into different repos using fetch/push. But _usually_ the light-weight tags are used locally, and public tags (like for releases) are annotated11:45
but there's no technical reason that would stop you from pushing a lightweight tag11:45
GodEater left11:45
akitada charon: it's impressive you know much about git-svn.11:46
charon akitada: well, not enough anyway, but i used it during an svn-to-svn transition to keep the two repos in sync for a few months :)11:46
akitada charon: for my case, it's not a sync, but more like fork. src repo is not what I manage and I don't have the commit right. git repo and destination svn are what I manage and can commit anything I want.11:48
davido left11:49
davido joined11:49
psoo left11:49
doener cjs_: http://git.pastebin.com/m5451bb1c11:50
akitada charon: so git and dst svn include some changes in src svn (not all) and my haking work. I even delete some of the files in my repos so simply importing changes in src svn should fail.11:50
babilen joined11:50
doener cjs_: so you need to create local branch heads for everything that people cloning your repo should have (unless you want them to resort to manually adjust the configured refspec ;-))11:51
pielgrzym hi there :) when I push into a non-bare repository the changes remain uncommited - how to change this?11:52
bremner pielgrzym: faq non-bare11:53
Gitbot pielgrzym: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare11:53
akitada charon: so it'd be a little harder than your case, unfortunately.11:53
pielgrzym bremner: just realized it would be cooler to have a crossrepo between production eviorment and testing enviorment - not to push direclty into production server :)11:54
corni_ joined11:55
bremner yes. and that crossrepo should be bare11:56
pielgrzym havin a bare repo - how can I set the default branch to other than master?11:56
thiago_home write to HEAD11:56
psoo joined11:56
pielgrzym thiago_home: thanks!11:57
doener left11:58
doener joined11:58
bremner I think git-symbolic-ref can do it too, if you don't like vi11:59
cjs_ doener: Ah, so I was right to create those local branch heads. And should I decide to pull further changes on those from the svn repo, I'll need to rebase my local branches, as well as my master, right?12:02
doener cjs_: yeah. But that rewrites history, and quickly becomes a pain if you share that repo via git12:03
corni left12:03
doener here's a short setup guide for a svn one-way mirror: http://git.or.cz/gitwiki/GitFaq#HowdoImirroraSVNrepositorytogit.3F12:04
aspotashev joined12:04
cjs_ Oh, if I were going to pull further stuff, I'd make it two-way, and dcommit any changes coming in from the git side.12:04
doener cjs_: that's hairy, thus the setup is one-way, you should put any "not yet in svn" stuff in there12:05
cjs_: using git-svn makes you prone to a whole set of svn shortcomings if you dcommit12:05
malumalu joined12:07
cjs_ Hm. I'm confused now. Is using a clone of an svn clone going to be more of an issue than just using an svn clone repo?12:08
charon akitada: yeah. i just used merges as i only had to work around a rename, and sufficiently high rename limits worked well12:08
BurmaSauce_ joined12:08
doener cjs_: yes, if there are any "not in svn" things in the intermediate repo12:09
cjs_: with such commits, you have to rebase, which rewrites history, and forces the downstream repo to deal with that and rewrite its history as well12:09
cjs_ Ah, but I'll be ok if I'm not making changes in the svn repo, right?12:11
doener cjs_: if you don't fetch from the svn repo anymore, it's basically out of the equation, so you're git-only12:11
cjs_ I think I see what you mean now, and I can probably handle that issue. I'm not looking for true interoperation; I'm looking to be able to switch back to svn should a client decide he just can't stand git.12:11
doener cjs_: well, and don't dcommit either12:11
cjs_: basically, as long as you interact with the svn repo, you have a central repo there, even with git-svn.12:12
cjs_: What git-svn offers are primarily local commits then.12:12
cjs_: some "advanced" workflows (that still have quite some flaws), may allow you to do a bit more, but often, it's not worth it12:12
cjs_: note that I'm not trying to say that you may not dcommit at all, you should just not share anything that's not in the svn repo, unless you know what you're doing12:13
j416 left12:14
BurmaSauce_ left12:14
doener cjs_: if you have that central svn mirror, others can do their initial clone from there, and from then on use "svn fetch/rebase/dcommit", ignoring the mirror12:14
cjs_: that way, you share things through the svn repo12:14
cjs_: and that works. But sharing things via "git fetch/push" is kinda dangerous12:15
_jason553839 joined12:15
cjs_ Hm. That's a thought, but I'm actually trying to get rid of svn here. The only real question is, can I work in git for a few weeks, and bring everything back into svn if it doesn't work out for a project.12:15
doener cjs_: as long as you keep your history linear (no merging), that should work12:16
akitada charon: to be honest I still don't get it well on how I could workaround the situation where i'm currently on but I now know I need to be more familiar with git-format-patch, git-am and git-svn. that's better than not knowing where to start :p12:16
doener cjs_: honestly, git-svn is a very nice bandaid if you're forced to work with a svn repo12:16
cjs_: but if you want to look into real git usage, you're probably better off with something where all the (git-)svn restrictions don't affect you12:16
therrg left12:17
cjs_ doener: So, basically, get everybody rebasing from a central git repo before they push to it?12:17
Sonderblade joined12:18
doener cjs_: if you won't dcommit (or only after you declared the git attempt as a failure), then yes, that would likely work.12:18
djszapi How can I view about it a commit in which branch is it ?12:19
doener cjs_: i.e. you create a linear history with git and don't interact with the svn repo, at all, for the time being. Then you should be able to dcommit back to svn later (if you decide to drop the git repos, they'll need a fixup otherwise)12:20
thiago_home djszapi: can you rephrase?12:20
djszapi yep12:20
git show e77336d9a60dc9e0363569cdc3c9630aa24bd6e512:20
Gitbot [git e77336d9a]: http://tinyurl.com/ylqdfpj -- send-email: confirm on empty mail subjects12:20
doener guesses "git branch --contains <committish>"12:20
djszapi e.g. I would like to get information about this commit, in which branch is it12:20
e.g.12:20
thiago_home that's what I'm guessing to12:20
cjs_ doener: Right, that's easy enough to do, since it fits in with the svn working style we've been doing all along.12:20
thiago_home yeah, git branch --contains12:20
djszapi the output is empty prompt12:21
without any informations.12:21
thiago_home then it's in none of your local branches12:21
djszapi Do i need to clone first of all the branch ?12:21
thiago_home try git branch -a --contains12:21
djszapi remotes/origin/{next,pu}12:22
doener cjs_: it's a quite limited workflow for git though ;-)12:22
djszapi How can I get describtion about a branch, why is it established and what does it's name cover ?12:22
g0bl1n left12:22
thiago_home djszapi: post to the mailing list12:23
djszapi it's a faq I think.12:24
BurmaSauce_ joined12:24
djszapi It's needed to be desribed somewhere.12:24
BurmaSauce_ left12:24
doener didn't understand the question, especially the second part12:25
djszapi doener: what does it mean e.g. next/pu branch ?12:25
and why was it established/created ?12:25
cjs_ doener: Limited workflow for a little while is not a problem. It still gives us everything we get from svn, and once everybody's comfortable, we can declare we're not using svn any more, and move on to using other useful git features.12:25
tbuehlmann joined12:26
mikem` left12:27
doener cjs_: it's just more painful to rebase all the time. And it probably also leads to keeping the svn "I need to update 50 times a day" syndrome12:27
cjs_: anyway, good luck :-) Have to go12:27
djszapi: there's no "describe a ref" mechanism in git. Such things are usually in READMEs or something like that12:28
djszapi: for git, google "A note from the maintainer"12:28
gitte joined12:28
cjs_ doener: We very much like the "update 50 times a day" thing; it keeps us honest, and keeps merge costs down.12:29
Basically, in an agile world, you want everybody working on something that's as close to production, or what's about to be rolled out to production, as possible.12:30
jstephenson joined12:30
ciskje joined12:31
davido left12:31
jstephenson left12:31
doener dunno, I rather focus on getting my 5-10 commits done to finish a thing, and then merge it once. Instead of getting interrupted over and over again12:32
jstephenson joined12:32
djszapi doener, thiago_home: thanks12:32
bremner cjs_: one thing to keep in mind is that merging works better in git than in svn12:37
or so they tell me. I never really used branches in svn12:37
cjs_ bremner: Sure, but even so, working against code that no longer exists is a waste of time.12:37
bremner cjs_: I'm not here to manage your project for you :)12:38
cjs_ I understand that. :-)12:39
_jason553839 left12:40
cjs_ Basically, there are certain parts of git that are designed for what I would call "slow-moving" projects, with groups that don't talk to each other a lot (i.e., constantly because they're usually all working together in the same room) and don't realize very often (i.e., not several production releases per day at times).12:40
So I just don't worry too much about the features that solve problems I don't have.12:40
bremner s/git/version control/12:40
cjs_ Hm? Well, I was talking about some of the stuff that git makes easy that's harder in svn. Such as doing large merges.12:42
bremner hey, whatever works. Just be aware there are many possibilities with git that were not really there with svn. In particular, I notice really thinking about the commit history as output rather than one piece of code. I think this has important maintenence consequences12:42
cjs_ Can you elaborate on that?12:43
Ilari Get large enough merges (and not just large enough in file count) and the cost of resolving conflicts dwarfs the initial command cost. I have seen merge that took 5 days to resolve.12:43
bremner well, by working on a sequence of commits locally for a bit, I am more able to make them into logical chunks, to support e.g. debugging by bisecting12:44
cjs_ llari: exactly.12:44
brain0 joined12:44
cjs_ bremner: Ah, yes, I've noticed that a bit.12:44
Ilari But often such merges are sign of bad workflow / application organization. Most merges should be easy to resolve.12:46
jaggz- joined12:46
_Mica_ joined12:46
cjs_ llari: Well, I dunno; I frequently do architecture changes that touch many parts of the system. If you think of having to do those as the result of bad application organization, well, yes, that's exactly why the changes were made. :-)12:47
rudi_s_ joined12:48
ixti left12:48
w0rmie joined12:48
w0rmie left12:48
w0rmie joined12:49
selckin what kind of merge takes 5 days?12:51
cjs_ BTW, anybody here use gitosis? Can one have repos in subdirectories of the repositories directory?12:51
selckin 2 teams not talking to each other for a month and rewriting the entire thing?12:51
sitaram cjs_: I believe so; never tried it though12:51
Ilari Ah yeah. Agile tends to use "we can refactor this later" over "design up front". Of course, Waterfall is straw man model.12:51
selckin but doesn't that aslo imply you merge alot and thus keep the sizes down?12:52
corni__ joined12:52
cjs_ llari: Agile does as much design up front as it can. And those who do a lot more design up front usually tend to get it wrong anyway. You're far safer being able to change your design than to hope you get it right the first time, no matter how much time you spend on it the first time.12:53
And besides, those big changes are cheap, so who cares?12:53
tazle_ joined12:53
Ilari selckin: 3 months of changes on one side (history in Git). 2 years of changes on other side (no known version control)... That can't end wel...12:53
And its pretty telling that there was 3 months of changes on one side and ~2years on the other...12:54
rudi_s left12:55
Ilari cjs_: I would rather get the design quickly almost right. Big changes to programs aren't cheap...12:56
psoo_ joined12:57
w0rmie left12:58
Grahack left12:59
cjs_ llari: So would anyone. Agile doesn't mean "don't design." It just means, once you've gotten as far as you can with the design, based on how much you know right now, start implementing rather than just going around in circles.13:01
aigon joined13:03
JasonWoof left13:04
mbufmbuf|away13:05
Bass10 joined13:06
bremner_ joined13:06
Akufen joined13:06
Phurl left13:08
Phurl joined13:08
corni_ left13:08
babilen left13:09
hummingkid left13:10
psoo left13:12
yaotti joined13:12
Akufen left13:15
_Mica_ left13:18
MisterN joined13:19
onigiri joined13:20
trochala left13:20
neunon Is there a way to make git always ignore changes for a specific file (and not commit them with git commit -a), unless the changes are added to the index via 'git add -f'?13:20
selckin gitignore works like that i think13:21
Ilari Except that gitignore is ignored for tracked files.13:22
neunon exactly.13:22
jtdowney joined13:22
djszapi How do I rewrite the author of commit too, git commit --amend can't handle it.13:22
Rhonda djszapi: It can, it has an --author option13:23
djszapi cool13:23
aigon left13:25
djszapi and how can I rewrite a commit e.g. author, in the HEAD^^ commit ?13:25
alley_cat joined13:25
djszapi Can I do it only in the last one ?13:25
git cherry .. ?13:25
gitte djszapi: rebase -i13:25
djszapi: git cherry is unfortunately a pretty useless command, taking a nice and short name from more useful things.13:26
brain0 left13:26
gitte djszapi: with rebase -i, you can rebase, reorder and modify the latest <n> commits.13:26
djszapi: in your case, do "git rebase -i HEAD~2", which will show you the latest two commits in an editor.13:26
djszapi: replace the first "pick" with an "edit".13:27
djszapi nope13:27
http://pastie.org/65944313:27
gitte djszapi: then write and exit, Git will stop after re-applying the 2nd latest commit.13:27
bremner_ Ilari: Isnt there some gitattibutes trick to ignore changes to a tracked file?13:28
djszapi git reset ?13:28
gitte: I can't understand13:28
because i didn't get editor at all.13:28
gitte djszapi: you want to edit a commit when you still have uncommitted changes? That is not the safe way, so djszapi does not allow you to do it.13:28
djszapi: you have local changes!13:28
Ilari There's assume-unchanged, but it has its own problems...13:28
aresnick left13:28
djszapi I need to use git stash13:29
until I edit the 2nd latest commit13:29
that's the best way, right ?13:29
gitte djszapi: or you need to commit them first. That would be the best way.13:29
djszapi It's a not working tree13:29
that I've got now, in this momment13:29
_Mica1 joined13:30
djszapi Is git stash safe and good in such a situation ?13:30
Rhonda Might be.13:31
ab3 joined13:33
schmukkk joined13:34
relix left13:35
jwheare left13:36
babilen joined13:37
yaotti left13:38
Sho_ joined13:39
akitada charon: found your method is introduced in google code http://google-opensource.blogspot.com/2008/05/export-git-project-to-google-code.html13:42
parasti joined13:43
Xeross joined13:43
Xeross How can I undo an old commit (50 commits old or so)13:43
gitte akitada: it is unfortunate that Google Code blessed an inferior method and touted it as a "solution". But using git-svn to "export" Git repositories just loses too much information to be useful.13:45
Xeross: git revert <commit>13:45
jrmuizel joined13:46
akitada gitte: could you show me superior method than git-svn? I'm looking for good export method now.13:47
gitte akitada: no, there is no good method.13:47
selckin use mercurial if you really want to use google code13:47
akitada selckin: I don't use google code, just need to export a git repo into svn.13:48
gitte: even inferior method would be better than nothing :)13:50
BurmaSauce_ joined13:51
BurmaSauce_ left13:52
akitada wish svn will learn git-am someday.13:52
Tichodroma joined13:52
bentob0x left13:52
Tichodroma How do I restrict git log to commits that are not in some specified branch?13:54
djszapi gitte: I did that pick -> edit and I rebased but the 1st last commit was lost.13:54
aspotashev_ joined13:54
djszapi how can I take back ?13:55
Akufen joined13:56
bremner_ akitada: Do you have merges in your history?13:56
akitada bremner_: yes.13:56
bremner_ Sucks to be you13:57
jfxberns left13:57
corni_ joined13:59
akitada bremner_: because it can't be expressed in svn?13:59
bremner_ Afaik correct14:00
Gitzilla gitte: Did the last pic show up OK?14:00
gitte djszapi: unfortunately, Git's user interface is not intuitive and relies on the user to read the output. So maybe you missed the fact that you have to finish the rebase by "git rebase --continue".14:00
Gitzilla: perfect, yes. Thanks!14:00
corni__ left14:00
akitada bremner_: I'll try to keep it flat14:01
djszapi gitte: Did i lost the last commit ? :(14:02
gitte djszapi: you tell me.14:02
djszapi: you can find out by looking at "gitk <branch>".14:02
djszapi yep, but if I use git rebase --continue it couldn't happen ?14:02
gitte djszapi: if your rebase was not finished yet, that will show the old history, and "git branch" will show you that you are on "(no branch)", which is Git's way to say that it is on an unnamed branch.14:03
djszapi * (no branch) <- yep14:05
ivenkys_ joined14:07
aspotashev left14:07
djszapi gitte: cool, thanks14:08
Tichodroma anyone?14:09
djszapi anyone14:09
Xeross left14:09
gitte djszapi: it would be good if you raised awareness of Git's user-unfriendliness with the core developers, because I gave up.14:09
djszapi hm ?14:10
gitte djszapi: did you not have enough problems trying to use Git that you had to ask in this channel? If the user interface of Git was better (i.e. done by somebody who knows something about user interface design), you would not have had to.14:11
mrlemao joined14:12
LiamH joined14:12
djszapi not the userinterface is the problem for me.14:13
the short of git knowledge/experience, I like use command-line, I mainly use command line for my purposes, so it's okay for me absolutely.14:14
jaysern joined14:14
EricInBNE left14:14
mrlemao left14:15
Tank`stsch14:17
gitte djszapi: oh well, then people have to continue to help in this channel.14:17
mbuf|awaymbuf14:17
gitte left14:17
Tichodroma gitte: yeah I also disagree. It's very well documented and the user interface is fine. But It's a complicated technology hence the documentation is a lot to take in.14:17
So asking for help here is very useful.14:17
aigon joined14:18
corni__ joined14:18
aigon left14:19
djszapi gitte, doener, loops @Ilari are all very helpful, sorry for them i didn't mention14:19
aigon joined14:19
Gitzilla The technology is not complicated; the concepts are different than what most SCM users are used to; the documentation could use a lot of work; the UI is inconsistent.14:19
ivenkys left14:20
jrmuizel left14:20
mbufajnr14:20
ajnrmbuf14:20
corni_ left14:21
gunmuc joined14:24
vvsh joined14:29
Tichodroma left14:30
_Mica_ joined14:31
surial joined14:32
surial So, I killed some branches on github via git push origin :branchName...14:32
but if someone else, who had those branches before, does a git pull or git fetch, 'git branch -a' still lists these branches.14:33
How do you fix that?14:33
nape joined14:33
bremner_ left14:34
Aides does git branch -r list them?14:35
kukks joined14:35
bremner surial: man git-remote, look for prune14:36
Gitbot surial: the git-remote manpage can be found at http://git.or.cz/man/git-remote14:36
kampasky joined14:37
aigon left14:38
hummingkid joined14:39
surial bremner: Thanks :) Just what I was looking for.14:39
Is there any easy way I can check why my git repository is relatively large?14:39
I used to check in some deliverables, and am no longer doing that. I can live with removing them retroactively, though, as it's been pushed out to a remote repo, I guess that's not a good plan.14:40
Axius joined14:40
mfilipe joined14:41
parasti left14:42
ianw joined14:43
madewokherd left14:43
j416 joined14:44
_Mica1 left14:44
dirk2 joined14:44
icwiener joined14:44
ianw Does this make sense if I want to remove all of my merge commits from master: git fetch; git rebase origin/master master14:45
yaotti joined14:46
ianw_ joined14:47
ianw left14:47
ianw_ianw14:47
nape left14:48
sitaram should work, I think...14:48
Grahack joined14:49
sitaram but if any of your merges had conflict resolutions etc I'm not sure what happens14:49
bdimcheff joined14:50
jfxberns joined14:54
bremner surial: basically it is like you say; if you can use git-filter-branch, but that will mess up people who already pulled your repo14:56
Mezner joined14:56
mbuf left14:58
doener ianw: all merge commits that aren't also in origin/master14:59
rafpaf` joined14:59
doener sitaram: he'll most likely have to solve them again, unless he has rerere enabled, and hits the same conflicts again. Then rerere should be able to automatically fix them15:00
sitaram: and of course, he might encounter entirely new conflicts15:00
mebus_ joined15:01
j416 left15:01
madewokherd joined15:01
doener surial: http://git.pastebin.com/m5eb2a44b15:01
ilteris__ joined15:02
doener surial: you can save that as, for example, "git-find-large" somewhere in $PATH, make it executable, and then do "git find-large 20", to find the top 20 large objects in your repo15:02
corni_ joined15:03
doener surial: it only considers objects that are required for any ref. Objects that are prunable (either immediately or after a reflog entry expired) are ignored15:03
surial nice.15:03
those prunables go away if I 'git gc', right?15:04
rafpaf left15:04
doener "git gc" will drop objects that are immediately prunable (not reachable through any ref, nor through the reflog), if they're older than 2 weeks (default)15:04
with "git gc --prune=0" it will prune all objects that aren't reachable through any ref nor through the reflogs15:05
and to expire your reflogs (making them empty, might not exactly be what you want), you can do "git reflog expire --expire=0 --all" (or instead of --all, maybe --branches or a specific branch head, whatever you need)15:06
if you know exactly which reflog entry is "bad", you can also drop just that one (though usually you have at least two, one in HEAD's reflog, one in the branch head's reflog)15:06
joevano left15:06
mebus_ is it possible to do git mv in one repository and then if I pull from it to do git mv in the local repo too?15:07
surial got it. This is working great.15:07
mebus_ because now I got dublicate files.15:07
doener surial: note that the path shown for each size is just one name used for that blob.15:07
surial: i.e. if you renamed a file at some point, and run filter-branch to get rid of one version, you might then discover that the script now shows a different name15:08
Pupeno left15:08
doener surial: looking for a paths for a given blob is too expensive15:08
surial bremner: So, it'll mess with other people's stuff, but what if I can tell them all explicitly to git pull? Would that help? Or do they have to toss it and re-clone?15:10
doener: Sure, but, in this case, I recognize the files, and they are indeed the big ones.15:10
doener surial: "git pull" wraps fetch + merge, so that would merge the new history, with what they have (the old history) == major mess up15:10
surial: "git pull --rebase" _might_ work, but of course only if they don't have merge commits locally15:11
surial oh, that makes sense. So they'd basically have to fetch, toss their local branches, and remake them from the remotes.15:11
doener surial: see git-rebase(1) "RECOVERING FROM UPSTREAM REBASE" for a discussion15:12
surial or do that. Okay. Huh. Well, a guesstimate is that the repo size would drop from 100MB to 20MB if I move the website files into a separate project and delete those used-to-be-checked in deliverables.15:12
doener surial: it's basically the same thing15:12
Pupeno joined15:12
surial Okay. Well, we don't have too many contributors _yet_, so now is the time, I guess. Thanks for all the help.15:12
ff joined15:15
bremner surial: just make sure you rebase often, that will keep the number of contributors managable :)15:18
corni__ left15:18
surial bremner: :)15:18
aidan joined15:20
babilen left15:20
qrush|awayqrush15:21
aidan I'm a little confused .. I've got my repos on github, I'm trying to push some changes, but I need to update my repos first (the push is rejected) .. My pull fials with: http://bin.cakephp.org/view/146082353915:24
hugoxrosa joined15:24
cbreak tried to specify?15:24
LiamH I'm trying to add a second remote and check out a branch from it, imitating the first example on the git remote man page http://www.kernel.org/pub/software/scm/git/docs/git-remote.html. However, the second git branch -r shows me the same result as the first. Is there a step missing?15:27
stamina left15:28
zirpu joined15:29
babilen joined15:30
LiamH The git fetch returned no output15:31
belak joined15:31
aidan cbreak: specify what and where15:31
belak left15:31
cbreak specify what the error message told you to specify15:32
the branch you want to merge with15:32
pull apparently is fetch and merge15:32
nevyn_ joined15:33
scarabx joined15:33
aidan there's only one nbranch, master15:34
git pull <repository> <refspec> ... what's repository and refspec?15:35
ff man git-filter-branch15:37
Gitbot ff: the git-filter-branch manpage can be found at http://git.or.cz/man/git-filter-branch15:37
cbreak you can try git pull someremote master15:37
HardPhuck joined15:41
HardPhuck i'm a git first timer so please be gentle :)15:42
how do i commit changes to the master repo?15:42
cbreak commit them locally15:42
then push your changes15:42
jaysern left15:43
Axius_ joined15:43
HardPhuck ah.. push then, let's try15:43
error: unable to create temporary sha1 filename ./objects/fe: File exists15:44
Axius_ I made a script for listing some files in a directoy.What do I need to put in the script to switch directly to that directory?15:44
pcgod left15:44
LiamH OK, I found the problem; I think there's an error in the man page for git remote. It should have said "git fetch <remote-name>".15:44
cbreak Axius_: cd?15:45
nevyn left15:46
dunolie left15:47
ff left15:48
akitada Is there any documentation that describes what each [svn-remote] attribute mean?15:48
yaotti left15:49
davegb3 joined15:49
khmarbaise left15:49
davegb3 left15:50
yaotti_aw joined15:50
yaotti_awyaotti15:50
mfilipe left15:51
magcius left15:52
loops akitada, man git-svn has some info15:53
Gitbot akitada: the git-svn manpage can be found at http://git.or.cz/man/git-svn15:53
loops LiamH, it doesn't have to be a remote-name, it can also be a URL.15:56
LiamH loops: OK, but the example on the man page simply says "git fetch" and that does nothing.15:57
icwiener left15:57
pcgod joined15:57
loops LiamH, that should actually update all your remote tracking branches15:58
LiamH, but it wont update any local branches15:58
Axius left15:58
icwiener joined15:58
loops LiamH, however it will appear to do nothing if you're already up to date. it just returns to the shell prompt15:59
ianw_ joined15:59
ianw left15:59
ianw_ianw15:59
loops LiamH, try "git fetch -v" to prove this15:59
corni__ joined15:59
LiamH loops: Not until I gave the remote name did it pull anything from the new remote. I was already up to date on origin.16:00
dunolie joined16:01
loops LiamH, perhaps there is an issue with the very first time you fetch from a new remote? If you try "git fetch -v" now (without remote name), does it work?16:02
jaysern joined16:02
LiamH loops: Yes, it looks fine.16:02
It was an issue with a first-time fetch from a new remote, but I took the example in the man page to be that situation.16:03
ianw_ joined16:05
ianw left16:05
ianw_ianw16:05
Thell|AwayThell16:06
justin-george joined16:06
HardPhuck hmm i get errors when i try to 'push' could that have anything to do with permissions?16:07
loops HardPhuck, yes.16:07
aidan left16:07
HardPhuck http://pastebin.com/md47ee3d16:07
this16:07
MisterN left16:08
loops LiamH, do you have more than one remote configured ?16:10
LiamH loops: yes16:11
flaguy48 joined16:11
loops LiamH, so, it will only pull from one remote on each invocation, and it will try to pick the appropriate remote based on your currently checked out branch16:12
nadim left16:12
loops LiamH, so until you fetch for the first time, and create a branch from what you fetch, the first remote will be being fetched (and presumably be up-to-date)16:13
LiamH, which instructions were you following in the docs ?16:13
mastro joined16:14
nadim joined16:14
LiamH git help remote, under "EXAMPLES", the first one "Add a new remote, fetch, and check out a branch from it". To the letter, of course with my names substituted.16:15
Ozzy joined16:15
mastro newbie question: what's the best way to abort a merge? (i always used rebase wich let me do --continue or --abort and I cant find the --abort command on git merge)16:15
corni_ left16:15
LiamH The "git fetch" there has no argument, but the response is said to be " * refs/remotes/linux-nfs/master: storing branch ´master´ ..."16:16
I don't think that's right.16:16
Ozzy left16:17
Axius_ left16:18
ianw left16:19
babilen left16:20
mastro I did a git reset --hard HEAD16:20
but I don't know if this is the best way to do so....16:21
TML joined16:23
mastro another thing: I'm doing some testing: I created a new git repo.. then I cloned it with --bare option in another folder... added the bare-repo as remote location and cloned the bare repo in another directory: so now I have 2 directory that track the same repo (all locally)16:24
ianw joined16:25
mastro I noticed it created 2 branch in my remote repo: master and HEAD16:25
why that?16:25
ianw If I have a commit in master and I want to remove a bunch of merge commits with origin/master, can I do this safely: git rebase origin/master master16:25
Fikeis joined16:26
dvyjones joined16:29
dvyjones How do I undo a git-add?16:29
mjf joined16:31
qhoxie joined16:31
wereHamster dvyjones: git reset or git rm --cached16:33
dvyjones git rm --cached doesn't remove the file?16:33
wereHamster only from the index16:33
dvyjones Umm, wait a minute.16:34
Sorry, it wasn't a git-add, but a git-rm (the files are still there.16:34
JED3 joined16:34
wereHamster what exactly did you do?16:34
corni_ joined16:34
dvyjones Nothing.16:34
I just noticed that the commit would remove a lot of files.16:35
wereHamster and you want to undo 'nothing'?16:35
mfilipe joined16:35
tbuehlmann left16:35
qrushqrush|away16:39
schierbeck joined16:40
ianw left16:41
ianw joined16:41
ianw left16:43
cloudhead joined16:46
steveiresteveire_16:48
jtdowney left16:49
corni__ left16:50
jfxberns left16:51
aliceinwire joined16:52
jrmuizel joined16:52
MisterN joined16:53
JED3 left16:53
schlortoo joined16:54
jrmuizel left16:54
_jason553839 joined16:56
compy left16:57
compy_ joined16:57
smuf joined16:58
pheaver joined17:00
GodEater joined17:00
JKac3BEq left17:07
corni__ joined17:09
dreiss joined17:10
objorn left17:11
Mezner left17:14
mastro left17:15
corni_ left17:17
simNIX left17:17
parasti joined17:19
ereslibre joined17:19
jfxberns joined17:21
gitte joined17:22
relix joined17:24
lresende joined17:24
_jason553839 left17:24
Guest33124sdboyer17:26
jtdowney joined17:26
corni_ joined17:26
akitada left17:27
jtdowney left17:27
corni__ left17:28
jtdowney joined17:28
jtdowney left17:29
jtdowney joined17:30
jtdowney left17:31
jtdowney joined17:32
xenoterracide left17:32
eletuchy joined17:33
jtdowney left17:33
jtdowney joined17:34
jtdowney left17:35
defectiv joined17:36
jtdowney joined17:37
xenoterracide joined17:37
jtdowney left17:38
jtdowney joined17:40
abms1116_ joined17:41
jtdowney left17:42
ciskje left17:42
jtdowney joined17:43
abms1116_ left17:44
abms1116 joined17:45
g4mm4 joined17:46
jfxberns left17:47
pantsman left17:49
smuf left17:50
smuf joined17:51
abms1116 left17:53
schlortoo left17:55
dunolie left18:00
jtdowney left18:01
ixti joined18:01
mfilipe left18:03
rafpaf`rafpaf18:03
zirpu left18:05
qrush|awayqrush18:07
mcolyer joined18:10
Tuomas left18:12
mcolyer I am using jgit and I see that GitIndex is deprecated. I would like to be able to check things out but the only way that I can see to do that is using WorkDirCheckout which uses GitIndex. Can someone point me in the right direction?18:12
objorn joined18:12
schierbeck left18:14
dunolie joined18:14
objorn left18:15
loops mcolyer, spearce or robinr would be right people to answer here, but i think you can safely use WorkDirCheckout since it is not marked as deprecated. Likely it will be updated to use DirCache internally at some point18:15
rtl joined18:16
mcolyer loops: Thanks, that helps.18:17
rtl how would I delete a branch name prefixed with a dash?18:18
smuf left18:19
tazDg left18:19
compy_comps18:19
Fissure hm, typically one uses -- to signal end of options with gnu tools18:19
does branch -d -- branchname work?18:19
loops rtl, or git branch -d refs/heads/-branch18:20
surial left18:20
tazDg joined18:20
Fissure why didn't i think of that18:20
the second step is to smack the person that created such a silly branch name18:20
rtl ah trueness.18:20
Fissure: hah, yarly.18:21
loops Fissure, your suggestion worked18:21
Fissure hm, good to know18:22
rtl Yea, both work, thanks peeps.18:22
rolfb joined18:24
aigon joined18:24
alvarezp joined18:29
Aikawa joined18:32
Aikawa_ left18:32
jceb joined18:32
nadim left18:35
ilteris_ left18:35
onigiri left18:36
jaggz do any of you live in Los Angeles?18:36
nadim joined18:36
danzat joined18:38
qhoxie left18:38
danzat Any idea what would make git really slow when cloning/pulling?18:38
Fissure danzat: slow network, slow computers....18:39
danzat Fissure, I can assure you it's not that18:39
Fissure is it using cpu or sitting there?18:39
danzat just sitting there18:40
hanging18:40
taking its time18:40
Fissure over what protocol?18:40
danzat git://18:40
schierbeck joined18:41
schierbeck left18:41
jaysern left18:41
danzat is it using some specific port maybe?18:41
Fissure git:// is port 941818:41
danzat I'll try to open it18:41
loops danzat, is the problem specific to cloning a specific repo? maybe that repo is just large and needs repacking18:42
Fissure heh, yeah, having the connection time out could cause that kind of slowness :P18:42
danzat no18:42
i get this from two hosts18:42
Fissure the repos don't have a huge number of branches/tags, do they?18:43
danzat no18:43
do you want to try yourself?18:43
enherit joined18:43
qrushqrush|away18:43
loops danzat, sure. what's the link18:44
danzat git://git.tuxfamily.org/gitroot/qucsqt4dev/qucsqt4.git18:44
bsdvodsky joined18:44
loops yeah, cloned in 15 seconds18:44
danzat still hangs here18:45
defectiv left18:45
loops well hanging is different than slow18:45
likely you have some firewall issure etc18:45
alley_cat left18:45
danzat the firewall isn't on18:45
Ilari danzat: Try to use telnet? If it connects, type crap there and see if it disconnects you then?18:45
danzat and I've opened that port in my router18:46
rolfb danzat: you've stopped the process and retried it?18:46
danzat it gave me this line: "remote: Counting objects: 11499, done." quickly enough18:46
hvoigt joined18:46
Ilari danzat: Then "hung"?18:47
danzat yes18:48
jaggz strace it?18:48
Ilari I would guess it's waiting for data from network...18:49
dirk2 left18:49
jaggz I hate waiting too long for data from network18:49
ephcon joined18:50
Ilari And do idling TCP sockets really time out (the endpoints of connection won't try to maintain them)?18:50
loops danzat, you've tried a few times, and same thing each time?18:51
danzat getting the strace18:51
tehbaut left18:51
tehbaut joined18:52
_Mica_ left18:52
|CheckBit| joined18:52
|CheckBit| left18:52
danzat http://pastebin.mozilla.org/67720118:53
qhoxie joined18:54
danzat I killed it after it hanged18:54
for a minute18:54
Ilari danzat: Completes object negotiation, then starts to wait for pack data, which doesn't arrive.18:55
danzat: Actually, there's child processes involved. Maybe strace with -f would be more useful?18:55
loops Ilari, what about the NAK at 743.. is it normal?18:56
danzat ok18:56
onigiri joined18:56
wshimmy left18:56
Ilari loops: Yes, its normal.18:57
rolfb is there a good way to update a repo according to its .gitignore? by that I mean making the repo behave is if the gitignore was always in place even if its been changed at a later point18:58
i've been using 'cat .gitignore | xargs git rm --cached18:59
hvoigt left18:59
danzat with -f: http://pastebin.mozilla.org/67720418:59
aigon left18:59
thiago_home rolfb: I think you need to do like you're doing: manually19:00
aigon joined19:00
rolfb ok19:00
but what will happen to people who has those files locally in their repo if they pull the repo after i did this?19:01
aigon left19:01
aigon joined19:01
Ilari danzat: What happened to that 30620 process? It didn't seem to enter kernel to wait for anything...19:01
aigon left19:02
loops danzat, that works but has some corner cases. doener came up with better one liner last night: git ls-files -c -i --exclude-standard -z | xargs -0r git rm --cached19:02
aigon joined19:02
aigon left19:03
loops ooh damn.. rolfb ^19:03
jacob_ joined19:03
rolfb loops: ?19:03
jacob_Guest7668819:03
loops rolfb, those files will be removed for them19:03
jchris left19:04
Guest76688j_christ19:04
rolfb thats kinda of bad?19:04
loops rolfb, that line above was for you19:04
rolfb i figured :)19:04
thanks19:04
loops rolfb, well they can recover copies easily enough. But yeah, it's a pain19:05
aigon joined19:05
lenix^ is git supported wel in eclipse?19:05
hvoigt joined19:05
loops lenix^, EGit is actively developed yeah19:05
rolfb our issue is that sqlite3 databases which contains mostly test-data doesn't version great19:06
so it might be better to use a remotely shared test-db?19:06
for our group19:06
bsdvodsky left19:06
loops rolfb, whatever works. You might consider versioning ascii database dumps rather than the binary.19:07
danzat left19:08
rolfb interesting19:08
lenix^ sweet tits19:08
rolfb git won't fuck up the structure?19:09
loops git wont touch it at all19:09
rolfb won't touch the dump?19:09
loops Right.. no more than it would touch the binary database19:09
rolfb i'm not following19:10
loops me either apparently :o)19:10
rolfb if i dump to db to ex: yaml19:11
loops How would Git fuck up the structure? The structure of what?19:11
rolfb yaml has a conscise structure if i want to load the data into the db again19:11
so i'm just wondering if there is a loooooot of lines between parent structure and the new lines from a different merge, if it would fuck up the structure and put the wrong fields in the wrong table19:12
loops I suppose you'd have to be careful when merging, might require a custom merge strategy.19:12
rolfb right19:12
so remote db we do19:12
DrNick why dump to yaml when you can dump to SQL?19:12
rolfb :)19:12
jrmuizel joined19:13
rolfb better consistency between databases19:13
database-types19:13
DrNick ok, whatever, if you want to write your own YAML dumper instead of just using the sqlite3 .dump command, go ahead19:14
rolfb DrNick: yaml db plugin already exist19:14
:)19:14
priidu joined19:15
DrNick echo .dump | sqlite3 blah.db > blah.sql19:15
aigon left19:16
aigon joined19:16
aigon left19:17
keex joined19:17
tjc joined19:19
jrmuizel left19:20
j_christ If someone can help with this, it would be great... So, I can use git-tag to get a list of all tagged commits, but is there a way to tell if the current working directory is tagged?19:21
aigon joined19:21
danzat joined19:22
aigon left19:22
aigon joined19:22
mebus_ left19:23
j_christ Or I guess alternatively, how to get the sha1 for the working directory so that I can compaire it to sha1's in the .git/refs/tag dir?19:23
loops j_christ, maybe something like git describe --tags --exact-match HEAD19:24
j_christ loops, I think I can work with that... Thanks.19:25
rudi_s_ j_christ: git tag --contains $(git rev-parse HEAD) would work too.19:25
hvoigt left19:25
rudi_s_ But loops one is better.19:25
ThellThell|Away19:26
adam12 joined19:27
aigon left19:27
aigon joined19:27
j_christ rudi_s, git tag --contains $(git rev-parse HEAD) does not seem to work as well.19:27
rudi_s_ j_christ: Hm, works for me (but loops one is better anyway).19:29
j_christ rudi_s, if I'm on a tagged branch it returns the tag, but if I'm not, it returned the tag as well.19:30
reidab joined19:30
Ilari danzat: I noticed that that paste seems to be truncated...19:30
rudi_s_ j_christ: Hm, no idea, works for me.19:30
loops j_christ, the --contains means that the tag will be displayed if it is reachable from HEAD (ie. anywhere in the history), whereas exact match means it _is_ the HEAD19:31
j_christ, that is --contains means if HEAD is reachable from a given tag19:31
bremner_ joined19:32
danzat Ilari, http://pastebin.com/m8cb3d2119:32
j_christ loops, I understand... was just reading something about that in man19:32
owen1 joined19:32
tjc left19:32
joevano joined19:32
owen1 i installed gitosis, typing sudo -H -u git gitosis-init < /tmp/id_rsa.pub result in: env: -H: No such file or directory any clues?19:33
c15c8ra1n joined19:34
aigon left19:34
c15c8ra1n left19:34
aigon joined19:35
loops owen1, maybe someone will pipe up with an answer, you might consider gitolite, which is more actively developed these days: http://github.com/sitaramc/gitolite19:35
bremner__ joined19:36
bremner__ left19:36
Rhonda owen1: You used wrong commandline options, -H requires an argument, see man sudo.19:37
owen1 loops: thanks, i'll take a look19:37
Ilari danzat: Okay, looking at situation: The 19 process (sideband demux?) seems to block on network input. 20 process (index-pack) blocks on output from 19 process. 18 process (clone) blocks on output of 19 process.19:38
Rhonda owen1: erm, forget it, did read it wrong myself. I guess your git user doesn't have a home set in your passwd file - or that directory isn't existing.19:38
aigon left19:38
aigon joined19:38
aigon left19:39
aigon joined19:39
aigon left19:39
owen1 Rhonda: what do u mean 'home set in my password file'?19:40
p_masho left19:40
aigon joined19:40
owen1 i have dir called /home/git19:40
Rhonda And is that set as home of the git user?19:41
getent passwd git19:41
danzat Ilari, what does it mean?19:41
aigon left19:41
jaysern joined19:41
bremner__ joined19:42
aigon joined19:42
Ilari danzat: It seems that the hang is because connection hangs...19:42
danzat hm...19:43
aigon left19:43
WALoeIII_ joined19:43
owen1 Rhonda: i think so. i run the adduser command as described on the blog post - sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git19:44
pheaver left19:44
danzat Ilari, can I specify the listening port? maybe I got the wrong port open19:44
WALoeIII_ left19:45
pheaver joined19:45
aigon joined19:45
aigon left19:45
WALoeIII_ joined19:45
Rhonda owen1: If "getent passwd git | cut -d: -f6" does print /home/git then it should be alright. But yes, gitolite might be more interesting these days. :)19:45
Ilari danzat: Definitely not wrong port. The have/want negotiations complete in that trace.19:46
aigon joined19:46
aigon left19:46
aigon joined19:47
sh1mmer joined19:48
eean left19:48
owen1 Rhonda: it printed /home/git. btw, i am using my laptop machine both as server and client so my rsa.pub is not from different machine. could this be the issue?19:48
aigon left19:48
aigon joined19:48
aigon left19:49
owen1 Rhonda: i read about gitolite. the main difference is permission per branch, which i don't really care about. is there anything else?19:49
Ilari owen1: 'sudo -H -u git /bin/bash' complains?19:49
owen1 Ilari: yes. got the same error19:49
Ilari owen1: Looks like sudo is busted...19:49
j_christ Another question... Is there a way to tell if your working directory is dirty (other than git status)?19:50
Ilari owen1: I think one can work around it. 'sudo -u git /bin/bash' does work?19:50
aigon joined19:50
bremner_ left19:50
owen1 Ilari: env: -u: No such file or directory19:50
aigon left19:51
aspotashev_ left19:51
Ilari owen1: Can you get root?19:51
aspotashev joined19:51
aigon joined19:52
aigon left19:52
Rhonda owen1: What does sudo -l give you? If it's longish, pastebin it.19:52
g0bl1n joined19:52
owen1 Rhonda: env: -l: No such file or directory19:52
Rhonda which sudo19:52
Blackshark left19:52
pantsman joined19:53
krynnotaur left19:53
Rhonda I think your sudo is b0rked.19:53
Ilari owen1: root => root shell, that is.19:53
owen1 /usr/bin/sudo19:53
Ilari: i am not sure what do u mean by that. sorry (-:19:53
psoo_psoo19:54
Ilari owen1: Shell as user root.19:54
owen1 Ilari: can u tell me how?19:54
Rhonda owen1: If sudo -l doesn't work then you have a problem. But it's not git related.19:54
Ilari owen1: Maybe sudo works enough for 'sudo /bin/bash'.19:54
jtdowney joined19:55
gitte left19:56
owen1 Ilari: i am confused. what should i type? sudo /bin/bash ?19:56
Ilari owen1: Ah, what's the current user?19:57
bremner_ joined19:57
jtdowney left19:57
owen1 Ilari: i logged in to the machine with oren. is that what u mean?19:57
davido joined19:57
Ilari owen1: Well, does 'sudo /bin/bash' also complain or give a shell?19:57
owen1 Ilari: no complain19:58
bremner_ left19:58
owen1 Ilari: i see bash again19:58
or shell. whatever u call this.19:58
bremner_ joined19:58
Ilari owen1: Try 'whoami'... It should show 'root'.19:59
Florin_ joined19:59
owen1 Ilari: correc19:59
t19:59
Ilari owen1: Then 'su --login git' (note, su, not sudo).19:59
bcardarella joined20:00
loops j_christ, git ls-files --exclude-standard -o -m20:00
tazDg left20:00
WALoeIII left20:00
WALoeIII_WALoeIII20:00
owen1 Ilari: done20:00
DavidKlein left20:00
j_christ loops, cool, thanks.20:00
schierbeck joined20:01
Ilari owen1: Now 'whoami' output should have changed to 'git'. And 'echo $HOME' should show '/home/git', right?20:01
Florin_ left20:01
owen1 Ilari: correct20:01
Ilari owen1: Now try 'gitosis-init </tmp/id_rsa.pub'.20:02
owen1 Ilari: i use ubuntu 9.04, btw20:02
aigon joined20:02
owen1 Ilari: works! so what is the issue with my sudo?20:03
tazDg joined20:03
Ilari owen1: No idea.20:03
JKac3BEq joined20:03
Ilari owen1: Now in another shell, try 'ssh git@localhost'. It should throw complaint about SSH_ORIGINAL_COMMAND.20:03
owen1 Ilari: Ilari correct20:04
dunolie left20:05
Ilari owen1: One final sanity check. 'ls -l ~git/repositories/gitosis-admin.git/hooks/post-update'. What does that show (the whole line)?20:05
owen1 Ilari: i run it as the regular user, not git - ls: cannot access /home/git/repositories/gitosis-admin.git/hooks/post-update: Permission denied20:06
Ilari owen1: Run it as git user.20:07
owen1: Since in normal operation it gets run as gitosis user.20:07
owen1 Ilari: when u say 'run it as a git user' u mean type: su --login git ?20:08
Ilari owen1: Don't you have the shell as git user still open?20:08
owen1 Ilari: ho. ok20:09
Ilari owen1: Well, open one (that sudo and then su should work).20:09
owen1: (some command line params needed, see the commands in backlog).20:09
owen1 Ilari: -rw-r--r-- 1 git git 69 2009-10-18 13:06 /home/git/repositories/gitosis-admin.git/hooks/post-update20:10
Ilari owen1: Ouch. Chmod 755 that file.20:10
owen1: After that, it should show '-rwxr-xr-x 1 git git 69 2009-10-18 13:06 /home/git/repositories/gitosis-admin.git/hooks/post-update'20:11
schambers1 left20:12
owen1 Ilari: one sec. from some reason i don't have tab complete.20:12
malumalu left20:13
Ilari owen1: Don't you have select and paste?20:13
owen1 Ilari: it asked my for password for the user git. what is it?20:14
Ilari: unless i am suppose to do all this with the user oren or the root?20:14
Ilari owen1: su asks? If you run it as root, it won't.20:14
owen1 Ilari: i run it like this: sudo chmod 755 post-update20:15
(i cd into the correct dir)20:15
Ilari owen1: What does 'whoami' show?20:15
bcardarella left20:15
owen1 Ilari: git20:16
Ilari owen1: Then 'chmod 755 post-update' should work.20:16
reidab left20:16
Stravy joined20:16
jceb left20:16
Ilari owen1: Now 'ls -l post-update' should show that the permissions have changed...20:17
owen1 -rwxr-xr-x20:17
corni__ joined20:17
mbroeker left20:17
Fikeis left20:18
bremner__ left20:18
g0bl1n left20:18
Ilari owen1: Yup. Now you should be set to clone the gitosis admin repo (in normal user shell): 'git clone git@localhost:gitosis-admin.git'.20:18
dwmw2_gone joined20:18
owen1 Ilari: works. thank you!!20:19
Ilari: i am curious to understand what the hell is wrong with my laptop20:19
rleigh left20:19
Ilari owen1: Sudo being busted is OS-level problem...20:20
dunolie joined20:21
aigon left20:21
j_christ left20:21
xanonus joined20:22
jtdowney joined20:22
erikvold joined20:22
rolfb Ilari: not PIBCAP?20:22
err20:22
slabbeh joined20:22
rolfb pibcac20:22
corni__ left20:23
LotR ITYM PEBKAC :)20:23
owen1 what is the main reason for using gitolite over gitosis?20:24
loops owen1, per branch permissions, easier? admin20:24
lenix^ left20:24
corni_ left20:25
Ilari owen1: Well, let's say that you want that sudo fixed before you migrate from gitosis to gitolite. Gitolite is mostly intended to be admined using remote shell...20:25
Pupeno left20:26
Pupeno joined20:27
owen1 Ilari: what should i look for when googling for my issue? ask for help with sudo -l ?20:27
khmarbaise joined20:28
Rhonda owen1: Check what is in your sudoers.20:28
Content of /etc/sudoers that is.20:28
kampasky left20:28
kampasky joined20:29
owen1 Defaults env_reset20:29
root ALL=(ALL) ALL20:29
jaysern left20:30
owen1 %admin ALL=(ALL) ALL20:30
Ilari To me, it looks more like sudo does accept the command, but treats all that -H and -u and those as part of command.20:30
ilteris_ joined20:31
patrikf I read so much sudo -l here. shouldn't that be sudo -i?20:32
bremner__ joined20:35
bremner_ left20:37
Rhonda Ilari: Yes, but I have no clue why it would do that, thought it might be one of the options set in there ...20:38
patrikf: No, sudo -l displays what you can do.20:38
eparis joined20:38
_jason553839 joined20:39
eparis git-am is complaining because the patch tried to change a file that was not in tree. I want to just continue and have it drop that hunk. I can't git-add a file that isn't there (can I?) I can't git-am --resolved.... how do I make it just keep going?20:40
(i'm reordering some patches, so this doesn't surprise me that the file doesn't exist and I'm ok with that)20:42
Grahack left20:42
Ilari eparis: 'git rm --cached <file>' and then 'git am --resolved'?20:42
ludde left20:44
eparis $ git rm --cached fs/notify/fanotify/fanotify.c20:44
fatal: pathspec 'fs/notify/fanotify/fanotify.c' did not match any files20:44
Ilari eparis: 'git status' lists what as unmerged or some other weird status?20:44
eparis is say it's clean.20:45
jaggz- left20:45
Ilari eparis: 'git am --skip' then?20:45
eparis But it did make changes (or should have) to other files.....20:45
Ilari eparis: Well, status should show changes to those files then...20:46
eparis oh well, I'll just do it the hard way, revert all of it, drop that hunk from the mbox, reapply the whole mbox.20:46
reidab joined20:47
qhoxie left20:47
owen1 left20:49
lucs left20:49
khmarbaise_ joined20:52
rtl left20:53
seb_ joined20:57
seb_|Lupin|20:57
rtl joined20:57
|Lupin| good evening, everybody20:57
loops left21:00
khmarbaise left21:00
khmarbaise_khmarbaise21:00
Ilari |Lupin|: Pipe characters because they feel distinctive? :-)21:00
aidan joined21:01
aidan What do I do about this: html/config/core.php: needs update21:01
git pull (gives that)21:02
Ilari aidan: You have uncommitted changes to that file...21:02
bremner__ left21:02
jaysern joined21:03
WALoeIII left21:03
WALoeIII joined21:03
|Lupin| Ilari: | characters for the modulus... that's a way of reminding me to be always positive... :-)21:04
adam12 left21:04
Mezner joined21:07
h0nk joined21:08
_jason553839 left21:10
hvoigt joined21:10
h0nk left21:12
ferdy left21:13
tazDg left21:13
murph joined21:15
aidan Ilari: how can I just pull master and overwrite any changes?21:15
selckin left21:15
ia left21:15
murph Is there a good way to get a diff/diffstat of all changes in the last 24 hours?21:15
keex left21:15
Ilari aidan: 'git stash' and then 'git pull origin master'?21:15
|Lupin| aidan: git reset ?21:16
(speaking under the git experts' control)21:16
oops I'm wrong apparently...21:16
sgh joined21:17
sgh Hi21:17
|Lupin| little question please21:18
I have done something bad with my git repo and now don't know how to make things return to a usable state..21:18
I have commited a change on a file21:18
then modified the file21:18
then wanted to amend the commit21:18
sgh How do I delete a remote branch without having the remote branch persisting in another users clone?21:19
|Lupin| and to do so I thought I had to do a git reset --soft HEAD^21:19
so now I think the file, he index and the commit tree are in three different states.21:19
I'm wondering how to go out of this trap...21:19
abadr joined21:19
ferdy joined21:20
jtdowney left21:20
WALoeIII left21:20
ph^_ left21:21
Ilari |Lupin|: First look at 'git reflog' and back off the reset (with another git reset --soft to suitable state). Then add the changes you want to amend and then commit --amend?21:21
|Lupin| Ilari: thanks ! let me try...21:22
WALoeIII joined21:22
|Lupin| Ilari: actually, what is taken into account by the -amend option ? the content of the index ?21:24
ia joined21:25
drizzd left21:25
tazDg joined21:26
_jason553839 joined21:27
xanonus left21:27
|Lupin| Ilari: I did a git reset --soft HEAD@{1} which worked I think, but git diff does not show any difference for the file I'm interested in, so I'm still confused...21:27
Ilari |Lupin|: It determines what to commit like ordinary commit.21:27
|Lupin|: Maybe 'git diff --cached' does?21:28
hvoigt left21:28
ilteris left21:28
ilteris_ilteris21:28
|Lupin| Ilari: yeah, it wants to remov ethe file I think, because I did a git rm --cached thefile21:29
shall I re-add the file as a whole ?21:29
Ilari |Lupin|: Yeah, unless you want the file removed.21:29
priidu left21:29
|Lupin| Ilari: no no, I really want it.21:31
Ilari: I re-added it iand it works... almost21:31
there are some changes to this file I don't want to commit as part of the ammend21:32
amend21:32
Ilari: so I guess I have to remove them and to re-add the file, so that just the amend part gets in the index...21:32
eparis left21:32
khmarbaise left21:33
|Lupin| Ilari: hmm there is still something I don't understand about comit -amend... it takes into account both the content of the index and the content of the last commit ?21:35
bx2_ joined21:36
smuf joined21:37
swombat joined21:38
swombat Hello... I need some git help...21:38
wagle joined21:38
swombat We've had a bit of a boo-boo... my colleague merged the master branch into the prod branch early, then undid the merge, then committed prod and deployed that... now i did a merge from prod to master, and it's overwritten my changes for the last week or so21:38
i think i know which commits need to be reapplied21:39
how do I reapply them to master? (or to prod)21:39
rtl left21:39
kusma swombat: git cherry-pick?21:39
swombat kusma: that works in the same branch too?21:39
patrikf left21:39
swombat tries21:39
kusma not sure, did you give it a try?21:40
Aikawa_ joined21:40
swombat it works!21:40
kusma :)21:40
icwiener left21:40
Ilari |Lupin|: Only (constructed) index is used in determining what to commit.21:40
|Lupin| Ilari: constructed index ? what's that ?21:40
Ilari |Lupin|: -a, -i, -o, filenames and all that.21:41
tbuehlmann joined21:42
parasti left21:42
loops joined21:43
Sigma left21:43
|Lupin| Ilari: ok21:45
Ilari: btw, not sure it was you or someone else who suggested reading the git Parabble, Git for computer scientists and Git from the bottom up, but the parabbel was a ver nice suggestion, thanks21:45
aidan left21:45
Zenopus_ joined21:46
|Lupin| Ilari: git for computer scientists has many pictures I couln't see, and git botom up was a pdf so I may ask the author if he could send me something easier to read for me, such as a LaTeX file...21:46
aspotashev left21:47
lhz left21:49
bx2_ left21:50
danzat left21:50
danzat joined21:50
Ilari |Lupin|: Running pdftotext on that PDF at least doesn't seem to produce complete garbage...21:50
btipling joined21:51
kur1j left21:52
btipling say I have two branches working on different stuff, both are not the master branch, but both are derived from the master branch21:52
schambers joined21:52
btipling I have a new file in the first branch and I want it in the second branch21:52
|Lupin| Ilari: yeah it often produces something usable... the thing is I like seeing the structure, what is emphasized, etc. Well I'll see, perhaps start with a pdftotext...21:52
btipling how do I get that file without causing problems?21:52
bcardarella joined21:53
|Lupin| anyway... thanks to Ilari and all for so much help provied so far !21:53
btipling: if it's commited, cherry-pick21:53
reidab left21:53
btipling hrm, ok I'll check that command out21:54
thanks |Lupin|21:54
|Lupin| btipling: you are vry welcome !21:54
btipling: you are the first person I can help on #git :)21:54
btipling heh cool21:54
I'm new to git21:54
agenteo joined21:54
_jason553839 left21:54
|Lupin| btipling: so am I :)21:55
good night eveybody !21:55
bye !21:55
|Lupin| left21:55
Aikawa left21:56
Aikawa joined22:00
Zenopus left22:00
Zenopus_Zenopus22:00
zacharyc_ joined22:00
zacharyc_ left22:01
hvoigt joined22:01
hvoigt left22:01
zacharyc_ joined22:01
psoo left22:02
ixti left22:02
scarabx left22:07
rtl joined22:07
rolfb left22:10
bcardarella left22:12
akitada joined22:13
btipling how do I check out another local branch if I don't want to commit changes I have in my current active branch22:16
gunmuc left22:16
Aikawa_ left22:17
btipling ah -f22:17
werdnativ joined22:19
EricInBNE joined22:19
tbuehlmann left22:21
simcop2387 joined22:22
simcop2387 is there a way to setup a default repository for git-push?22:22
i'm sure ts in the manual i'm just having a brain fart right now22:22
werdnativ yes, for each branch. in .git/config22:23
[branch "master"]22:23
remote = origin22:23
merge = refs/heads/master22:23
where origin is your named remote.22:23
simcop2387 ah thanks22:24
Mezner left22:24
Mikachu btipling: that will also delete those changes22:24
reidab joined22:24
werdnativ on a related note, can a branch be linked to multiple remotes?22:24
btipling Mikachu: I didn't actually have any changes, I undid them all, and I didn't want to commit nothing, so it's ok22:24
Mikachu okay22:24
sgh left22:24
werdnativ e.g. pull from one, push to another?22:25
rudi_s_ left22:25
magcius joined22:27
JasonWoof joined22:27
schmukkk left22:27
Ilari werdnativ: No. But one can override what to pull and where to push to.22:29
werdnativ right, just git push somewhere22:29
Stravy left22:30
simcop2387 left22:30
JEEBcz joined22:30
Azeroth-Work joined22:31
slabbeh left22:33
fynn joined22:33
fynn Yo. What do you guys call the permanent branch in that holds the code you actually deploy in production?22:33
onigiri left22:34
Yuuhi left22:34
kardan_kardan22:36
aresnick joined22:37
pantsman left22:39
Bass10 left22:40
chuck fynn: master ;-)22:40
JEEB left22:43
eean joined22:46
JEEBczJEEB22:49
akitada left22:50
thiago_home left22:50
jrmuizel joined22:54
mjf left22:54
Bass10 joined22:56
oneforall joined23:01
akitada joined23:02
oneforall http://pastebin.ca/1628160 any idea why I get this ?23:02
abadr left23:04
rtyler because you have a crappy xmltoman install?23:05
*or*23:05
you're running this somewhere where you cannot allocate as much memory as xmltoman needs and they're not handling E_NOMEM properly?23:06
jrmuizel left23:06
oneforall seems to be something peopel are getting with glibc 2.10.123:06
its in my chroot. compiled fine many times before (have 8GB and less open too than I did many times before) but the diff is glibc2.10.1, gcc4.4.1 .. hmm But I'll check and see the last time I compiled xmltoman.23:08
hachi left23:09
luke-jr left23:12
luke-jr joined23:13
jrmuizel joined23:14
jrmuizel left23:17
pgregory joined23:17
pas left23:17
pgregory hi23:17
Ilari ...23:17
pgregory can anyone tell me why over an smbfs share I'm getting the following error when I push?23:17
fatal: Unable to create temporary file: Permission denied23:18
Haarg joined23:18
pas joined23:18
pgregory I can write to the share, and create directories, and everything, but git fails with that.23:18
Ilari pgregory: Sounds like permission error (remote side).23:18
pgregory Ilari: but I can write to the share, and even write to the folder that contains the git repository.23:18
Ilari pgregory: Is some kind of syscall tracer (strace, etc) available?23:19
pgregory I can create files, delete them, create directories etc.23:19
__iron left23:19
pgregory Ilari: I have strace, but I have no clue how to use it.23:19
Ilari pgregory: 'strace -f <command to trace>'. It outputs trace to stderr...23:20
abadr joined23:21
pgregory the last message before the error is...23:21
[pid 10196] open("./objects/pack/tmp_pack_0U8wO5", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = -1 EACCES (Permission denied)23:21
krynnotaur joined23:22
pgregory aha, I don't have permission to access the .git folder for some reason.23:22
mithro left23:23
pgregory bit it shows up as drwxrwxrwx 1 pgregory root23:23
same as all other files23:23
sergiodj_ joined23:24
pgregory I mean folders23:24
justin-george left23:25
pgregory this is weird, all I want to do is push and go to bed :(23:25
Ilari pgregory: Share permissions on server?23:27
pgregory possibly, however, I haven't actually 'done' anything to forcibly stop access to .git23:27
so unless git itself does that when it creates it, I can't see how.23:27
Ilari pgregory: 'whoami' in shell where push fails prints what? 'pgregory'?23:29
pgregory yes23:29
Ilari pgregory: ... So no rootsquash or so involved...23:30
abadr left23:30
pgregory nope23:30
jrmuizel joined23:30
pgregory I'll have to send a patch now, it's beaten me23:30
fynn OK, again I forgot: how do I create a local foo branch, that would also be tracking a remote branch?23:31
so when I "git push", the remote would have a foo branch as well, with everything my foo branch has.23:31
hachi_ joined23:32
pgregory cheers23:32
pgregory left23:32
d0k left23:32
Ilari fynn: 'git push <remote> foo' (except that doesn't set up the info for pull).23:33
fynn Ilari: yeah, but don't I need to specify anything at foo's creation time?23:33
hachi_hachi23:33
sergiodj_ left23:35
Ilari fynn: Just specify the correct starting point (if current commit isn't correct).23:36
Haarg left23:36
Sonderblade left23:36
dwmw2_gonedwmw2_NRT23:37
akitada left23:39
fynn Ilari: OK, I did: "git checkout -b foo; git push origin foo"23:39
that worked, but foo isn't tracking origin/foo23:39
Ilari fynn: Yeah. Needs 'git config branch.foo.remote origin', 'git config branch.foo.merge refs/heads/foo'.23:41
fynn Ilari: hm, I thought there was some paramter in the branching command to make foo automatically track origin/foo?23:42
plediii joined23:42
reidab left23:43
owen1 joined23:44
Ilari fynn: There is, but the branch to track must exist...23:45
fynn Ilari: *nod*, that's what confused me, thanks :)23:46
schierbeck left23:46
mithro joined23:46
sitaram one trick I have used in the past (easier to remember) is after that "push origin/foo", I'd "git branch -D foo; git checkout -t origin/foo"23:47
defectiv joined23:47
fynn oooh that's very clever23:48
sitaram well I dont know about clever but it gets the job done with stuff my somewhat feebler mind can remember :)23:49
relix left23:49
owen1 i try to add new repo to gitosis. git remote add origin git@localhost:cool_project.git and get: fatal: remote origin already exists. what's the problem?23:50
_ringlej joined23:50
ringlej left23:51
Ilari owen1: The name 'origin' is already in use. Pick another name for remote.23:51
ia left23:52
owen1 Ilari: what does it mean 'name for remote' is this the name i'll use to identify this specific repo?23:52
sergiodj left23:52
Ilari owen1: Short name to designate the repo (that also appears in names of remote tracking branches associated with that repo).23:53
owen1 Ilari: ok, i'll use the project's name, i guess.23:53
sitaram owen1: one normally uses a name referring to the *server* when naming an origin; the fact that many servers host onnly one repo of interest to us notwithstanding :)23:55
sya tomorrow you want to get a second project from there, you'd end up calling it "git clone project-A:project-B.git"23:56
say*23:56
defectiv left23:57
owen1 sitaram: so origin should be an identifier for my server? and will i be able to use it on more projects?23:57
ia joined23:57
sitaram if the server has a related project you want to fetch a branch or something from, sure...23:58
nothing stops you from naming it whatever you want, of course -- I was just saying it might make more sense to name ifafter the server23:58
it23:59
say git.kernel.org has multiple linux repos (various people's linux trees) and you're tracking linus's tree from it23:59
aresnick_ joined23:59

Logs Search ←Prev date Next date→ Channels Documentation